diff options
Diffstat (limited to 'indra/llcommon/llpreprocessor.h')
-rw-r--r-- | indra/llcommon/llpreprocessor.h | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/indra/llcommon/llpreprocessor.h b/indra/llcommon/llpreprocessor.h index 0882472242..4389fd3e30 100644 --- a/indra/llcommon/llpreprocessor.h +++ b/indra/llcommon/llpreprocessor.h @@ -51,12 +51,22 @@ #define MOZILLA_INTERNAL_API 1 #endif -// Deal with minor differences on Unixy OSes. -#if LL_DARWIN || LL_LINUX +// Figure out differences between compilers +#if defined(__GNUC__) #define GCC_VERSION (__GNUC__ * 10000 \ + __GNUC_MINOR__ * 100 \ + __GNUC_PATCHLEVEL__) + #ifndef LL_GNUC + #define LL_GNUC 1 + #endif +#elif defined(__MSVC_VER__) || defined(_MSC_VER) + #ifndef LL_MSVC + #define LL_MSVC 1 + #endif +#endif +// Deal with minor differences on Unixy OSes. +#if LL_DARWIN || LL_LINUX // Different name, same functionality. #define stricmp strcasecmp #define strnicmp strncasecmp @@ -69,9 +79,9 @@ #endif // Deal with the differeneces on Windows -#if LL_WINDOWS +#if LL_MSVC #define snprintf safe_snprintf /* Flawfinder: ignore */ -#endif // LL_WINDOWS +#endif // LL_MSVC // Static linking with apr on windows needs to be declared. #ifdef LL_WINDOWS @@ -90,7 +100,7 @@ // Deal with VC6 problems -#if defined(LL_WINDOWS) +#if LL_MSVC #pragma warning( 3 : 4701 ) // "local variable used without being initialized" Treat this as level 3, not level 4. #pragma warning( 3 : 4702 ) // "unreachable code" Treat this as level 3, not level 4. #pragma warning( 3 : 4189 ) // "local variable initialized but not referenced" Treat this as level 3, not level 4. @@ -101,6 +111,6 @@ #pragma warning( disable : 4503 ) // 'decorated name length exceeded, name was truncated'. Does not seem to affect compilation. #pragma warning( disable : 4800 ) // 'BOOL' : forcing value to bool 'true' or 'false' (performance warning) #pragma warning( disable : 4996 ) // warning: deprecated -#endif // LL_WINDOWS +#endif // LL_MSVC #endif // not LL_LINDEN_PREPROCESSOR_H |