clang 17.0.0git
|
Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that is accepted. More...
#include "clang/Basic/LangOptions.h"
Public Member Functions | |
LangOptions () | |
bool | isCompilingModule () const |
Are we compiling a module? | |
bool | isCompilingModuleInterface () const |
Are we compiling a standard c++ module interface? | |
bool | isCompilingModuleImplementation () const |
Are we compiling a module implementation? | |
bool | trackLocalOwningModule () const |
Do we need to track the owning module for a local declaration? | |
bool | isSignedOverflowDefined () const |
bool | isSubscriptPointerArithmetic () const |
bool | isCompatibleWithMSVC (MSVCMajorVersion MajorVersion) const |
void | resetNonModularOptions () |
Reset all of the options that are not considered when building a module. | |
bool | isNoBuiltinFunc (StringRef Name) const |
Is this a libc/libm function that is no longer recognized as a builtin because a -fno-builtin-* option has been specified? | |
bool | allowsNonTrivialObjCLifetimeQualifiers () const |
True if any ObjC types may have non-trivial lifetime qualifiers. | |
bool | assumeFunctionsAreConvergent () const |
VersionTuple | getOpenCLVersionTuple () const |
Return the OpenCL C or C++ version as a VersionTuple. | |
unsigned | getOpenCLCompatibleVersion () const |
Return the OpenCL version that kernel language is compatible with. | |
std::string | getOpenCLVersionString () const |
Return the OpenCL C or C++ for OpenCL language name and version as a string. | |
bool | requiresStrictPrototypes () const |
Returns true if functions without prototypes or functions with an identifier list (aka K&R C functions) are not allowed. | |
bool | implicitFunctionsAllowed () const |
Returns true if implicit function declarations are allowed in the current language mode. | |
bool | isImplicitIntRequired () const |
Returns true if implicit int is part of the language requirements. | |
bool | isImplicitIntAllowed () const |
Returns true if implicit int is supported at all. | |
bool | hasSignReturnAddress () const |
Check if return address signing is enabled. | |
bool | isSignReturnAddressWithAKey () const |
Check if return address signing uses AKey. | |
bool | isSignReturnAddressScopeAll () const |
Check if leaf functions are also signed. | |
bool | hasSjLjExceptions () const |
bool | hasSEHExceptions () const |
bool | hasDWARFExceptions () const |
bool | hasWasmExceptions () const |
bool | isSYCL () const |
bool | hasDefaultVisibilityExportMapping () const |
bool | isExplicitDefaultVisibilityExportMapping () const |
bool | isAllDefaultVisibilityExportMapping () const |
void | remapPathPrefix (SmallVectorImpl< char > &Path) const |
Remap path prefix according to -fmacro-prefix-path option. | |
RoundingMode | getDefaultRoundingMode () const |
FPExceptionModeKind | getDefaultExceptionMode () const |
Static Public Member Functions | |
static void | setLangDefaults (LangOptions &Opts, Language Lang, const llvm::Triple &T, std::vector< std::string > &Includes, LangStandard::Kind LangStd=LangStandard::lang_unspecified) |
Set language defaults for the given input language and language standard in the given LangOptions object. | |
Public Attributes | |
LangStandard::Kind | LangStd |
The used language standard. | |
SanitizerSet | Sanitize |
Set of enabled sanitizers. | |
bool | SanitizeCoverage = false |
Is at least one coverage instrumentation type enabled. | |
std::vector< std::string > | NoSanitizeFiles |
Paths to files specifying which objects (files, functions, variables) should not be instrumented. | |
std::vector< std::string > | XRayAlwaysInstrumentFiles |
Paths to the XRay "always instrument" files specifying which objects (files, functions, variables) should be imbued with the XRay "always instrument" attribute. | |
std::vector< std::string > | XRayNeverInstrumentFiles |
Paths to the XRay "never instrument" files specifying which objects (files, functions, variables) should be imbued with the XRay "never instrument" attribute. | |
std::vector< std::string > | XRayAttrListFiles |
Paths to the XRay attribute list files, specifying which objects (files, functions, variables) should be imbued with the appropriate XRay attribute(s). | |
std::vector< std::string > | ProfileListFiles |
Paths to special case list files specifying which entities (files, functions) should or should not be instrumented. | |
clang::ObjCRuntime | ObjCRuntime |
CoreFoundationABI | CFRuntime = CoreFoundationABI::Unspecified |
std::string | ObjCConstantStringClass |
std::string | OverflowHandler |
The name of the handler function to be called when -ftrapv is specified. | |
std::string | ModuleName |
The module currently being compiled as specified by -fmodule-name. | |
std::string | CurrentModule |
The name of the current module, of which the main source file is a part. | |
std::vector< std::string > | ModuleFeatures |
The names of any features to enable in module 'requires' decls in addition to the hard-coded list in Module.cpp and the target features. | |
CommentOptions | CommentOpts |
Options for parsing comments. | |
std::vector< std::string > | NoBuiltinFuncs |
A list of all -fno-builtin-* function names (e.g., memset). | |
std::map< std::string, std::string, std::greater< std::string > > | MacroPrefixMap |
A prefix map for FILE, BASE_FILE and __builtin_FILE(). | |
std::vector< llvm::Triple > | OMPTargetTriples |
Triples of the OpenMP targets that the host code codegen should take into account in order to generate accurate offloading descriptors. | |
std::string | OMPHostIRFile |
Name of the IR file that contains the result of the OpenMP target host code generation. | |
std::string | CUID |
The user provided compilation unit ID, if non-empty. | |
std::optional< TargetCXXABI::Kind > | CXXABI |
C++ ABI to compile with, if specified by the frontend through -fc++-abi=. | |
bool | IsHeaderFile = false |
Indicates whether the front-end is explicitly told that the input is a header file (i.e. | |
GPUDefaultStreamKind | GPUDefaultStream |
The default stream kind used for HIP kernel launching. | |
std::string | RandstructSeed |
The seed used by the randomize structure layout feature. | |
bool | UseTargetPathSeparator = false |
Indicates whether to use target's platform-specific file separator when FILE macro is used and when concatenating filename with directory or to use build environment environment's platform-specific file separator. | |
Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that is accepted.
Definition at line 82 of file LangOptions.h.
Definition at line 128 of file LangOptions.h.
using clang::LangOptions::RoundingMode = llvm::RoundingMode |
Definition at line 85 of file LangOptions.h.
Definition at line 84 of file LangOptions.h.
Enumerator | |
---|---|
ASMM_Target | |
ASMM_On | |
ASMM_Off |
Definition at line 139 of file LangOptions.h.
|
strong |
Enumerator | |
---|---|
Mixed | |
GCC | |
XL | |
Default |
Definition at line 315 of file LangOptions.h.
|
strong |
Clang versions with different platform ABI conformance.
Definition at line 175 of file LangOptions.h.
Definition at line 107 of file LangOptions.h.
|
strong |
Definition at line 238 of file LangOptions.h.
Enumerator | |
---|---|
DCC_None | |
DCC_CDecl | |
DCC_FastCall | |
DCC_StdCall | |
DCC_VectorCall | |
DCC_RegCall |
Definition at line 130 of file LangOptions.h.
|
strong |
Enumerator | |
---|---|
None | |
Explicit | map only explicit default visibilities to exported |
All | map all default visibilities to exported |
Definition at line 364 of file LangOptions.h.
|
strong |
Possible exception handling behavior.
Enumerator | |
---|---|
None | |
SjLj | |
WinEH | |
DwarfCFI | |
Wasm |
Definition at line 302 of file LangOptions.h.
Enumerator | |
---|---|
FPP_Standard | |
FPP_Fast | |
FPP_None |
Definition at line 299 of file LangOptions.h.
|
strong |
Enumerator | |
---|---|
ExtendTo32 | Integer arguments are sign or zero extended to 32/64 bits during default argument promotions. |
ExtendTo64 |
Definition at line 350 of file LangOptions.h.
Possible float expression evaluation method choices.
Definition at line 282 of file LangOptions.h.
Possible floating point exception behavior.
Definition at line 270 of file LangOptions.h.
Enumerator | |
---|---|
FPM_Off | |
FPM_On | |
FPM_Fast | |
FPM_FastHonorPragmas |
Definition at line 255 of file LangOptions.h.
Enumerator | |
---|---|
NonGC | |
GCOnly | |
HybridGC |
Definition at line 87 of file LangOptions.h.
|
strong |
Enumerator | |
---|---|
Legacy | Legacy default stream. |
PerThread | Per-thread default stream. |
Definition at line 357 of file LangOptions.h.
Enumerator | |
---|---|
HLSL_Unset | |
HLSL_2015 | |
HLSL_2016 | |
HLSL_2017 | |
HLSL_2018 | |
HLSL_2021 | |
HLSL_202x |
Definition at line 164 of file LangOptions.h.
|
strong |
Definition at line 304 of file LangOptions.h.
Enumerator | |
---|---|
MSVC2010 | |
MSVC2012 | |
MSVC2013 | |
MSVC2015 | |
MSVC2017 | |
MSVC2017_5 | |
MSVC2017_7 | |
MSVC2019 | |
MSVC2019_5 | |
MSVC2019_8 |
Definition at line 142 of file LangOptions.h.
Enumerator | |
---|---|
PPTMK_BestCase | |
PPTMK_FullGeneralitySingleInheritance | |
PPTMK_FullGeneralityMultipleInheritance | |
PPTMK_FullGeneralityVirtualInheritance |
Definition at line 121 of file LangOptions.h.
Enumerator | |
---|---|
SOB_Undefined | |
SOB_Defined | |
SOB_Trapping |
Definition at line 95 of file LangOptions.h.
|
strong |
Enumerator | |
---|---|
AKey | Return address signing uses APIA key. |
BKey | Return address signing uses APIB key. |
Definition at line 336 of file LangOptions.h.
|
strong |
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 327 of file LangOptions.h.
Enumerator | |
---|---|
SSPOff | |
SSPOn | |
SSPStrong | |
SSPReq |
Definition at line 88 of file LangOptions.h.
|
strong |
Definition at line 372 of file LangOptions.h.
Enumerator | |
---|---|
SYCL_None | |
SYCL_2017 | |
SYCL_2020 | |
SYCL_Default |
Definition at line 155 of file LangOptions.h.
|
strong |
Enumerator | |
---|---|
POSIX | POSIX Threads. |
Single | Single Threaded Environment. |
Definition at line 343 of file LangOptions.h.
|
strong |
Enumerator | |
---|---|
Uninitialized | |
Zero | |
Pattern |
Definition at line 93 of file LangOptions.h.
LangOptions::LangOptions | ( | ) |
Definition at line 19 of file LangOptions.cpp.
|
inline |
True if any ObjC types may have non-trivial lifetime qualifiers.
Definition at line 555 of file LangOptions.h.
Referenced by clang::Sema::PerformImplicitConversion().
|
inline |
Definition at line 559 of file LangOptions.h.
Referenced by UpdateAsmCallInst().
|
inline |
Definition at line 647 of file LangOptions.h.
References FPE_Default, and FPE_Ignore.
Referenced by clang::Sema::AddKnownFunctionAttributes(), and clang::targets::addVisualCDefines().
|
inline |
Definition at line 642 of file LangOptions.h.
Referenced by clang::targets::addVisualCDefines().
unsigned LangOptions::getOpenCLCompatibleVersion | ( | ) | const |
Return the OpenCL version that kernel language is compatible with.
Definition at line 63 of file LangOptions.cpp.
Referenced by clang::Sema::ActOnNumericConstant(), clang::TargetInfo::adjust(), clang::OpenCLOptions::areProgramScopeVariablesSupported(), builtinIsSupported(), CheckExtVectorComponent(), ConvertDeclSpecToType(), clang::Sema::CreateBuiltinUnaryOp(), FixupInvocation(), GetFullTypeForDeclarator(), getOpenCLKernelParameterType(), handleOpenCLAccessAttr(), handleOpenCLNoSVMAttr(), clang::Sema::Initialize(), clang::OpenCLOptions::OpenCLOptionInfo::isAvailableIn(), clang::CodeGen::CodeGenModule::Release(), setLangDefaults(), clang::DeclSpec::SetStorageClassSpec(), and clang::TargetInfo::validateOpenCLTarget().
std::string LangOptions::getOpenCLVersionString | ( | ) | const |
Return the OpenCL C or C++ for OpenCL language name and version as a string.
Definition at line 79 of file LangOptions.cpp.
References getOpenCLVersionTuple(), and clang::Result.
Referenced by clang::Sema::ActOnVariableDeclarator(), FixupInvocation(), and handleOpenCLNoSVMAttr().
VersionTuple LangOptions::getOpenCLVersionTuple | ( | ) | const |
Return the OpenCL C or C++ version as a VersionTuple.
Definition at line 56 of file LangOptions.cpp.
Referenced by getOpenCLVersionString(), and clang::TargetInfo::validateOpenCLTarget().
|
inline |
Definition at line 624 of file LangOptions.h.
References None.
Referenced by clang::CodeGen::CodeGenModule::shouldMapVisibilityToDLLExport().
|
inline |
Definition at line 614 of file LangOptions.h.
References DwarfCFI.
Referenced by getCPersonality(), getCXXPersonality(), InitializePredefinedMacros(), and initTargetOptions().
|
inline |
Definition at line 610 of file LangOptions.h.
References WinEH.
Referenced by getCPersonality(), getCXXPersonality(), getObjCPersonality(), InitializePredefinedMacros(), and initTargetOptions().
|
inline |
Check if return address signing is enabled.
Definition at line 592 of file LangOptions.h.
References None.
Referenced by clang::targets::AArch64TargetInfo::getTargetDefines(), clang::targets::ARMTargetInfo::getTargetDefines(), and clang::CodeGen::CodeGenModule::Release().
|
inline |
Definition at line 606 of file LangOptions.h.
References SjLj.
Referenced by getCPersonality(), getCXXPersonality(), getObjCPersonality(), InitializePredefinedMacros(), and initTargetOptions().
|
inline |
Definition at line 618 of file LangOptions.h.
References Wasm.
Referenced by getCXXPersonality(), and initTargetOptions().
|
inline |
Returns true if implicit function declarations are allowed in the current language mode.
Definition at line 581 of file LangOptions.h.
References clang::OpenCL, and requiresStrictPrototypes().
Referenced by clang::Sema::ImplicitlyDefineFunction().
|
inline |
Definition at line 634 of file LangOptions.h.
References All.
Referenced by clang::CodeGen::CodeGenModule::shouldMapVisibilityToDLLExport().
|
inline |
Definition at line 542 of file LangOptions.h.
Referenced by clang::targets::addVisualCDefines(), CompareStandardConversionSequences(), clang::TextDiagnostic::emitDiagnosticLoc(), getKeywordStatus(), getMSManglingNumber(), NarrowingErrs(), and clang::Sema::ShouldDeleteSpecialMember().
|
inline |
Are we compiling a module?
Definition at line 514 of file LangOptions.h.
References CMK_None.
Referenced by clang::ModuleMap::addHeader(), clang::ModuleMap::diagnoseHeaderInclusion(), clang::PCHGenerator::HandleTranslationUnit(), isCompilingModuleImplementation(), clang::ASTUnit::isModuleFile(), and trackLocalOwningModule().
|
inline |
Are we compiling a module implementation?
Definition at line 524 of file LangOptions.h.
References isCompilingModule(), and ModuleName.
|
inline |
Are we compiling a standard c++ module interface?
Definition at line 519 of file LangOptions.h.
References CMK_ModuleInterface.
|
inline |
Definition at line 629 of file LangOptions.h.
References Explicit.
Referenced by clang::CodeGen::CodeGenModule::shouldMapVisibilityToDLLExport().
|
inline |
Returns true if implicit int is supported at all.
Definition at line 589 of file LangOptions.h.
References clang::C2x, and clang::CPlusPlus.
Referenced by ConvertDeclSpecToType().
|
inline |
Returns true if implicit int is part of the language requirements.
Definition at line 586 of file LangOptions.h.
References clang::C99, and clang::CPlusPlus.
Referenced by ConvertDeclSpecToType().
bool LangOptions::isNoBuiltinFunc | ( | StringRef | Name | ) | const |
Is this a libc/libm function that is no longer recognized as a builtin because a -fno-builtin-* option has been specified?
Definition at line 49 of file LangOptions.cpp.
References NoBuiltinFuncs.
|
inline |
Definition at line 533 of file LangOptions.h.
References SOB_Defined.
Referenced by DiagnoseBadShiftValues(), and emitPointerArithmetic().
|
inline |
Check if leaf functions are also signed.
Definition at line 602 of file LangOptions.h.
References All.
Referenced by clang::targets::AArch64TargetInfo::getTargetDefines(), clang::targets::ARMTargetInfo::getTargetDefines(), and clang::CodeGen::CodeGenModule::Release().
|
inline |
Check if return address signing uses AKey.
Definition at line 597 of file LangOptions.h.
References AKey.
Referenced by clang::targets::AArch64TargetInfo::getTargetDefines(), and clang::CodeGen::CodeGenModule::Release().
|
inline |
Definition at line 537 of file LangOptions.h.
References clang::ObjCRuntime::isSubscriptPointerArithmetic().
Referenced by clang::Sema::BuildObjCSubscriptExpression(), and clang::Sema::CreateBuiltinArraySubscriptExpr().
|
inline |
Definition at line 622 of file LangOptions.h.
Referenced by getKeywordStatusHelper().
void LangOptions::remapPathPrefix | ( | SmallVectorImpl< char > & | Path | ) | const |
Remap path prefix according to -fmacro-prefix-path option.
Definition at line 73 of file LangOptions.cpp.
References MacroPrefixMap.
Referenced by clang::Preprocessor::processPathForFileMacro().
|
inline |
Returns true if functions without prototypes or functions with an identifier list (aka K&R C functions) are not allowed.
Definition at line 575 of file LangOptions.h.
References clang::C2x, and clang::CPlusPlus.
Referenced by CreateNewFunctionDecl(), GetFullTypeForDeclarator(), and implicitFunctionsAllowed().
void LangOptions::resetNonModularOptions | ( | ) |
Reset all of the options that are not considered when building a module.
Definition at line 25 of file LangOptions.cpp.
References CurrentModule, IsHeaderFile, NoSanitizeFiles, XRayAlwaysInstrumentFiles, and XRayNeverInstrumentFiles.
Referenced by clang::CompilerInvocation::resetNonModularOptions().
|
static |
Set language defaults for the given input language and language standard in the given LangOptions object.
Opts | - The LangOptions object to set up. |
Lang | - The input language. |
T | - The target triple. |
Includes | - If the language requires extra headers to be implicitly included, they will be appended to this list. |
LangStd | - The input language standard. |
Definition at line 89 of file LangOptions.cpp.
References clang::Asm, clang::CUDA, FPM_Fast, FPM_FastHonorPragmas, FPM_On, clang::getDefaultLanguageStandard(), clang::LangStandard::getLangStandardForKind(), getOpenCLCompatibleVersion(), clang::HIP, clang::HLSL, HLSL_2015, HLSL_2016, HLSL_2017, HLSL_2018, HLSL_2021, HLSL_202x, clang::LangStandard::lang_unspecified, LangStd, clang::ObjC, clang::ObjCXX, clang::RenderScript, and Std.
|
inline |
Do we need to track the owning module for a local declaration?
Definition at line 529 of file LangOptions.h.
References isCompilingModule().
Referenced by clang::Decl::hasLocalOwningModuleStorage().
CoreFoundationABI clang::LangOptions::CFRuntime = CoreFoundationABI::Unspecified |
Definition at line 419 of file LangOptions.h.
Referenced by clang::CodeGen::CodeGenModule::GetAddrOfConstantCFString(), and clang::ASTContext::getCFConstantStringDecl().
CommentOptions clang::LangOptions::CommentOpts |
Options for parsing comments.
Definition at line 446 of file LangOptions.h.
Referenced by clang::Sema::ActOnComment(), clang::ASTContext::addComment(), clang::ASTContext::cacheRawCommentForDecl(), checkLanguageOptions(), and clang::ASTContext::getRawCommentForDeclNoCacheImpl().
std::string clang::LangOptions::CUID |
The user provided compilation unit ID, if non-empty.
This is used to externalize static variables which is needed to support accessing static device variables in host code for single source offloading languages like CUDA/HIP.
Definition at line 466 of file LangOptions.h.
Referenced by clang::ASTContext::getCUIDHash(), and clang::CodeGen::CodeGenModule::printPostfixForExternalizedDecl().
std::string clang::LangOptions::CurrentModule |
The name of the current module, of which the main source file is a part.
If CompilingModule is set, we are compiling the interface of this module, otherwise we are compiling an implementation file of it. This starts as ModuleName in case -fmodule-name is provided and changes during compilation to reflect the current module.
Definition at line 437 of file LangOptions.h.
Referenced by clang::Sema::ActOnModuleDecl(), clang::Sema::ActOnModuleImport(), clang::FrontendAction::BeginSourceFile(), clang::ModuleMap::createHeaderUnit(), clang::ModuleMap::createModuleForImplementationUnit(), clang::ModuleMap::createModuleForInterfaceUnit(), clang::DumpModuleInfoAction::ExecuteAction(), clang::ModuleMap::findOrCreateModule(), FixupInvocation(), clang::FrontendAction::getCurrentModule(), clang::Preprocessor::getModuleForLocation(), clang::PCHGenerator::HandleTranslationUnit(), clang::Module::isForBuilding(), prepareToBuildModule(), and resetNonModularOptions().
std::optional<TargetCXXABI::Kind> clang::LangOptions::CXXABI |
C++ ABI to compile with, if specified by the frontend through -fc++-abi=.
This overrides the default ABI used by the target.
Definition at line 470 of file LangOptions.h.
Referenced by clang::ASTContext::getCXXABIKind().
GPUDefaultStreamKind clang::LangOptions::GPUDefaultStream |
The default stream kind used for HIP kernel launching.
Definition at line 477 of file LangOptions.h.
Referenced by InitializeStandardPredefinedMacros().
Indicates whether the front-end is explicitly told that the input is a header file (i.e.
-x c-header).
Definition at line 474 of file LangOptions.h.
Referenced by clang::Sema::ActOnEndOfTranslationUnit(), isMainFileLoc(), and resetNonModularOptions().
LangStandard::Kind clang::LangOptions::LangStd |
The used language standard.
Definition at line 385 of file LangOptions.h.
Referenced by setLangDefaults().
std::map<std::string, std::string, std::greater<std::string> > clang::LangOptions::MacroPrefixMap |
A prefix map for FILE, BASE_FILE and __builtin_FILE().
Definition at line 452 of file LangOptions.h.
Referenced by clang::CodeGen::CodeGenModule::CodeGenModule(), and remapPathPrefix().
std::vector<std::string> clang::LangOptions::ModuleFeatures |
The names of any features to enable in module 'requires' decls in addition to the hard-coded list in Module.cpp and the target features.
This list is sorted.
Definition at line 443 of file LangOptions.h.
Referenced by checkLanguageOptions(), and hasFeature().
std::string clang::LangOptions::ModuleName |
The module currently being compiled as specified by -fmodule-name.
Definition at line 430 of file LangOptions.h.
Referenced by clang::FrontendAction::BeginSourceFile(), FixupInvocation(), isCompilingModuleImplementation(), clang::Module::isForBuilding(), and loadModuleMapForModuleBuild().
std::vector<std::string> clang::LangOptions::NoBuiltinFuncs |
A list of all -fno-builtin-* function names (e.g., memset).
Definition at line 449 of file LangOptions.h.
Referenced by addNoBuiltinAttributes(), clang::Builtin::Context::initializeBuiltins(), and isNoBuiltinFunc().
std::vector<std::string> clang::LangOptions::NoSanitizeFiles |
Paths to files specifying which objects (files, functions, variables) should not be instrumented.
Definition at line 394 of file LangOptions.h.
Referenced by addSanitizers(), and resetNonModularOptions().
std::string clang::LangOptions::ObjCConstantStringClass |
Definition at line 421 of file LangOptions.h.
clang::ObjCRuntime clang::LangOptions::ObjCRuntime |
Definition at line 417 of file LangOptions.h.
Referenced by clang::Sema::ActOnAtEnd(), clang::Sema::ActOnDefs(), clang::Sema::ActOnIvar(), clang::Sema::ActOnLastBitfield(), checkArithmeticOnObjCPointer(), clang::Sema::CheckImplementationIvars(), checkLanguageOptions(), CheckObjCTraitOperandConstraints(), CheckProtocolMethodDefs(), clang::CodeGen::CreateGNUObjCRuntime(), clang::Sema::DefaultSynthesizeProperties(), DiagnoseUnimplementedAccessor(), EncodeBitField(), clang::CodeGen::CodeGenModule::GetAddrOfRTTIDescriptor(), clang::ASTNameGenerator::Implementation::getClassSymbolPrefix(), getObjCPersonality(), getObjCXXPersonality(), handleObjCDirectAttr(), handleObjCDirectMembersAttr(), hasUnwindExceptions(), clang::Sema::ImplMethodsVsClassMethods(), InitializePredefinedMacros(), clang::Sema::MaybeBindToTemporary(), setARCRuntimeFunctionLinkage(), tryEmitSpecializedAllocInit(), and UseOptimizedSetter().
std::string clang::LangOptions::OMPHostIRFile |
Name of the IR file that contains the result of the OpenMP target host code generation.
Definition at line 460 of file LangOptions.h.
Referenced by clang::CodeGen::CGOpenMPRuntime::CGOpenMPRuntime(), and clang::CodeGen::CGOpenMPRuntimeGPU::CGOpenMPRuntimeGPU().
std::vector<llvm::Triple> clang::LangOptions::OMPTargetTriples |
Triples of the OpenMP targets that the host code codegen should take into account in order to generate accurate offloading descriptors.
Definition at line 456 of file LangOptions.h.
Referenced by clang::Sema::ActOnFinishFunctionBody(), clang::Sema::AddInitializerToDecl(), emitCommonOMPTargetDirective(), clang::CodeGen::CGOpenMPRuntime::emitDeclareTargetVarDefinition(), clang::CodeGen::CGOpenMPRuntime::emitRequiresDirectiveRegFun(), and clang::CodeGen::CGOpenMPRuntime::registerTargetGlobalVariable().
std::string clang::LangOptions::OverflowHandler |
The name of the handler function to be called when -ftrapv is specified.
If none is specified, abort (GCC-compatible behaviour).
Definition at line 427 of file LangOptions.h.
std::vector<std::string> clang::LangOptions::ProfileListFiles |
Paths to special case list files specifying which entities (files, functions) should or should not be instrumented.
Definition at line 415 of file LangOptions.h.
std::string clang::LangOptions::RandstructSeed |
The seed used by the randomize structure layout feature.
Definition at line 480 of file LangOptions.h.
Referenced by clang::randstruct::randomizeStructureLayout().
SanitizerSet clang::LangOptions::Sanitize |
Set of enabled sanitizers.
Definition at line 388 of file LangOptions.h.
Referenced by addKCFIPass(), addSanitizers(), checkLanguageOptions(), clang::CodeGen::CodeGenModule::CodeGenModule(), clang::CodeGen::CodeGenModule::CreateFunctionTypeMetadataForIcall(), clang::targets::getDarwinDefines(), clang::RecordDecl::mayInsertExtraPadding(), clang::CodeGen::CodeGenModule::NeedAllVtablesTypeId(), clang::CodeGen::CodeGenModule::Release(), clang::CodeGen::CodeGenVTables::RemoveHwasanMetadata(), clang::CodeGen::SanitizerMetadata::reportGlobal(), and shouldEmitLifetimeMarkers().
Is at least one coverage instrumentation type enabled.
Definition at line 390 of file LangOptions.h.
Referenced by FixupInvocation().
Indicates whether to use target's platform-specific file separator when FILE macro is used and when concatenating filename with directory or to use build environment environment's platform-specific file separator.
The plaform-specific path separator is the backslash() for Windows and forward slash (/) elsewhere.
Definition at line 488 of file LangOptions.h.
Referenced by clang::Preprocessor::processPathForFileMacro().
std::vector<std::string> clang::LangOptions::XRayAlwaysInstrumentFiles |
Paths to the XRay "always instrument" files specifying which objects (files, functions, variables) should be imbued with the XRay "always instrument" attribute.
WARNING: This is a deprecated field and will go away in the future.
Definition at line 400 of file LangOptions.h.
Referenced by resetNonModularOptions().
std::vector<std::string> clang::LangOptions::XRayAttrListFiles |
Paths to the XRay attribute list files, specifying which objects (files, functions, variables) should be imbued with the appropriate XRay attribute(s).
Definition at line 411 of file LangOptions.h.
std::vector<std::string> clang::LangOptions::XRayNeverInstrumentFiles |
Paths to the XRay "never instrument" files specifying which objects (files, functions, variables) should be imbued with the XRay "never instrument" attribute.
WARNING: This is a deprecated field and will go away in the future.
Definition at line 406 of file LangOptions.h.
Referenced by resetNonModularOptions().