clang 20.0.0git
|
LangStandard - Information about the properties of a particular language standard. More...
#include "clang/Basic/LangStandard.h"
Public Types | |
enum | Kind { lang_unspecified } |
Public Member Functions | |
const char * | getName () const |
getName - Get the name of this standard. | |
const char * | getDescription () const |
getDescription - Get the description of this standard. | |
clang::Language | getLanguage () const |
Get the language that this standard describes. | |
bool | hasLineComments () const |
Language supports '//' comments. | |
bool | isC99 () const |
isC99 - Language is a superset of C99. | |
bool | isC11 () const |
isC11 - Language is a superset of C11. | |
bool | isC17 () const |
isC17 - Language is a superset of C17. | |
bool | isC23 () const |
isC23 - Language is a superset of C23. | |
bool | isC2y () const |
isC2y - Language is a superset of C2y. | |
bool | isCPlusPlus () const |
isCPlusPlus - Language is a C++ variant. | |
bool | isCPlusPlus11 () const |
isCPlusPlus11 - Language is a C++11 variant (or later). | |
bool | isCPlusPlus14 () const |
isCPlusPlus14 - Language is a C++14 variant (or later). | |
bool | isCPlusPlus17 () const |
isCPlusPlus17 - Language is a C++17 variant (or later). | |
bool | isCPlusPlus20 () const |
isCPlusPlus20 - Language is a C++20 variant (or later). | |
bool | isCPlusPlus23 () const |
isCPlusPlus23 - Language is a post-C++23 variant (or later). | |
bool | isCPlusPlus26 () const |
isCPlusPlus26 - Language is a post-C++26 variant (or later). | |
bool | hasDigraphs () const |
hasDigraphs - Language supports digraphs. | |
bool | hasRawStringLiterals () const |
hasRawStringLiterals - Language supports R"()" raw string literals. | |
bool | isGNUMode () const |
isGNUMode - Language includes GNU extensions. | |
bool | hasHexFloats () const |
hasHexFloats - Language supports hexadecimal float constants. | |
bool | isOpenCL () const |
isOpenCL - Language is a OpenCL variant. | |
Static Public Member Functions | |
static Kind | getLangKind (StringRef Name) |
static Kind | getHLSLLangKind (StringRef Name) |
static const LangStandard & | getLangStandardForKind (Kind K) |
static const LangStandard * | getLangStandardForName (StringRef Name) |
Public Attributes | |
const char * | ShortName |
const char * | Description |
unsigned | Flags |
clang::Language | Language |
LangStandard - Information about the properties of a particular language standard.
Definition at line 72 of file LangStandard.h.
Enumerator | |
---|---|
lang_unspecified |
Definition at line 73 of file LangStandard.h.
|
inline |
getDescription - Get the description of this standard.
Definition at line 90 of file LangStandard.h.
References Description.
|
static |
Definition at line 74 of file LangStandards.cpp.
References lang_unspecified.
Referenced by clang::driver::toolchains::HLSLToolChain::TranslateArgs().
|
static |
Definition at line 66 of file LangStandards.cpp.
References lang_unspecified.
Referenced by getLangStandardForName().
|
static |
Definition at line 55 of file LangStandards.cpp.
References lang_unspecified.
Referenced by getLangStandardForName(), clang::CodeGen::CodeGenModule::Release(), clang::LangOptions::setLangDefaults(), and clang::driver::toolchains::HLSLToolChain::TranslateArgs().
|
static |
Definition at line 84 of file LangStandards.cpp.
References getLangKind(), getLangStandardForKind(), and lang_unspecified.
Referenced by clang::driver::tools::solaris::Linker::ConstructJob().
|
inline |
Get the language that this standard describes.
Definition at line 93 of file LangStandard.h.
References Language.
Referenced by clang::driver::tools::solaris::Linker::ConstructJob().
|
inline |
getName - Get the name of this standard.
Definition at line 87 of file LangStandard.h.
References ShortName.
Referenced by clang::driver::toolchains::HLSLToolChain::TranslateArgs().
|
inline |
hasDigraphs - Language supports digraphs.
Definition at line 135 of file LangStandard.h.
References clang::Digraphs, and Flags.
|
inline |
hasHexFloats - Language supports hexadecimal float constants.
Definition at line 148 of file LangStandard.h.
References Flags, and clang::HexFloat.
|
inline |
Language supports '//' comments.
Definition at line 96 of file LangStandard.h.
References Flags, and clang::LineComment.
|
inline |
hasRawStringLiterals - Language supports R"()" raw string literals.
Definition at line 138 of file LangStandard.h.
References isC99(), isCPlusPlus(), isCPlusPlus11(), and isGNUMode().
|
inline |
isC11 - Language is a superset of C11.
Definition at line 102 of file LangStandard.h.
References clang::C11, and Flags.
|
inline |
isC17 - Language is a superset of C17.
Definition at line 105 of file LangStandard.h.
References clang::C17, and Flags.
|
inline |
isC23 - Language is a superset of C23.
Definition at line 108 of file LangStandard.h.
References clang::C23, and Flags.
|
inline |
isC2y - Language is a superset of C2y.
Definition at line 111 of file LangStandard.h.
References clang::C2y, and Flags.
|
inline |
isC99 - Language is a superset of C99.
Definition at line 99 of file LangStandard.h.
References clang::C99, and Flags.
Referenced by clang::driver::tools::solaris::Linker::ConstructJob(), and hasRawStringLiterals().
|
inline |
isCPlusPlus - Language is a C++ variant.
Definition at line 114 of file LangStandard.h.
References clang::CPlusPlus, and Flags.
Referenced by hasRawStringLiterals().
|
inline |
isCPlusPlus11 - Language is a C++11 variant (or later).
Definition at line 117 of file LangStandard.h.
References clang::CPlusPlus11, and Flags.
Referenced by hasRawStringLiterals().
|
inline |
isCPlusPlus14 - Language is a C++14 variant (or later).
Definition at line 120 of file LangStandard.h.
References clang::CPlusPlus14, and Flags.
|
inline |
isCPlusPlus17 - Language is a C++17 variant (or later).
Definition at line 123 of file LangStandard.h.
References clang::CPlusPlus17, and Flags.
|
inline |
isCPlusPlus20 - Language is a C++20 variant (or later).
Definition at line 126 of file LangStandard.h.
References clang::CPlusPlus20, and Flags.
|
inline |
isCPlusPlus23 - Language is a post-C++23 variant (or later).
Definition at line 129 of file LangStandard.h.
References clang::CPlusPlus23, and Flags.
|
inline |
isCPlusPlus26 - Language is a post-C++26 variant (or later).
Definition at line 132 of file LangStandard.h.
References clang::CPlusPlus26, and Flags.
|
inline |
isGNUMode - Language includes GNU extensions.
Definition at line 145 of file LangStandard.h.
References Flags, and clang::GNUMode.
Referenced by clang::driver::tools::solaris::Linker::ConstructJob(), and hasRawStringLiterals().
|
inline |
isOpenCL - Language is a OpenCL variant.
Definition at line 151 of file LangStandard.h.
References Flags, and clang::OpenCL.
const char* clang::LangStandard::Description |
Definition at line 81 of file LangStandard.h.
Referenced by getDescription().
unsigned clang::LangStandard::Flags |
Definition at line 82 of file LangStandard.h.
Referenced by hasDigraphs(), hasHexFloats(), hasLineComments(), isC11(), isC17(), isC23(), isC2y(), isC99(), isCPlusPlus(), isCPlusPlus11(), isCPlusPlus14(), isCPlusPlus17(), isCPlusPlus20(), isCPlusPlus23(), isCPlusPlus26(), isGNUMode(), and isOpenCL().
clang::Language clang::LangStandard::Language |
Definition at line 83 of file LangStandard.h.
Referenced by getLanguage(), and clang::CodeGen::CodeGenModule::Release().
const char* clang::LangStandard::ShortName |
Definition at line 80 of file LangStandard.h.
Referenced by getName().