clang: include/clang/Basic/LangOptions.h File Reference (original) (raw)
Defines the clang::LangOptions interface. More...
#include "[clang/Basic/CFProtectionOptions.h](CFProtectionOptions%5F8h%5Fsource.html)"
#include "[clang/Basic/CommentOptions.h](CommentOptions%5F8h%5Fsource.html)"
#include "[clang/Basic/LLVM.h](LLVM%5F8h%5Fsource.html)"
#include "[clang/Basic/LangStandard.h](LangStandard%5F8h%5Fsource.html)"
#include "[clang/Basic/ObjCRuntime.h](ObjCRuntime%5F8h%5Fsource.html)"
#include "[clang/Basic/Sanitizers.h](Sanitizers%5F8h%5Fsource.html)"
#include "[clang/Basic/TargetCXXABI.h](TargetCXXABI%5F8h%5Fsource.html)"
#include "[clang/Basic/Visibility.h](Visibility%5F8h%5Fsource.html)"
#include "llvm/ADT/FloatingPointMode.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/TargetParser/Triple.h"
#include <optional>
#include <string>
#include <vector>
#include "clang/Basic/LangOptions.def"
#include "clang/Basic/FPOptions.def"
Go to the source code of this file.
Classes | |
---|---|
class | clang::LangOptionsBase |
Bitfields of LangOptions, split out from LangOptions in order to ensure that this large collection of bitfields is a trivial class type. More... | |
class | clang::LangOptions |
Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that is accepted. More... | |
class | clang::FPOptions |
class | clang::FPOptionsOverride |
Represents difference between two FPOptions values. More... | |
Namespaces | |
---|---|
namespace | clang |
The JSON file list parser is used to communicate input to InstallAPI. | |
Macros | |
---|---|
#define | LANGOPT(Name, Bits, Default, Description) unsigned Name : Bits; |
#define | ENUM_LANGOPT(Name, Type, Bits, Default, Description) |
#define | LANGOPT(Name, Bits, Default, Description) |
#define | ENUM_LANGOPT(Name, Type, Bits, Default, Description) |
#define | LANGOPT(Name, Bits, Default, Description) |
#define | ENUM_LANGOPT(Name, Type, Bits, Default, Description) |
#define | OPTION(NAME, TYPE, WIDTH, PREVIOUS) |
#define | OPTION(NAME, TYPE, WIDTH, PREVIOUS) +WIDTH |
#define | OPTION(NAME, TYPE, WIDTH, PREVIOUS) |
#define | OPTION(NAME, TYPE, WIDTH, PREVIOUS) |
Enumerations | |
---|---|
enum class | clang::MSVtorDispMode { clang::Never, clang::ForVBaseOverride, clang::ForVFTable } |
In the Microsoft ABI, this controls the placement of virtual displacement members used to implement virtual inheritance. More... | |
enum class | clang::ShaderStage { clang::Pixel = 0 , clang::Vertex, clang::Geometry, clang::Hull, clang::Domain, clang::Compute, clang::Library, clang::RayGeneration, clang::Intersection, clang::AnyHit, clang::ClosestHit, clang::Miss, clang::Callable, clang::Mesh, clang::Amplification, clang::Invalid } |
Shader programs run in specific pipeline stages. More... | |
enum class | clang::PointerAuthenticationMode : unsigned { clang::None, clang::Strip, clang::SignAndStrip, clang::SignAndAuth } |
enum | clang::TranslationUnitKind { clang::TU_Complete, clang::TU_Prefix, clang::TU_ClangModule, clang::TU_Incremental } |
Describes the kind of translation unit being processed. More... | |
Defines the clang::LangOptions interface.
Definition in file LangOptions.h.
◆ ENUM_LANGOPT [1/3]
| #define ENUM_LANGOPT | ( | | Name, | | ------------------------------------------------------------------------ | - | | ----- | | | Type, | | | | | | Bits, | | | | | | Default, | | | | | | Description | | | | | ) | | | |
◆ ENUM_LANGOPT [2/3]
| #define ENUM_LANGOPT | ( | | Name, | | ------------------------------------------------------------------------ | - | | ----- | | | Type, | | | | | | Bits, | | | | | | Default, | | | | | | Description | | | | | ) | | | |
Value:
LLVM_PREFERRED_TYPE(Type) \
unsigned Name : Bits;
Definition at line 643 of file LangOptions.h.
◆ ENUM_LANGOPT [3/3]
| #define ENUM_LANGOPT | ( | | Name, | | ------------------------------------------------------------------------ | - | | ----- | | | Type, | | | | | | Bits, | | | | | | Default, | | | | | | Description | | | | | ) | | | |
◆ LANGOPT [1/3]
| #define LANGOPT | ( | | Name, | | --------------- | ------------------------------------------- | | ----- | | | Bits, | | | | | | Default, | | | | | | Description | | | | | ) | unsigned Name : Bits; | | |
◆ LANGOPT [2/3]
| #define LANGOPT | ( | | Name, | | --------------- | - | | ----- | | | Bits, | | | | | | Default, | | | | | | Description | | | | | ) | | | |
◆ LANGOPT [3/3]
| #define LANGOPT | ( | | Name, | | --------------- | - | | ----- | | | Bits, | | | | | | Default, | | | | | | Description | | | | | ) | | | |
◆ OPTION [1/4]
| #define OPTION | ( | | NAME, | | -------------------------------------------------------------- | - | | ----- | | | TYPE, | | | | | | WIDTH, | | | | | | PREVIOUS | | | | | ) | | | |
Value:
static constexpr storage_type NAME##Shift = \
PREVIOUS##Shift + PREVIOUS##Width; \
static constexpr storage_type NAME##Width = WIDTH; \
static constexpr storage_type NAME##Mask = ((1 << NAME##Width) - 1) \
<< NAME##Shift;
Definition at line 1064 of file LangOptions.h.
◆ OPTION [2/4]
| #define OPTION | ( | | NAME, | | -------------------------------------------------------------- | ------ | | ----- | | | TYPE, | | | | | | WIDTH, | | | | | | PREVIOUS | | | | | ) | +WIDTH | | |
◆ OPTION [3/4]
| #define OPTION | ( | | NAME, | | -------------------------------------------------------------- | - | | ----- | | | TYPE, | | | | | | WIDTH, | | | | | | PREVIOUS | | | | | ) | | | |
Value:
TYPE get##NAME() const { \
return static_cast<TYPE>((Value & NAME##Mask) >> NAME##Shift); \
} \
void set##NAME(TYPE value) { \
Value = (Value & ~NAME##Mask) | (storage_type(value) << NAME##Shift); \
}
#define TYPE(DERIVED, BASE)
Definition at line 1064 of file LangOptions.h.
◆ OPTION [4/4]
| #define OPTION | ( | | NAME, | | -------------------------------------------------------------- | - | | ----- | | | TYPE, | | | | | | WIDTH, | | | | | | PREVIOUS | | | | | ) | | | |
Value:
bool has##NAME##Override() const { \
return OverrideMask & FPOptions::NAME##Mask; \
} \
TYPE get##NAME##Override() const { \
assert(has##NAME##Override()); \
return Options.get##NAME(); \
} \
void clear##NAME##Override() { \
\
Options.set##NAME(TYPE(0)); \
OverrideMask &= ~FPOptions::NAME##Mask; \
} \
void set##NAME##Override(TYPE value) { \
Options.set##NAME(value); \
OverrideMask |= FPOptions::NAME##Mask; \
}
Definition at line 1064 of file LangOptions.h.