asmjit_apiend.h 1.82 KB
Newer Older
1
2
3
4
5
6
// [AsmJit]
// Complete x86/x64 JIT and Remote Assembler for C++.
//
// [License]
// Zlib - See LICENSE.md file in the package.

7
8
9
10
// [Guard]
#if defined(ASMJIT_API_SCOPE)
# undef ASMJIT_API_SCOPE
#else
11
# error "[asmjit] api-scope not active, forgot to include asmjit_apibegin.h?"
12
13
14
#endif // ASMJIT_API_SCOPE

// ============================================================================
15
// [C++ Support]
16
17
18
19
20
21
22
23
// ============================================================================

// [NoExcept]
#if defined(ASMJIT_UNDEF_NOEXCEPT)
# undef noexcept
# undef ASMJIT_UNDEF_NOEXCEPT
#endif // ASMJIT_UNDEF_NOEXCEPT

24
25
26
27
28
// [NullPtr]
#if defined(ASMJIT_UNDEF_NULLPTR)
# undef nullptr
# undef ASMJIT_UNDEF_NULLPTR
#endif // ASMJIT_UNDEF_NULLPTR
29

30
31
32
33
34
// [Override]
#if defined(ASMJIT_UNDEF_OVERRIDE)
# undef override
# undef ASMJIT_UNDEF_OVERRIDE
#endif // ASMJIT_UNDEF_OVERRIDE
35
36

// ============================================================================
37
// [Compiler Support]
38
39
// ============================================================================

40
41
// [Clang]
#if ASMJIT_CC_CLANG
42
# pragma clang diagnostic pop
43
#endif // ASMJIT_CC_CLANG
44
45

// [GCC]
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#if ASMJIT_CC_GCC
# pragma GCC diagnostic pop
#endif // ASMJIT_CC_GCC

// [MSC]
#if ASMJIT_CC_MSC
# pragma warning(pop)
# if _MSC_VER < 1900
#  if defined(ASMJIT_UNDEF_VSNPRINTF)
#   undef vsnprintf
#   undef ASMJIT_UNDEF_VSNPRINTF
#  endif // ASMJIT_UNDEF_VSNPRINTF
#  if defined(ASMJIT_UNDEF_SNPRINTF)
#   undef snprintf
#   undef ASMJIT_UNDEF_SNPRINTF
#  endif // ASMJIT_UNDEF_SNPRINTF
# endif
#endif // ASMJIT_CC_MSC

// ============================================================================
// [Custom Macros]
67
68
// ============================================================================

69
70
71
72
73
74
// [ASMJIT_NON...]
#undef ASMJIT_NONCONSTRUCTIBLE
#undef ASMJIT_NONCOPYABLE

// [ASMJIT_ENUM]
#undef ASMJIT_ENUM