clang  19.0.0git
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
clang::LangStandard Struct Reference

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. More...
 
const char * getDescription () const
 getDescription - Get the description of this standard. More...
 
clang::Language getLanguage () const
 Get the language that this standard describes. More...
 
bool hasLineComments () const
 Language supports '//' comments. More...
 
bool isC99 () const
 isC99 - Language is a superset of C99. More...
 
bool isC11 () const
 isC11 - Language is a superset of C11. More...
 
bool isC17 () const
 isC17 - Language is a superset of C17. More...
 
bool isC23 () const
 isC23 - Language is a superset of C23. More...
 
bool isCPlusPlus () const
 isCPlusPlus - Language is a C++ variant. More...
 
bool isCPlusPlus11 () const
 isCPlusPlus11 - Language is a C++11 variant (or later). More...
 
bool isCPlusPlus14 () const
 isCPlusPlus14 - Language is a C++14 variant (or later). More...
 
bool isCPlusPlus17 () const
 isCPlusPlus17 - Language is a C++17 variant (or later). More...
 
bool isCPlusPlus20 () const
 isCPlusPlus20 - Language is a C++20 variant (or later). More...
 
bool isCPlusPlus23 () const
 isCPlusPlus23 - Language is a post-C++23 variant (or later). More...
 
bool isCPlusPlus26 () const
 isCPlusPlus26 - Language is a post-C++26 variant (or later). More...
 
bool hasDigraphs () const
 hasDigraphs - Language supports digraphs. More...
 
bool isGNUMode () const
 isGNUMode - Language includes GNU extensions. More...
 
bool hasHexFloats () const
 hasHexFloats - Language supports hexadecimal float constants. More...
 
bool isOpenCL () const
 isOpenCL - Language is a OpenCL variant. More...
 

Static Public Member Functions

static Kind getLangKind (StringRef Name)
 
static Kind getHLSLLangKind (StringRef Name)
 
static const LangStandardgetLangStandardForKind (Kind K)
 
static const LangStandardgetLangStandardForName (StringRef Name)
 

Public Attributes

const char * ShortName
 
const char * Description
 
unsigned Flags
 
clang::Language Language
 

Detailed Description

LangStandard - Information about the properties of a particular language standard.

Definition at line 71 of file LangStandard.h.

Member Enumeration Documentation

◆ Kind

Enumerator
lang_unspecified 

Definition at line 72 of file LangStandard.h.

Member Function Documentation

◆ getDescription()

const char* clang::LangStandard::getDescription ( ) const
inline

getDescription - Get the description of this standard.

Definition at line 89 of file LangStandard.h.

References Description.

◆ getHLSLLangKind()

LangStandard::Kind LangStandard::getHLSLLangKind ( StringRef  Name)
static

◆ getLangKind()

LangStandard::Kind LangStandard::getLangKind ( StringRef  Name)
static

Definition at line 66 of file LangStandards.cpp.

◆ getLangStandardForKind()

const LangStandard & LangStandard::getLangStandardForKind ( Kind  K)
static

◆ getLangStandardForName()

const LangStandard * LangStandard::getLangStandardForName ( StringRef  Name)
static

◆ getLanguage()

clang::Language clang::LangStandard::getLanguage ( ) const
inline

Get the language that this standard describes.

Definition at line 92 of file LangStandard.h.

References Language.

Referenced by clang::driver::tools::solaris::Linker::ConstructJob().

◆ getName()

const char* clang::LangStandard::getName ( ) const
inline

getName - Get the name of this standard.

Definition at line 86 of file LangStandard.h.

References ShortName.

Referenced by clang::driver::toolchains::HLSLToolChain::TranslateArgs().

◆ hasDigraphs()

bool clang::LangStandard::hasDigraphs ( ) const
inline

hasDigraphs - Language supports digraphs.

Definition at line 131 of file LangStandard.h.

References clang::Digraphs, and Flags.

◆ hasHexFloats()

bool clang::LangStandard::hasHexFloats ( ) const
inline

hasHexFloats - Language supports hexadecimal float constants.

Definition at line 137 of file LangStandard.h.

