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.