12345678910111213141516171819202122232425262728293031323334353637 |
- // DO NOT PUT #pragma once or include guard check here
- // This header is designed to be able to be included multiple times
-
- // This header is used to temporary undefine all compiler macros in case there is a naming conflict with
- // 3rd party code. Please make sure to always use this paired with the RedefineCompilerMacros.h header.
- //
- // ex.
- //
- // #include "UndefineCompilerMacros.h"
- // #include "Some3rdParty.h"
- // #include "RedefineCompilerMacros.h"
-
- #ifdef DETAIL__COMPILERMACROS_HAD_BEEN_UNDEFINED_BY_UNDEFINECOMPILER_H
- #error "UndefineCompilerMacros.h has been included more than once or RedefineCompilerMacros.h is missing."
- #endif
-
- #if COMPILER_GCC
- #define DETAIL__TEMP_COMPILER_GCC_WAS_1
- #endif
- #undef COMPILER_GCC
-
- #if COMPILER_CLANG
- #define DETAIL__TEMP_COMPILER_CLANG_WAS_1
- #endif
- #undef COMPILER_CLANG
-
- #if COMPILER_MSVC
- #define DETAIL__TEMP_COMPILER_MSVC_WAS_1
- #endif
- #undef COMPILER_MSVC
-
- #if COMPILER_MSVC_EMULATED_BY_CLANG
- #define DETAIL__TEMP_COMPILER_MSVC_EMULATED_BY_CLANG_WAS_1
- #endif
- #undef COMPILER_MSVC_EMULATED_BY_CLANG
-
- #define DETAIL__COMPILERMACROS_HAD_BEEN_UNDEFINED_BY_UNDEFINECOMPILER_H
|