1 //===-- LangStandards.def - Language Standard Data --------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
11 #error "LANGSTANDARD must be defined before including this file"
14 /// LANGSTANDARD(IDENT, NAME, DESC, FEATURES)
16 /// \param IDENT - The name of the standard as a C++ identifier.
17 /// \param NAME - The name of the standard.
18 /// \param DESC - A short description of the standard.
19 /// \param FEATURES - The standard features as flags, these are enums from the
20 /// clang::frontend namespace, which is assumed to be be available.
23 LANGSTANDARD(c89, "c89",
26 LANGSTANDARD(c90, "c90",
29 LANGSTANDARD(iso9899_1990, "iso9899:1990",
33 LANGSTANDARD(c94, "iso9899:199409",
34 "ISO C 1990 with amendment 1",
35 C89 | Digraphs | ImplicitInt)
37 LANGSTANDARD(gnu89, "gnu89",
38 "ISO C 1990 with GNU extensions",
39 BCPLComment | C89 | Digraphs | GNUMode | ImplicitInt)
40 LANGSTANDARD(gnu90, "gnu90",
41 "ISO C 1990 with GNU extensions",
42 BCPLComment | C89 | Digraphs | GNUMode | ImplicitInt)
45 LANGSTANDARD(c99, "c99",
47 BCPLComment | C99 | Digraphs | HexFloat)
48 LANGSTANDARD(c9x, "c9x",
50 BCPLComment | C99 | Digraphs | HexFloat)
51 LANGSTANDARD(iso9899_1999,
52 "iso9899:1999", "ISO C 1999",
53 BCPLComment | C99 | Digraphs | HexFloat)
54 LANGSTANDARD(iso9899_199x,
55 "iso9899:199x", "ISO C 1999",
56 BCPLComment | C99 | Digraphs | HexFloat)
58 LANGSTANDARD(gnu99, "gnu99",
59 "ISO C 1999 with GNU extensions",
60 BCPLComment | C99 | Digraphs | GNUMode | HexFloat)
61 LANGSTANDARD(gnu9x, "gnu9x",
62 "ISO C 1999 with GNU extensions",
63 BCPLComment | C99 | Digraphs | GNUMode | HexFloat)
66 LANGSTANDARD(c1x, "c1x",
68 BCPLComment | C99 | C1X | Digraphs | HexFloat)
69 LANGSTANDARD(iso9899_201x,
70 "iso9899:201x", "ISO C 201X",
71 BCPLComment | C99 | C1X | Digraphs | HexFloat)
73 LANGSTANDARD(gnu1x, "gnu1x",
74 "ISO C 201X with GNU extensions",
75 BCPLComment | C99 | C1X | Digraphs | GNUMode | HexFloat)
78 LANGSTANDARD(cxx98, "c++98",
79 "ISO C++ 1998 with amendments",
80 BCPLComment | CPlusPlus | Digraphs)
81 LANGSTANDARD(cxx03, "c++03",
82 "ISO C++ 1998 with amendments",
83 BCPLComment | CPlusPlus | Digraphs)
84 LANGSTANDARD(gnucxx98, "gnu++98",
85 "ISO C++ 1998 with amendments and GNU extensions",
86 BCPLComment | CPlusPlus | Digraphs | GNUMode)
88 LANGSTANDARD(cxx0x, "c++0x",
89 "ISO C++ 2011 with amendments",
90 BCPLComment | CPlusPlus | CPlusPlus0x | Digraphs)
91 LANGSTANDARD(cxx11, "c++11",
92 "ISO C++ 2011 with amendments",
93 BCPLComment | CPlusPlus | CPlusPlus0x | Digraphs)
94 LANGSTANDARD(gnucxx0x, "gnu++0x",
95 "ISO C++ 2011 with amendments and GNU extensions",
96 BCPLComment | CPlusPlus | CPlusPlus0x | Digraphs | GNUMode)
97 LANGSTANDARD(gnucxx11, "gnu++11",
98 "ISO C++ 2011 with amendments and GNU extensions",
99 BCPLComment | CPlusPlus | CPlusPlus0x | Digraphs | GNUMode)
102 LANGSTANDARD(opencl, "cl",
104 BCPLComment | C99 | Digraphs | HexFloat)
107 LANGSTANDARD(cuda, "cuda",
109 BCPLComment | CPlusPlus | Digraphs)