aboutsummaryrefslogtreecommitdiff
path: root/include/Support
diff options
context:
space:
mode:
authorMisha Brukman <brukman+llvm@gmail.com>2003-08-15 20:01:10 +0000
committerMisha Brukman <brukman+llvm@gmail.com>2003-08-15 20:01:10 +0000
commitb60fe7791ef731a80d88d6ec1e327bd43896648d (patch)
tree7d36d258883bb8d6b00b221bac55dadb14f02cda /include/Support
parentb7dc2b92514454e0f428493d266dda2993f74b4b (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_map10
-rw-r--r--include/Support/hash_set8
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
-