diff options
Diffstat (limited to 'tools/lldb-mi/MIDataTypes.h')
-rw-r--r-- | tools/lldb-mi/MIDataTypes.h | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/tools/lldb-mi/MIDataTypes.h b/tools/lldb-mi/MIDataTypes.h new file mode 100644 index 000000000000..c7980a8851a3 --- /dev/null +++ b/tools/lldb-mi/MIDataTypes.h @@ -0,0 +1,100 @@ +//===-- MIDataTypes.h -------------------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +//++ +// File: MIDataTypes.h +// +// Overview: Common global switches, macros, etc. +// +// This file contains common data types required by applications +// generally. If supported by the compiler, this file should be +// #include'd as part of the project's PCH (precompiled header). +// +// Environment: Compilers: Visual C++ 12. +// gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1 +// Libraries: See MIReadmetxt. +// +// Copyright: None. +//-- + +#pragma once + +//-------------------------------------------------------------------------------------- +// Windows headers: +#ifdef _WIN32 + +// Debugging: +#ifdef _DEBUG +#include <crtdbg.h> // C-runtime debugging library (defines _ASSERT). +#endif // _DEBUG + +#endif // _WIN32 + +//-------------------------------------------------------------------------------------- +// Common definitions: + +// Function return status +namespace MIstatus +{ + const bool success = true; + const bool failure = false; +} + +// Use to avoid "unused parameter" compiler warnings: +#define MIunused( x ) (void) x; + +#ifdef _WIN32 +#define MI_NO_INITIALIZE_VTABLE __declspec( novtable ) +#define MI_FORCE_INLINE __forceinline +#else +#define MI_NO_INITIALIZE_VTABLE +#define MI_FORCE_INLINE inline +// __attribute__( ( always_inline ) ) +#endif // _WIN32 + +// Portability issues +#ifdef _WIN64 + typedef unsigned __int64 size_t; + typedef unsigned __int64 PointerToInteger_t; + typedef __int64 MIint; + typedef unsigned __int64 MIuint; +#else + #ifdef _WIN32 + typedef unsigned int size_t; + typedef unsigned int PointerToInteger_t; + typedef int MIint; + typedef unsigned int MIuint; + #else +// typedef long unsigned int size_t; // size_t already defined + typedef unsigned int PointerToInteger_t; + typedef int MIint; + typedef unsigned int MIuint; + + #define MAX_PATH 4096 + #endif // _WIN32 +#endif // _WIN64 + +//-------------------------------------------------------------------------------------- +// Common types: + +// Fundamentals: +typedef float MIflt; +typedef double MIdbl; +typedef char MIchar; // Defaults to signed char, i.e. MIschar. +typedef signed char MIschar; // Range: -128 to 127. More explicit than using MIchar. +typedef unsigned char MIuchar; // Range: 0 to 255. +typedef long long MIint64; // 64bit signed integer. +typedef unsigned long long MIuint64; // 64bit unsigned integer. + +//using namespace std; // Better to put this or std:: at translation units scope. + +//-------------------------------------------------------------------------------------- +// Common routines: + +//-------------------------------------------------------------------------------------- |