]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm/tools/lldb/tools/lldb-mi/MIDataTypes.h
Merge OpenSSL 1.0.2e.
[FreeBSD/FreeBSD.git] / contrib / llvm / tools / lldb / tools / lldb-mi / MIDataTypes.h
1 //===-- MIDataTypes.h -------------------------------------------*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9
10 // Overview:    Common global switches, macros, etc.
11 //
12 //              This file contains common data types required by applications
13 //              generally. If supported by the compiler, this file should be
14 //              #include'd as part of the project's PCH (precompiled header).
15
16 #pragma once
17
18 //--------------------------------------------------------------------------------------
19 // Windows headers:
20 #ifdef _WIN32
21
22 // Debugging:
23 #ifdef _DEBUG
24 #include <crtdbg.h> // C-runtime debugging library (defines _ASSERT).
25 #endif              // _DEBUG
26
27 #endif // _WIN32
28
29 //--------------------------------------------------------------------------------------
30 // Common definitions:
31
32 // Function return status
33 namespace MIstatus
34 {
35 const bool success = true;
36 const bool failure = false;
37 }
38
39 // Use to avoid "unused parameter" compiler warnings:
40 #define MIunused(x) (void) x;
41
42 #ifdef _WIN32
43 #define MI_NO_INITIALIZE_VTABLE __declspec(novtable)
44 #define MI_FORCE_INLINE __forceinline
45 #else
46 #define MI_NO_INITIALIZE_VTABLE
47 #define MI_FORCE_INLINE inline
48 // __attribute__( ( always_inline ) )
49 #endif // _WIN32
50
51 // Portability issues
52 #ifdef _WIN64
53 typedef unsigned __int64 size_t;
54 typedef __int64 MIint;
55 typedef unsigned __int64 MIuint;
56 #else
57 #ifdef _WIN32
58 typedef unsigned int size_t;
59 typedef int MIint;
60 typedef unsigned int MIuint;
61 #else
62 typedef int MIint;
63 typedef unsigned int MIuint;
64
65 #define MAX_PATH 4096
66 #endif // _WIN32
67 #endif // _WIN64
68
69 //--------------------------------------------------------------------------------------
70 // Common types:
71
72 // Fundamentals:
73 typedef long long MIint64;           // 64bit signed integer.
74 typedef unsigned long long MIuint64; // 64bit unsigned integer.
75
76 // using namespace std; // Better to put this or std:: at translation units scope.
77
78 //--------------------------------------------------------------------------------------
79 // Common routines:
80
81 //--------------------------------------------------------------------------------------