| //===-- Support/slist - "Portable" wrapper around slist ---------*- C++ -*-===// |
| // |
| // The LLVM Compiler Infrastructure |
| // |
| // This file was developed by the LLVM research group and is distributed under |
| // the University of Illinois Open Source License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| // |
| // This file provides a wrapper around the mysterious <slist> 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 global |
| // namespace. |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #ifndef SUPPORT_SLIST |
| #define SUPPORT_SLIST |
| |
| #include "Config/config.h" |
| |
| // Compiler Support Matrix |
| // |
| // Version Namespace Header File |
| // 2.95.x :: slist |
| // 3.0.4 std ext/slist |
| // 3.1 __gnu_cxx ext/slist |
| // |
| |
| #ifdef HAVE_EXT_SLIST |
| #include <ext/slist> |
| #else |
| #include <slist> |
| #endif |
| |
| #if HAVE_EXT_SLIST == std |
| using std::slist; |
| #endif |
| |
| #if HAVE_EXT_SLIST == gnu |
| using __gnu_cxx::slist; |
| #endif |
| |
| #endif |