diff options
author | Misha Brukman <brukman+llvm@gmail.com> | 2003-08-15 20:01:10 +0000 |
---|---|---|
committer | Misha Brukman <brukman+llvm@gmail.com> | 2003-08-15 20:01:10 +0000 |
commit | b60fe7791ef731a80d88d6ec1e327bd43896648d (patch) | |
tree | 7d36d258883bb8d6b00b221bac55dadb14f02cda /include/Support | |
parent | b7dc2b92514454e0f428493d266dda2993f74b4b (diff) |
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
Diffstat (limited to 'include/Support')
-rw-r--r-- | include/Support/hash_map | 10 | ||||
-rw-r--r-- | 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 83480d5205..b6eda7a012 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 <hash_map> 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 <ext/hash_map> #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 <ext/hash_map> #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 <hash_map> -#define HASH_NAMESPACE +#define HASH_NAMESPACE std #endif #endif diff --git a/include/Support/hash_set b/include/Support/hash_set index e69f719ef8..3fb4a3a78c 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 <hash_set> 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 <ext/hash_set> #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 <ext/hash_set> #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 <hash_set> -#define HASH_NAMESPACE +#define HASH_NAMESPACE std #endif #endif @@ -48,4 +53,3 @@ using HASH_NAMESPACE::hash; #include <Support/HashExtras.h> #endif - |