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"
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 70 of file LangOptions.h.
◆ CFBranchLabelSchemeKind ◆ MSVtorDispMode ◆ RoundingMode ◆ Visibility ◆ AddrSpaceMapMangling Enumerator ASMM_Target ASMM_On ASMM_OffDefinition at line 132 of file LangOptions.h.
◆ AltivecSrcCompatKind ◆ ClangABIClang versions with different platform ABI conformance.
Enumerator Ver3_8Attempt to be ABI-compatible with code generated by Clang 3.8.x (SVN r257626).
This causes <1 x long long> to be passed in an integer register instead of an SSE register on x64_64.
Ver4Attempt to be ABI-compatible with code generated by Clang 4.0.x (SVN r291814).
This causes move operations to be ignored when determining whether a class type can be passed or returned directly.
Ver6Attempt to be ABI-compatible with code generated by Clang 6.0.x (SVN r321711).
This causes determination of whether a type is standard-layout to ignore collisions between empty base classes and between base classes and member subobjects, which affects whether we reuse base class tail padding in some ABIs.
Ver7Attempt to be ABI-compatible with code generated by Clang 7.0.x (SVN r338536).
This causes alignof (C++) and _Alignof (C11) to be compatible with __alignof (i.e., return the preferred alignment) rather than returning the required alignment.
Ver9Attempt to be ABI-compatible with code generated by Clang 9.0.x (SVN r351319).
This causes vectors of __int128 to be passed in memory instead of passing in multiple scalar registers on x86_64 on Linux and NetBSD.
Ver11Attempt to be ABI-compatible with code generated by Clang 11.0.x (git 2e10b7a39b93).
This causes clang to pass unions with a 256-bit vector member on the stack instead of using registers, to not properly mangle substitutions for template names in some cases, and to mangle declaration template arguments without a cast to the parameter type even when that can lead to mangling collisions.
Ver12Attempt to be ABI-compatible with code generated by Clang 12.0.x (git 8e464dd76bef).
This causes clang to mangle lambdas within global-scope inline variables incorrectly.
Ver14Attempt to be ABI-compatible with code generated by Clang 14.0.x.
This causes clang to:
Attempt to be ABI-compatible with code generated by Clang 15.0.x.
This causes clang to:
Attempt to be ABI-compatible with code generated by Clang 17.0.x.
This causes clang to revert some fixes to its implementation of the Itanium name mangling scheme, with the consequence that overloaded function templates are mangled the same if they differ only by:
Attempt to be ABI-compatible with code generated by Clang 18.0.x.
This causes clang to revert some fixes to the mangling of lambdas in the initializers of members of local classes.
Ver19Attempt to be ABI-compatible with code generated by Clang 19.0.x.
This causes clang to:
Conform to the underlying platform's C and C++ ABIs as closely as we can.
Definition at line 171 of file LangOptions.h.
◆ CompilingModuleKind Enumerator CMK_NoneNot compiling a module interface at all.
CMK_ModuleMapCompiling a module from a module map.
CMK_HeaderUnitCompiling a module header unit.
CMK_ModuleInterfaceCompiling a C++ modules interface unit.
Definition at line 99 of file LangOptions.h.
◆ ComplexRangeKindControls the various implementations for complex multiplication and.
Enumerator CX_FullImplementation 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_ImprovedImplementation of complex division offering an improved handling for overflow in intermediate calculations with no special handling for NaN and infinite values.
CX_PromotedImplementation 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_BasicImplementation 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_NoneNo range rule is enabled.
Definition at line 444 of file LangOptions.h.
◆ CoreFoundationABI Enumerator UnspecifiedNo interoperability ABI has been specified.
StandaloneCoreFoundation does not have any language interoperability.
ObjectiveCInteroperability with the ObjectiveC runtime.
SwiftInteroperability with the latest known version of the Swift runtime.
Swift5_0Interoperability with the Swift 5.0 runtime.
Swift4_2Interoperability with the Swift 4.2 runtime.
Swift4_1Interoperability with the Swift 4.1 runtime.
Definition at line 258 of file LangOptions.h.
◆ DefaultCallingConvention Enumerator DCC_None DCC_CDecl DCC_FastCall DCC_StdCall DCC_VectorCall DCC_RegCall DCC_RtdCallDefinition at line 122 of file LangOptions.h.
◆ DefaultVisiblityExportMapping Enumerator None Explicitmap only explicit default visibilities to exported
Allmap all default visibilities to exported
Definition at line 401 of file LangOptions.h.
◆ ExceptionHandlingKindPossible exception handling behavior.
Enumerator None SjLj WinEH DwarfCFI WasmDefinition at line 322 of file LangOptions.h.
◆ ExcessPrecisionKind Enumerator FPP_Standard FPP_Fast FPP_NoneDefinition at line 319 of file LangOptions.h.
◆ ExtendArgsKind Enumerator ExtendTo32Integer arguments are sign or zero extended to 32/64 bits during default argument promotions.
ExtendTo64Definition at line 370 of file LangOptions.h.
◆ FPEvalMethodKindPossible float expression evaluation method choices.
Enumerator FEM_IndeterminableThe evaluation method cannot be determined or is inconsistent for this target.
FEM_SourceUse the declared type for fp arithmetic.
FEM_DoubleUse the type double for fp arithmetic.
FEM_ExtendedUse extended type for fp arithmetic.
FEM_UnsetOnCommandLineUsed 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 302 of file LangOptions.h.
◆ FPExceptionModeKindPossible floating point exception behavior.
Enumerator FPE_IgnoreAssume that floating-point exceptions are masked.
FPE_MayTrapTransformations do not cause new exceptions but may hide some.
FPE_StrictStrictly preserve the floating-point exception semantics.
FPE_DefaultUsed internally to represent initial unspecified value.
Definition at line 290 of file LangOptions.h.
◆ FPModeKind Enumerator FPM_Off FPM_On FPM_Fast FPM_FastHonorPragmasDefinition at line 275 of file LangOptions.h.
◆ GCMode Enumerator NonGC GCOnly HybridGCDefinition at line 79 of file LangOptions.h.
◆ GPUDefaultStreamKind Enumerator LegacyLegacy default stream.
PerThreadPer-thread default stream.
Definition at line 377 of file LangOptions.h.
◆ HLSLLangStd Enumerator HLSL_Unset HLSL_2015 HLSL_2016 HLSL_2017 HLSL_2018 HLSL_2021 HLSL_202x HLSL_202yDefinition at line 159 of file LangOptions.h.
◆ LaxVectorConversionKind Enumerator NonePermit no implicit vector bitcasts.
IntegerPermit vector bitcasts between integer vectors with different numbers of elements but the same total bit-width.
AllPermit vector bitcasts between all vectors with the same total bit-width.
Definition at line 324 of file LangOptions.h.
◆ MSVCMajorVersion Enumerator MSVC2010 MSVC2012 MSVC2013 MSVC2015 MSVC2017 MSVC2017_5 MSVC2017_7 MSVC2019 MSVC2019_5 MSVC2019_8 MSVC2022_3 MSVC2022_9Definition at line 135 of file LangOptions.h.
◆ OverflowPatternExclusionKindExclude certain code patterns from being instrumented by arithmetic overflow sanitizers.
Enumerator NoneDon't exclude any overflow patterns from sanitizers.
AllExclude all overflow patterns (below)
AddSignedOverflowTestif (a + b < a)
AddUnsignedOverflowTestif (a + b < a)
NegUnsignedConst-1UL
PostDecrInWhilewhile (count–)
Definition at line 386 of file LangOptions.h.
◆ PragmaMSPointersToMembersKind Enumerator PPTMK_BestCase PPTMK_FullGeneralitySingleInheritance PPTMK_FullGeneralityMultipleInheritance PPTMK_FullGeneralityVirtualInheritanceDefinition at line 113 of file LangOptions.h.
◆ RegisterStaticDestructorsKindControls which variables have static destructors registered.
Enumerator AllRegister static destructors for all variables.
ThreadLocalRegister static destructors only for thread-local variables.
NoneDon't register static destructors for any variables.
Definition at line 476 of file LangOptions.h.
◆ SignedOverflowBehaviorTy Enumerator SOB_Undefined SOB_Defined SOB_TrappingDefinition at line 87 of file LangOptions.h.
◆ SignReturnAddressKeyKind Enumerator AKeyReturn address signing uses APIA key.
BKeyReturn address signing uses APIB key.
Definition at line 356 of file LangOptions.h.
◆ SignReturnAddressScopeKind Enumerator NoneNo signing for any function.
NonLeafSign the return address of functions that spill LR.
AllSign the return address of all functions,.
Definition at line 347 of file LangOptions.h.
◆ StackProtectorMode Enumerator SSPOff SSPOn SSPStrong SSPReqDefinition at line 80 of file LangOptions.h.
◆ StrictFlexArraysLevelKind Enumerator DefaultAny trailing array member is a FAM.
OneZeroOrIncompleteAny trailing array member of undefined, 0, or 1 size is a FAM.
ZeroOrIncompleteAny trailing array member of undefined or 0 size is a FAM.
IncompleteOnlyAny trailing array member of undefined size is a FAM.
Definition at line 431 of file LangOptions.h.
◆ SYCLMajorVersion Enumerator SYCL_None SYCL_2017 SYCL_2020 SYCL_DefaultDefinition at line 150 of file LangOptions.h.
◆ ThreadModelKind Enumerator POSIXPOSIX Threads.
SingleSingle Threaded Environment.
Definition at line 363 of file LangOptions.h.
◆ TrivialAutoVarInitKind Enumerator Uninitialized Zero PatternDefinition at line 85 of file LangOptions.h.
◆ VisibilityForcedKinds Enumerator ForceHiddenForce hidden visibility.
ForceProtectedForce protected visibility.
ForceDefaultForce default visibility.
SourceDon't alter the visibility.
Definition at line 409 of file LangOptions.h.
◆ VisibilityFromDLLStorageClassKinds Enumerator KeepKeep the IR-gen assigned visibility.
DefaultOverride the IR-gen assigned visibility with default visibility.
HiddenOverride the IR-gen assigned visibility with hidden visibility.
ProtectedOverride the IR-gen assigned visibility with protected visibility.
Definition at line 420 of file LangOptions.h.
◆ CompilerInvocation ◆ CompilerInvocationBaseThe documentation for this class was generated from the following file:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4