1 //===-- MIDataTypes.h -------------------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // Overview: Common global switches, macros, etc.
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).
18 //--------------------------------------------------------------------------------------
24 #include <crtdbg.h> // C-runtime debugging library (defines _ASSERT).
29 //--------------------------------------------------------------------------------------
30 // Common definitions:
32 // Function return status
35 const bool success = true;
36 const bool failure = false;
39 // Use to avoid "unused parameter" compiler warnings:
40 #define MIunused(x) (void) x;
43 #define MI_NO_INITIALIZE_VTABLE __declspec(novtable)
44 #define MI_FORCE_INLINE __forceinline
46 #define MI_NO_INITIALIZE_VTABLE
47 #define MI_FORCE_INLINE inline
48 // __attribute__( ( always_inline ) )
53 typedef unsigned __int64 size_t;
54 typedef __int64 MIint;
55 typedef unsigned __int64 MIuint;
58 typedef unsigned int size_t;
60 typedef unsigned int MIuint;
63 typedef unsigned int MIuint;
69 //--------------------------------------------------------------------------------------
73 typedef long long MIint64; // 64bit signed integer.
74 typedef unsigned long long MIuint64; // 64bit unsigned integer.
76 // using namespace std; // Better to put this or std:: at translation units scope.
78 //--------------------------------------------------------------------------------------
81 //--------------------------------------------------------------------------------------