| //===-- MIDataTypes.h -------------------------------------------*- C++ -*-===// |
| // |
| // The LLVM Compiler Infrastructure |
| // |
| // This file is distributed under the University of Illinois Open Source |
| // License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| |
| // 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). |
| |
| #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; |
| |
| // Portability issues |
| #ifdef _WIN64 |
| typedef unsigned __int64 size_t; |
| typedef __int64 MIint; |
| typedef unsigned __int64 MIuint; |
| #else |
| #ifdef _WIN32 |
| typedef unsigned int size_t; |
| typedef int MIint; |
| typedef unsigned int MIuint; |
| #else |
| typedef int MIint; |
| typedef unsigned int MIuint; |
| |
| #define MAX_PATH 4096 |
| #endif // _WIN32 |
| #endif // _WIN64 |
| |
| //-------------------------------------------------------------------------------------- |
| // Common types: |
| |
| // Fundamentals: |
| typedef long long MIint64; // 64bit signed integer. |
| typedef unsigned long long MIuint64; // 64bit unsigned integer. |