1 /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 Copyright (c) 2008-2017, Petr Kobalicek 3 4 This software is provided 'as-is', without any express or implied 5 warranty. In no event will the authors be held liable for any damages 6 arising from the use of this software. 7 8 Permission is granted to anyone to use this software for any purpose, 9 including commercial applications, and to alter it and redistribute it 10 freely, subject to the following restrictions: 11 12 1. The origin of this software must not be misrepresented; you must not 13 claim that you wrote the original software. If you use this software 14 in a product, an acknowledgment in the product documentation would be 15 appreciated but is not required. 16 2. Altered source versions must be plainly marked as such, and must not be 17 misrepresented as being the original software. 18 3. This notice may not be removed or altered from any source distribution. 19 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ 20 // [AsmJit] 21 // Complete x86/x64 JIT and Remote Assembler for C++. 22 // 23 // [License] 24 // Zlib - See LICENSE.md file in the package. 25 26 // [Guard] 27 #if defined(ASMJIT_API_SCOPE) 28 # undef ASMJIT_API_SCOPE 29 #else 30 # error "[asmjit] api-scope not active, forgot to include asmjit_apibegin.h?" 31 #endif // ASMJIT_API_SCOPE 32 33 // ============================================================================ 34 // [C++ Support] 35 // ============================================================================ 36 37 // [NoExcept] 38 #if defined(ASMJIT_UNDEF_NOEXCEPT) 39 # undef noexcept 40 # undef ASMJIT_UNDEF_NOEXCEPT 41 #endif // ASMJIT_UNDEF_NOEXCEPT 42 43 // [NullPtr] 44 #if defined(ASMJIT_UNDEF_NULLPTR) 45 # undef nullptr 46 # undef ASMJIT_UNDEF_NULLPTR 47 #endif // ASMJIT_UNDEF_NULLPTR 48 49 // [Override] 50 #if defined(ASMJIT_UNDEF_OVERRIDE) 51 # undef override 52 # undef ASMJIT_UNDEF_OVERRIDE 53 #endif // ASMJIT_UNDEF_OVERRIDE 54 55 // ============================================================================ 56 // [Compiler Support] 57 // ============================================================================ 58 59 // [Clang] 60 #if ASMJIT_CC_CLANG 61 # pragma clang diagnostic pop 62 #endif // ASMJIT_CC_CLANG 63 64 // [GCC] 65 #if ASMJIT_CC_GCC 66 # pragma GCC diagnostic pop 67 #endif // ASMJIT_CC_GCC 68 69 // [MSC] 70 #if ASMJIT_CC_MSC 71 # pragma warning(pop) 72 # if _MSC_VER < 1900 73 # if defined(ASMJIT_UNDEF_VSNPRINTF) 74 # undef vsnprintf 75 # undef ASMJIT_UNDEF_VSNPRINTF 76 # endif // ASMJIT_UNDEF_VSNPRINTF 77 # if defined(ASMJIT_UNDEF_SNPRINTF) 78 # undef snprintf 79 # undef ASMJIT_UNDEF_SNPRINTF 80 # endif // ASMJIT_UNDEF_SNPRINTF 81 # endif 82 #endif // ASMJIT_CC_MSC 83 84 // ============================================================================ 85 // [Custom Macros] 86 // ============================================================================ 87 88 // [ASMJIT_NON...] 89 #undef ASMJIT_NONCONSTRUCTIBLE 90 #undef ASMJIT_NONCOPYABLE 91 92 // [ASMJIT_ENUM] 93 #undef ASMJIT_ENUM 94