 |
Plasma Engine
2.0
|
Loading...
Searching...
No Matches
3#if defined(_MSC_VER) && !defined(__clang__)
5# undef PL_COMPILER_MSVC
6# define PL_COMPILER_MSVC PL_ON
8# if __clang__ || __castxml__
9# undef PL_COMPILER_MSVC_CLANG
10# define PL_COMPILER_MSVC_CLANG PL_ON
12# undef PL_COMPILER_MSVC_PURE
13# define PL_COMPILER_MSVC_PURE PL_ON
17# undef PL_COMPILE_FOR_DEBUG
18# define PL_COMPILE_FOR_DEBUG PL_ON
23# define PL_ALWAYS_INLINE __forceinline
25# if PL_ENABLED(PL_COMPILE_FOR_DEBUG)
26# define PL_FORCE_INLINE inline
28# define PL_FORCE_INLINE __forceinline
32# define PL_ALIGNMENT_OF(type) PL_COMPILE_TIME_MAX(PL_ALIGNMENT_MINIMUM, PL_COMPILE_TIME_MIN(sizeof(type), __alignof(type)))
34# if PL_ENABLED(PL_COMPILE_FOR_DEBUG) || (_MSC_VER >= 1929 )
36# define PL_DEBUG_BREAK \
43# define PL_DEBUG_BREAK \
46 MSVC_OutOfLine_DebugBreak(); \
51# if PL_ENABLED(PL_COMPILER_MSVC_CLANG)
52# define PL_SOURCE_FUNCTION __PRETTY_FUNCTION__
54# define PL_SOURCE_FUNCTION __FUNCTION__
57# define PL_SOURCE_LINE __LINE__
58# define PL_SOURCE_FILE __FILE__
63# if _MSC_VER >= 1400 && PL_DISABLED(PL_COMPILER_MSVC_CLANG)
64# define PL_VA_NUM_ARGS_HELPER(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, N, ...) N
65# define PL_VA_NUM_ARGS_REVERSE_SEQUENCE 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1
66# define PL_LEFT_PARENTHESIS (
67# define PL_RIGHT_PARENTHESIS )
68# define PL_VA_NUM_ARGS(...) PL_VA_NUM_ARGS_HELPER PL_LEFT_PARENTHESIS __VA_ARGS__, PL_VA_NUM_ARGS_REVERSE_SEQUENCE PL_RIGHT_PARENTHESIS
71# define PL_WARNING_PUSH() __pragma(warning(push))
72# define PL_WARNING_POP() __pragma(warning(pop))
73# define PL_WARNING_DISABLE_MSVC(_x) __pragma(warning(disable \
76# define PL_DECL_EXPORT __declspec(dllexport)
77# define PL_DECL_IMPORT __declspec(dllimport)
78# define PL_DECL_EXPORT_FRIEND __declspec(dllexport)
79# define PL_DECL_IMPORT_FRIEND __declspec(dllimport)
82# define PL_MSVC_ANALYSIS_WARNING_PUSH __pragma(warning(push))
83# define PL_MSVC_ANALYSIS_WARNING_POP __pragma(warning(pop))
84# define PL_MSVC_ANALYSIS_WARNING_DISABLE(warningNumber) __pragma(warning(disable \
86# define PL_MSVC_ANALYSIS_ASSUME(expression) __assume(expression)
90# define PL_WARNING_DISABLE_MSVC(_x)
94# define PL_MSVC_ANALYSIS_WARNING_PUSH
95# define PL_MSVC_ANALYSIS_WARNING_POP
96# define PL_MSVC_ANALYSIS_WARNING_DISABLE(warningNumber)
97# define PL_MSVC_ANALYSIS_ASSUME(expression)