clang: clang::LangOptionsBase Class Reference (original) (raw)
Bitfields of LangOptions, split out from LangOptions in order to ensure that this large collection of bitfields is a trivial class type. More...
#include "[clang/Basic/LangOptions.h](LangOptions%5F8h%5Fsource.html)"
| Friends | |
|---|---|
| class | CompilerInvocation |
| class | CompilerInvocationBase |
Bitfields of LangOptions, split out from LangOptions in order to ensure that this large collection of bitfields is a trivial class type.
Definition at line 72 of file LangOptions.h.
◆ CFBranchLabelSchemeKind
◆ MSVtorDispMode
◆ RoundingMode
using clang::LangOptionsBase::RoundingMode = llvm::RoundingMode
◆ Visibility
◆ AddrSpaceMapMangling
| Enumerator |
|---|
| ASMM_Target |
| ASMM_On |
| ASMM_Off |
Definition at line 150 of file LangOptions.h.
◆ AltivecSrcCompatKind
◆ ClangABI
Clang versions with different platform ABI conformance.
Definition at line 189 of file LangOptions.h.
◆ CompatibilityKind
For ASTs produced with different option value, signifies their level of compatibility.
| Enumerator | |
|---|---|
| NotCompatible | Does affect the construction of the AST in a way that does prevent module interoperability. |
| Compatible | Does affect the construction of the AST in a way that doesn't prevent interoperability (that is, the value can be different between an explicit module and the user of that module). |
| Benign | Does not affect the construction of the AST in any way (that is, the value can be different between an implicit module and the user of that module). |
Definition at line 83 of file LangOptions.h.
◆ CompilingModuleKind
| Enumerator | |
|---|---|
| CMK_None | Not compiling a module interface at all. |
| CMK_ModuleMap | Compiling a module from a module map. |
| CMK_HeaderUnit | Compiling a module header unit. |
| CMK_ModuleInterface | Compiling a C++ modules interface unit. |
Definition at line 117 of file LangOptions.h.
◆ ComplexRangeKind
Controls the various implementations for complex multiplication and.
| Enumerator | |
|---|---|
| CX_Full | Implementation of complex division and multiplication using a call to runtime library functions(generally the case, but the BE might sometimes replace the library call if it knows enough about the potential range of the inputs). Overflow and non-finite values are handled by the library implementation. This is the default value. |
| CX_Improved | Implementation of complex division offering an improved handling for overflow in intermediate calculations with no special handling for NaN and infinite values. |
| CX_Promoted | Implementation of complex division using algebraic formulas at higher precision. Overflow is handled. Non-finite values are handled in some cases. If the target hardware does not have native support for a higher precision data type, an implementation for the complex operation will be used to provide improved guards against intermediate overflow, but overflow and underflow may still occur in some cases. NaN and infinite values are not handled. |
| CX_Basic | Implementation of complex division and multiplication using algebraic formulas at source precision. No special handling to avoid overflow. NaN and infinite values are not handled. |
| CX_None | No range rule is enabled. |
Definition at line 383 of file LangOptions.h.
◆ CoreFoundationABI
| Enumerator | |
|---|---|
| Unspecified | No interoperability ABI has been specified. |
| Standalone | CoreFoundation does not have any language interoperability. |
| ObjectiveC | Interoperability with the ObjectiveC runtime. |
| Swift | Interoperability with the latest known version of the Swift runtime. |
| Swift5_0 | Interoperability with the Swift 5.0 runtime. |
| Swift4_2 | Interoperability with the Swift 4.2 runtime. |
| Swift4_1 | Interoperability with the Swift 4.1 runtime. |
Definition at line 196 of file LangOptions.h.
◆ DefaultCallingConvention
| Enumerator |
|---|
| DCC_None |
| DCC_CDecl |
| DCC_FastCall |
| DCC_StdCall |
| DCC_VectorCall |
| DCC_RegCall |
| DCC_RtdCall |
Definition at line 140 of file LangOptions.h.
◆ DefaultVisiblityExportMapping
| Enumerator | |
|---|---|
| None | |
| Explicit | map only explicit default visibilities to exported |
| All | map all default visibilities to exported |
Definition at line 340 of file LangOptions.h.
◆ ExcessPrecisionKind
| Enumerator |
|---|
| FPP_Standard |
| FPP_Fast |
| FPP_None |
Definition at line 261 of file LangOptions.h.
◆ ExtendArgsKind
| Enumerator | |
|---|---|
| ExtendTo32 | Integer arguments are sign or zero extended to 32/64 bits during default argument promotions. |
| ExtendTo64 |
Definition at line 309 of file LangOptions.h.
◆ FPEvalMethodKind
Possible float expression evaluation method choices.
| Enumerator | |
|---|---|
| FEM_Source | Use the declared type for fp arithmetic. |
| FEM_Double | Use the type double for fp arithmetic. |
| FEM_Extended | Use extended type for fp arithmetic. |
| FEM_UnsetOnCommandLine | Used only for FE option processing; this is only used to indicate that the user did not specify an explicit evaluation method on the command line and so the target should be queried for its default evaluation method instead. |
Definition at line 240 of file LangOptions.h.
◆ FPExceptionModeKind
Possible floating point exception behavior.
| Enumerator | |
|---|---|
| FPE_Ignore | Assume that floating-point exceptions are masked. |
| FPE_MayTrap | Transformations do not cause new exceptions but may hide some. |
| FPE_Strict | Strictly preserve the floating-point exception semantics. |
| FPE_Default | Used internally to represent initial unspecified value. |
Definition at line 228 of file LangOptions.h.
◆ FPModeKind
| Enumerator |
|---|
| FPM_Off |
| FPM_On |
| FPM_Fast |
| FPM_FastHonorPragmas |
Definition at line 213 of file LangOptions.h.
◆ GCMode
| Enumerator |
|---|
| NonGC |
| GCOnly |
| HybridGC |
Definition at line 97 of file LangOptions.h.
◆ GPUDefaultStreamKind
| Enumerator | |
|---|---|
| Legacy | Legacy default stream. |
| PerThread | Per-thread default stream. |
Definition at line 316 of file LangOptions.h.
◆ HLSLLangStd
| Enumerator |
|---|
| HLSL_Unset |
| HLSL_2015 |
| HLSL_2016 |
| HLSL_2017 |
| HLSL_2018 |
| HLSL_2021 |
| HLSL_202x |
| HLSL_202y |
Definition at line 177 of file LangOptions.h.
◆ LaxVectorConversionKind
| Enumerator | |
|---|---|
| None | Permit no implicit vector bitcasts. |
| Integer | Permit vector bitcasts between integer vectors with different numbers of elements but the same total bit-width. |
| All | Permit vector bitcasts between all vectors with the same total bit-width. |
Definition at line 263 of file LangOptions.h.
◆ LayoutCompatibilityKind
| Enumerator | |
|---|---|
| Default | Use default layout rules of the target. |
| Itanium | Use Itanium rules for bit-field layout and fundamental types alignment. |
| Microsoft | Use Microsoft C++ ABI rules for bit-field layout and fundamental types alignment. |
Definition at line 424 of file LangOptions.h.
◆ MatrixMemoryLayout
| Enumerator |
|---|
| MatrixColMajor |
| MatrixRowMajor |
Definition at line 254 of file LangOptions.h.
◆ MSVCMajorVersion
| Enumerator |
|---|
| MSVC2010 |
| MSVC2012 |
| MSVC2013 |
| MSVC2015 |
| MSVC2017 |
| MSVC2017_5 |
| MSVC2017_7 |
| MSVC2019 |
| MSVC2019_5 |
| MSVC2019_8 |
| MSVC2022_3 |
| MSVC2022_9 |
Definition at line 153 of file LangOptions.h.
◆ OverflowPatternExclusionKind
Exclude certain code patterns from being instrumented by arithmetic overflow sanitizers.
| Enumerator | |
|---|---|
| None | Don't exclude any overflow patterns from sanitizers. |
| All | Exclude all overflow patterns (below) |
| AddSignedOverflowTest | if (a + b < a) |
| AddUnsignedOverflowTest | if (a + b < a) |
| NegUnsignedConst | -1UL |
| PostDecrInWhile | while (count–) |
Definition at line 325 of file LangOptions.h.
◆ PragmaMSPointersToMembersKind
| Enumerator |
|---|
| PPTMK_BestCase |
| PPTMK_FullGeneralitySingleInheritance |
| PPTMK_FullGeneralityMultipleInheritance |
| PPTMK_FullGeneralityVirtualInheritance |
Definition at line 131 of file LangOptions.h.
◆ RegisterStaticDestructorsKind
Controls which variables have static destructors registered.
| Enumerator | |
|---|---|
| All | Register static destructors for all variables. |
| ThreadLocal | Register static destructors only for thread-local variables. |
| None | Don't register static destructors for any variables. |
Definition at line 415 of file LangOptions.h.
◆ SignedOverflowBehaviorTy
| Enumerator |
|---|
| SOB_Undefined |
| SOB_Defined |
| SOB_Trapping |
Definition at line 105 of file LangOptions.h.
◆ SignReturnAddressKeyKind
| Enumerator | |
|---|---|
| AKey | Return address signing uses APIA key. |
| BKey | Return address signing uses APIB key. |
Definition at line 295 of file LangOptions.h.
◆ SignReturnAddressScopeKind
| Enumerator | |
|---|---|
| None | No signing for any function. |
| NonLeaf | Sign the return address of functions that spill LR. |
| All | Sign the return address of all functions,. |
Definition at line 286 of file LangOptions.h.
◆ StackProtectorMode
| Enumerator |
|---|
| SSPOff |
| SSPOn |
| SSPStrong |
| SSPReq |
Definition at line 98 of file LangOptions.h.
◆ StrictFlexArraysLevelKind
| Enumerator | |
|---|---|
| Default | Any trailing array member is a FAM. |
| OneZeroOrIncomplete | Any trailing array member of undefined, 0, or 1 size is a FAM. |
| ZeroOrIncomplete | Any trailing array member of undefined or 0 size is a FAM. |
| IncompleteOnly | Any trailing array member of undefined size is a FAM. |
Definition at line 370 of file LangOptions.h.
◆ SYCLMajorVersion
| Enumerator |
|---|
| SYCL_None |
| SYCL_2017 |
| SYCL_2020 |
| SYCL_Default |
Definition at line 168 of file LangOptions.h.
◆ ThreadModelKind
| Enumerator | |
|---|---|
| POSIX | POSIX Threads. |
| Single | Single Threaded Environment. |
Definition at line 302 of file LangOptions.h.
◆ TrivialAutoVarInitKind
| Enumerator |
|---|
| Uninitialized |
| Zero |
| Pattern |
Definition at line 103 of file LangOptions.h.
◆ VisibilityForcedKinds
| Enumerator | |
|---|---|
| ForceHidden | Force hidden visibility. |
| ForceProtected | Force protected visibility. |
| ForceDefault | Force default visibility. |
| Source | Don't alter the visibility. |
Definition at line 348 of file LangOptions.h.
◆ VisibilityFromDLLStorageClassKinds
| Enumerator | |
|---|---|
| Keep | Keep the IR-gen assigned visibility. |
| Default | Override the IR-gen assigned visibility with default visibility. |
| Hidden | Override the IR-gen assigned visibility with hidden visibility. |
| Protected | Override the IR-gen assigned visibility with protected visibility. |
Definition at line 359 of file LangOptions.h.
◆ CompilerInvocation
◆ CompilerInvocationBase
The documentation for this class was generated from the following file:
- include/clang/Basic/LangOptions.h