From b60fe7791ef731a80d88d6ec1e327bd43896648d Mon Sep 17 00:00:00 2001 From: Misha Brukman Date: Fri, 15 Aug 2003 20:01:10 +0000 Subject: [PATCH] hash_map and hash_set: * Define HASH_NAMESPACE to `std' in the case of pre-3.0 GCC compilers * Add comments to clarify the intent of all the #ifdef madness * Add VIM directive to highlight files as C++ git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7903 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/Support/hash_map | 10 +++++++--- include/Support/hash_set | 8 ++++++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/include/Support/hash_map b/include/Support/hash_map index 83480d5205a..b6eda7a0127 100644 --- a/include/Support/hash_map +++ b/include/Support/hash_map @@ -1,5 +1,6 @@ //===-- Support/hash_map - "Portable" wrapper around hash_map ---*- C++ -*-===// -// +// vim:ft=cpp +// // This file provides a wrapper around the mysterious header file // that seems to move around between GCC releases into and out of namespaces at // will. #including this header will cause hash_map to be available in the @@ -21,19 +22,22 @@ #include "Config/config.h" #ifdef HAVE_GNU_EXT_HASH_MAP - +// This is for GCC-3.1+ which puts hash in ext/hash_map #include #define HASH_NAMESPACE __gnu_cxx #else +// This is for GCC-3.0.x which puts hashmap in the `ext' directory. #ifdef HAVE_STD_EXT_HASH_MAP #include #define HASH_NAMESPACE std #else +// This handles older, pre-3.0 GCC which do not have the extentions in the `ext' +// directory, and ignore the `std' namespace. #include -#define HASH_NAMESPACE +#define HASH_NAMESPACE std #endif #endif diff --git a/include/Support/hash_set b/include/Support/hash_set index e69f719ef8e..3fb4a3a78cc 100644 --- a/include/Support/hash_set +++ b/include/Support/hash_set @@ -1,4 +1,5 @@ //===-- Support/hash_set - "Portable" wrapper around hash_set ---*- C++ -*-===// +// vim:ft=cpp // // This file provides a wrapper around the mysterious header file // that seems to move around between GCC releases into and out of namespaces at @@ -22,18 +23,22 @@ #ifdef HAVE_GNU_EXT_HASH_SET +// This is for GCC-3.1+ which puts hashset in ext/hash_set #include #define HASH_NAMESPACE __gnu_cxx #else +// This is for GCC-3.0.x which puts hashmap in the `ext' directory. #ifdef HAVE_STD_EXT_HASH_SET #include #define HASH_NAMESPACE std #else +// This handles older, pre-3.0 GCC which do not have the extentions in the `ext' +// directory, and ignore the `std' namespace. #include -#define HASH_NAMESPACE +#define HASH_NAMESPACE std #endif #endif @@ -48,4 +53,3 @@ using HASH_NAMESPACE::hash; #include #endif - -- 2.11.0