| //===-- 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 |