First cut at the Code Generator using the TableGen methodology.
[oota-llvm.git] / include / Support / slist
1 //===-- Support/slist - "Portable" wrapper around slist ---------*- C++ -*-===//
2 //
3 // This file provides a wrapper around the mysterious <slist> header file that
4 // seems to move around between GCC releases into and out of namespaces at will.
5 // #including this header will cause hash_map to be available in the global
6 // namespace.
7 //
8 //===----------------------------------------------------------------------===//
9
10 #ifndef SUPPORT_SLIST_H
11 #define SUPPORT_SLIST_H
12
13 // Compiler Support Matrix
14 //
15 // Version   Namespace   Header File
16 //  2.95.x       ::        slist
17 //  3.0.4       std      ext/slist
18 //  3.1      __gnu_cxx   ext/slist
19 //
20 #if __GNUC__ == 3
21 #include <ext/slist>
22
23 #if __GNUC_MINOR__ == 0
24 using std::slist;
25 #else
26 using __gnu_cxx::slist;
27 #endif
28
29 #else
30 // GCC 2.x
31 #include <slist>
32 #endif
33
34 #endif