clang: include/clang/Basic/LangStandard.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9#ifndef LLVM_CLANG_BASIC_LANGSTANDARD_H
10#define LLVM_CLANG_BASIC_LANGSTANDARD_H
11
13#include "llvm/ADT/StringRef.h"
14
15namespace llvm {
16class Triple;
17}
18
20
21
22
25
26
28
29
30
33
34
35 C,
44
45};
47
66 HLSL = (1 << 17)
68
69
70
73#define LANGSTANDARD(id, name, lang, desc, features) \
74 lang_##id,
75#include "clang/Basic/LangStandards.def"
78
83
84public:
85
87
88
90
91
93
94
96
97
99
100
102
103
105
106
108
109
111
112
114
115
117
118
120
121
123
124
126
127
129
130
132
133
135
136
138
139
141 }
142
143
145
146
148
149
151
156};
157
159 const llvm::Triple &T);
160
161}
162
163#endif
Forward-declares and imports various common LLVM datatypes that clang wants to use unqualified.
The JSON file list parser is used to communicate input to InstallAPI.
LangStandard::Kind getDefaultLanguageStandard(clang::Language Lang, const llvm::Triple &T)
Language
The language for the input, used to select and validate the language standard and possible actions.
@ CIR
LLVM IR & CIR: we accept these so that we can run the optimizer on them, and compile them to assembly...
@ Asm
Assembly: we accept this only so that we can preprocess it.
StringRef languageToString(Language L)
const FunctionProtoType * T
Diagnostic wrappers for TextAPI types for error reporting.
LangStandard - Information about the properties of a particular language standard.
bool isCPlusPlus20() const
isCPlusPlus20 - Language is a C++20 variant (or later).
bool isCPlusPlus() const
isCPlusPlus - Language is a C++ variant.
bool hasRawStringLiterals() const
hasRawStringLiterals - Language supports R"()" raw string literals.
bool hasHexFloats() const
hasHexFloats - Language supports hexadecimal float constants.
bool isC11() const
isC11 - Language is a superset of C11.
static const LangStandard * getLangStandardForName(StringRef Name)
bool isCPlusPlus17() const
isCPlusPlus17 - Language is a C++17 variant (or later).
bool hasDigraphs() const
hasDigraphs - Language supports digraphs.
clang::Language getLanguage() const
Get the language that this standard describes.
bool isCPlusPlus14() const
isCPlusPlus14 - Language is a C++14 variant (or later).
static Kind getHLSLLangKind(StringRef Name)
const char * getDescription() const
getDescription - Get the description of this standard.
bool isC17() const
isC17 - Language is a superset of C17.
bool isCPlusPlus26() const
isCPlusPlus26 - Language is a post-C++26 variant (or later).
bool isC2y() const
isC2y - Language is a superset of C2y.
bool isCPlusPlus11() const
isCPlusPlus11 - Language is a C++11 variant (or later).
bool isC23() const
isC23 - Language is a superset of C23.
static const LangStandard & getLangStandardForKind(Kind K)
bool isOpenCL() const
isOpenCL - Language is a OpenCL variant.
const char * getName() const
getName - Get the name of this standard.
bool hasLineComments() const
Language supports '//' comments.
bool isCPlusPlus23() const
isCPlusPlus23 - Language is a post-C++23 variant (or later).
bool isGNUMode() const
isGNUMode - Language includes GNU extensions.
static Kind getLangKind(StringRef Name)
bool isC99() const
isC99 - Language is a superset of C99.