mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-05 14:34:55 +00:00
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
This commit is contained in:
parent
b7dc2b9251
commit
b60fe7791e
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user