Work around MSVC's lack of standard _Pragma support
This commit is contained in:
+1
-1
@@ -199,7 +199,7 @@ IF(MSVC)
|
||||
IF(HAVE_PERMISSIVE_SWITCH)
|
||||
SET(C_FLAGS ${C_FLAGS} $<$<COMPILE_LANGUAGE:CXX>:/permissive->)
|
||||
ENDIF()
|
||||
SET(C_FLAGS ${C_FLAGS} /W4 /w14640 /wd4065 /wd4200 /wd4268 /wd4324)
|
||||
SET(C_FLAGS ${C_FLAGS} /W4 /w14640 /wd4065 /wd4268 /wd4324)
|
||||
|
||||
IF(NOT DXSDK_DIR)
|
||||
STRING(REGEX REPLACE "\\\\" "/" DXSDK_DIR "$ENV{DXSDK_DIR}")
|
||||
|
||||
+7
-7
@@ -12,19 +12,19 @@
|
||||
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#define DIAGNOSTIC_PUSH _Pragma("warning(push)")
|
||||
#define DIAGNOSTIC_PUSH __pragma(warning(push))
|
||||
#define GNUDIAGNOSTIC(x)
|
||||
#define MVSDIAGNOSTIC(x) _Pragma(x)
|
||||
#define DIAGNOSTIC_POP _Pragma("warning(pop)")
|
||||
#define MVSDIAGNOSTIC(...) __pragma(__VA_ARGS__)
|
||||
#define DIAGNOSTIC_POP __pragma(warning(pop))
|
||||
#elif defined(__GNUC__) || defined(__clang__)
|
||||
#define DIAGNOSTIC_PUSH _Pragma("GCC diagnostic push")
|
||||
#define GNUDIAGNOSTIC(x) _Pragma(x)
|
||||
#define MVSDIAGNOSTIC(x)
|
||||
#define MVSDIAGNOSTIC(...)
|
||||
#define DIAGNOSTIC_POP _Pragma("GCC diagnostic push")
|
||||
#else
|
||||
#define DIAGNOSTIC_PUSH
|
||||
#define GNUDIAGNOSTIC(x)
|
||||
#define MVSDIAGNOSTIC(x)
|
||||
#define MVSDIAGNOSTIC(...)
|
||||
#define DIAGNOSTIC_POP
|
||||
#endif
|
||||
|
||||
@@ -113,7 +113,7 @@ inline T* assume_aligned(T *ptr) noexcept
|
||||
* destructor is trivial (a no-op). So disable that warning for this call.
|
||||
*/
|
||||
DIAGNOSTIC_PUSH
|
||||
MVSDIAGNOSTIC("warning(disable : 4100)")
|
||||
MVSDIAGNOSTIC(warning(disable : 4100))
|
||||
template<typename T>
|
||||
inline void destroy_at(T *ptr) { ptr->~T(); }
|
||||
DIAGNOSTIC_POP
|
||||
@@ -258,7 +258,7 @@ struct FlexArray {
|
||||
const index_type mSize;
|
||||
DIAGNOSTIC_PUSH
|
||||
GNUDIAGNOSTIC("GCC diagnostic ignored \"-Wpedantic\"")
|
||||
MVSDIAGNOSTIC("warning(disable : 4200)")
|
||||
MVSDIAGNOSTIC(warning(disable : 4200))
|
||||
alignas(alignment) element_type mArray[0];
|
||||
DIAGNOSTIC_POP
|
||||
|
||||
|
||||
Reference in New Issue
Block a user