Added LLVM notice.
[oota-llvm.git] / include / Support / slist
1 //===-- Support/slist - "Portable" wrapper around slist ---------*- C++ -*-===//
2 // 
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file was developed by the LLVM research group and is distributed under
6 // the University of Illinois Open Source License. See LICENSE.TXT for details.
7 // 
8 //===----------------------------------------------------------------------===//
9 //
10 // This file provides a wrapper around the mysterious <slist> header file that
11 // seems to move around between GCC releases into and out of namespaces at will.
12 // #including this header will cause hash_map to be available in the global
13 // namespace.
14 //
15 //===----------------------------------------------------------------------===//
16
17 #ifndef SUPPORT_SLIST
18 #define SUPPORT_SLIST
19
20 #include "Config/config.h"
21
22 // Compiler Support Matrix
23 //
24 // Version   Namespace   Header File
25 //  2.95.x       ::        slist
26 //  3.0.4       std      ext/slist
27 //  3.1      __gnu_cxx   ext/slist
28 //
29
30 #ifdef HAVE_EXT_SLIST
31 #include <ext/slist>
32 #else
33 #include <slist>
34 #endif
35
36 #if HAVE_EXT_SLIST == std
37 using std::slist;
38 #endif
39
40 #if HAVE_EXT_SLIST == gnu
41 using __gnu_cxx::slist;
42 #endif
43
44 #endif