aboutsummaryrefslogtreecommitdiff
path: root/tools/lldb-mi/MIDataTypes.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/lldb-mi/MIDataTypes.h')
-rw-r--r--tools/lldb-mi/MIDataTypes.h100
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:
+
+//--------------------------------------------------------------------------------------