References Flags, and clang::HexFloat.

◆ hasLineComments()

bool clang::LangStandard::hasLineComments ( ) const
inline

Language supports '//' comments.

Definition at line 95 of file LangStandard.h.

References Flags, and clang::LineComment.

◆ isC11()

bool clang::LangStandard::isC11 ( ) const
inline

isC11 - Language is a superset of C11.

Definition at line 101 of file LangStandard.h.

References clang::C11, and Flags.

◆ isC17()

bool clang::LangStandard::isC17 ( ) const
inline

isC17 - Language is a superset of C17.

Definition at line 104 of file LangStandard.h.

References clang::C17, and Flags.

◆ isC23()

bool clang::LangStandard::isC23 ( ) const
inline

isC23 - Language is a superset of C23.

Definition at line 107 of file LangStandard.h.

References clang::C23, and Flags.

◆ isC99()

bool clang::LangStandard::isC99 ( ) const
inline

isC99 - Language is a superset of C99.

Definition at line 98 of file LangStandard.h.

References clang::C99, and Flags.

Referenced by clang::driver::tools::solaris::Linker::ConstructJob().

◆ isCPlusPlus()

bool clang::LangStandard::isCPlusPlus ( ) const
inline

isCPlusPlus - Language is a C++ variant.

Definition at line 110 of file LangStandard.h.

References clang::CPlusPlus, and Flags.

◆ isCPlusPlus11()

bool clang::LangStandard::isCPlusPlus11 ( ) const
inline

isCPlusPlus11 - Language is a C++11 variant (or later).

Definition at line 113 of file LangStandard.h.

References clang::CPlusPlus11, and Flags.

◆ isCPlusPlus14()

bool clang::LangStandard::isCPlusPlus14 ( ) const
inline

isCPlusPlus14 - Language is a C++14 variant (or later).

Definition at line 116 of file LangStandard.h.

References clang::CPlusPlus14, and Flags.

◆ isCPlusPlus17()

bool clang::LangStandard::isCPlusPlus17 ( ) const
inline

isCPlusPlus17 - Language is a C++17 variant (or later).

Definition at line 119 of file LangStandard.h.

References clang::CPlusPlus17, and Flags.

◆ isCPlusPlus20()

bool clang::LangStandard::isCPlusPlus20 ( ) const
inline

isCPlusPlus20 - Language is a C++20 variant (or later).

Definition at line 122 of file LangStandard.h.

References clang::CPlusPlus20, and Flags.

◆ isCPlusPlus23()

bool clang::LangStandard::isCPlusPlus23 ( ) const
inline

isCPlusPlus23 - Language is a post-C++23 variant (or later).

Definition at line 125 of file LangStandard.h.

References clang::CPlusPlus23, and Flags.

◆ isCPlusPlus26()

bool clang::LangStandard::isCPlusPlus26 ( ) const
inline

isCPlusPlus26 - Language is a post-C++26 variant (or later).

Definition at line 128 of file LangStandard.h.

References clang::CPlusPlus26, and Flags.

◆ isGNUMode()

bool clang::LangStandard::isGNUMode ( ) const
inline

isGNUMode - Language includes GNU extensions.

Definition at line 134 of file LangStandard.h.

References Flags, and clang::GNUMode.

Referenced by clang::driver::tools::solaris::Linker::ConstructJob().

◆ isOpenCL()

bool clang::LangStandard::isOpenCL ( ) const
inline

isOpenCL - Language is a OpenCL variant.

Definition at line 140 of file LangStandard.h.

References Flags, and clang::OpenCL.

Member Data Documentation

◆ Description

const char* clang::LangStandard::Description

Definition at line 80 of file LangStandard.h.

Referenced by getDescription().

◆ Flags

unsigned clang::LangStandard::Flags

◆ Language

clang::Language clang::LangStandard::Language

Definition at line 82 of file LangStandard.h.

Referenced by getLanguage(), and clang::CodeGen::CodeGenModule::Release().

◆ ShortName

const char* clang::LangStandard::ShortName

Definition at line 79 of file LangStandard.h.

Referenced by getName().


The documentation for this struct was generated from the following files: