diff --git a/src/network/utils/sgi-hashmap.h b/src/network/utils/sgi-hashmap.h index 27fb463a0..5f40087fb 100644 --- a/src/network/utils/sgi-hashmap.h +++ b/src/network/utils/sgi-hashmap.h @@ -8,28 +8,34 @@ /* To use gcc extensions. */ #ifdef __GNUC__ - #if __GNUC__ < 3 - #include -namespace sgi { using ::hash_map; }; // inherit globals - #else - #if __GNUC__ < 4 - #include - #if __GNUC_MINOR__ == 0 -namespace sgi = std; // GCC 3.0 - #else -namespace sgi = ::__gnu_cxx; // GCC 3.1 and later - #endif - #else // gcc 4.x and later - #if __GNUC_MINOR__ < 3 - #ifdef __clang__ + #if __GNUC__ < 3 // GCC 2.x + #include + namespace sgi { using ::hash_map; }; // inherit globals + #else + #if __GNUC__ < 4 // GCC 3.x + #include + #if __GNUC_MINOR__ == 0 + namespace sgi = std; // GCC 3.0 + #else + namespace sgi = ::__gnu_cxx; // GCC 3.1 and later + #endif + #else + #if __GNUC__ < 5 // GCC 4.x + #if __GNUC_MINOR__ < 3 // GCC 4.0, 4.1 and 4.2 + #ifdef __clang__ // Clang identifies as GCC 4.2 + #undef __DEPRECATED + #endif + #include + namespace sgi = ::__gnu_cxx; + #else #undef __DEPRECATED + #include + namespace sgi = ::__gnu_cxx; #endif - #include -namespace sgi = ::__gnu_cxx; - #else -#undef __DEPRECATED - #include -namespace sgi = ::__gnu_cxx; + #else // GCC 5.x + #undef __DEPRECATED + #include + namespace sgi = ::__gnu_cxx; #endif #endif #endif