From 3edd12c1911407d051bad549bbd5bd0f5c4559af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vedran=20Mileti=C4=87?= Date: Thu, 5 Mar 2015 15:50:18 +0100 Subject: [PATCH] Fix building with GCC 5 and subsequently clean up sgi-hashmap.h --- src/network/utils/sgi-hashmap.h | 46 +++++++++++++++++++-------------- 1 file changed, 26 insertions(+), 20 deletions(-) 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