diff --git a/include/Nazara/Prerequesites.hpp b/include/Nazara/Prerequesites.hpp index dbe478661..13a044f68 100644 --- a/include/Nazara/Prerequesites.hpp +++ b/include/Nazara/Prerequesites.hpp @@ -28,17 +28,14 @@ // Try to identify the compiler #if defined(__BORLANDC__) #define NAZARA_COMPILER_BORDLAND - #define NAZARA_COMPILER_SUPPORTS_CPP11 (defined(__cplusplus) && __cplusplus >= 201103L) #define NAZARA_DEPRECATED(txt) #define NAZARA_FUNCTION __FUNC__ #elif defined(__clang__) #define NAZARA_COMPILER_CLANG - #define NAZARA_COMPILER_SUPPORTS_CPP11 (defined(__cplusplus) && __cplusplus >= 201103L) #define NAZARA_DEPRECATED(txt) __attribute__((__deprecated__(txt))) #define NAZARA_FUNCTION __PRETTY_FUNCTION__ #elif defined(__GNUC__) || defined(__MINGW32__) #define NAZARA_COMPILER_GCC - #define NAZARA_COMPILER_SUPPORTS_CPP11 (defined(__cplusplus) && __cplusplus >= 201103L) #define NAZARA_DEPRECATED(txt) __attribute__((__deprecated__(txt))) #define NAZARA_FUNCTION __PRETTY_FUNCTION__ @@ -50,26 +47,31 @@ #endif #elif defined(__INTEL_COMPILER) || defined(__ICL) #define NAZARA_COMPILER_INTEL - #define NAZARA_COMPILER_SUPPORTS_CPP11 (defined(__cplusplus) && __cplusplus >= 201103L) #define NAZARA_DEPRECATED(txt) #define NAZARA_FUNCTION __FUNCTION__ #elif defined(_MSC_VER) #define NAZARA_COMPILER_MSVC - #define NAZARA_COMPILER_SUPPORTS_CPP11 (_MSC_VER >= 1900) #define NAZARA_DEPRECATED(txt) __declspec(deprecated(txt)) #define NAZARA_FUNCTION __FUNCSIG__ + #if _MSC_VER >= 1900 + #define NAZARA_COMPILER_SUPPORTS_CPP11 + #endif + #pragma warning(disable: 4251) #else #define NAZARA_COMPILER_UNKNOWN - #define NAZARA_COMPILER_SUPPORTS_CPP11 (defined(__cplusplus) && __cplusplus >= 201103L) #define NAZARA_DEPRECATED(txt) #define NAZARA_FUNCTION __func__ // __func__ has been standardized in C++ 2011 #pragma message This compiler is not fully supported #endif -#if !NAZARA_COMPILER_SUPPORTS_CPP11 +#if !defined(NAZARA_COMPILER_SUPPORTS_CPP11) && defined(__cplusplus) && __cplusplus >= 201103L + #define NAZARA_COMPILER_SUPPORTS_CPP11 +#endif + +#ifndef NAZARA_COMPILER_SUPPORTS_CPP11 #error Nazara requires a C++11 compliant compiler #endif