15 #ifndef LLVM_CLANG_BASIC_LANGOPTIONS_H
16 #define LLVM_CLANG_BASIC_LANGOPTIONS_H
33 #define LANGOPT(Name, Bits, Default, Description) unsigned Name : Bits;
34 #define ENUM_LANGOPT(Name, Type, Bits, Default, Description)
35 #include "clang/Basic/LangOptions.def"
40 #define LANGOPT(Name, Bits, Default, Description)
41 #define ENUM_LANGOPT(Name, Type, Bits, Default, Description) \
43 #include "clang/Basic/LangOptions.def"
159 #define LANGOPT(Name, Bits, Default, Description)
160 #define ENUM_LANGOPT(Name, Type, Bits, Default, Description) \
161 Type get##Name() const { return static_cast<Type>(Name); } \
162 void set##Name(Type Value) { Name = static_cast<unsigned>(Value); }
163 #include "clang/Basic/LangOptions.def"
167 return getCompilingModule() !=
CMK_None;
181 !ObjCSubscriptingLegacyRuntime;
185 return MSCompatibilityVersion >= MajorVersion * 10000000U;
198 return ObjCAutoRefCount || ObjCWeak;
209 : fp_contract(static_cast<
LangOptions::FPContractModeKind>(I)) {}
212 : fp_contract(LangOpts.getDefaultFPContractMode()) {}
229 unsigned getInt()
const {
return fp_contract; }
233 unsigned fp_contract : 2;
bool isNoBuiltinFunc(StringRef Name) const
Is this a libc/libm function that is no longer recognized as a builtin because a -fno-builtin-* optio...
bool allowFPContractWithinStatement() const
bool isSignedOverflowDefined() const
FPOptions(const LangOptions &LangOpts)
SanitizerSet Sanitize
Set of enabled sanitizers.
The translation unit is a prefix to a translation unit, and is not complete.
Defines types useful for describing an Objective-C runtime.
Floating point control options.
unsigned getInt() const
Used to serialize this.
Compiling a C++ modules TS module interface unit.
bool allowsNonTrivialObjCLifetimeQualifiers() const
True if any ObjC types may have non-trivial lifetime qualifiers.
Defines the clang::SanitizerKind enum.
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.
void resetNonModularOptions()
Reset all of the options that are not considered when building a module.
Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...
Compiling a module from a module map.
Forward-declares and imports various common LLVM datatypes that clang wants to use unqualified...
Visibility
Describes the different kinds of visibility that a declaration may have.
void setAllowFPContractWithinStatement()
detail::InMemoryDirectory::const_iterator I
Defines the clang::Visibility enumeration and various utility functions.
std::vector< std::string > ModuleFeatures
The names of any features to enable in module 'requires' decls in addition to the hard-coded list in ...
std::string CurrentModule
The name of the current module, of which the main source file is a part.
bool trackLocalOwningModule() const
Do we need to track the owning module for a local declaration?
CommentOptions CommentOpts
Options for parsing comments.
void setDisallowFPContract()
std::string OMPHostIRFile
Name of the IR file that contains the result of the OpenMP target host code generation.
Not compiling a module interface at all.
clang::ObjCRuntime ObjCRuntime
PragmaMSPointersToMembersKind
bool allowFPContractAcrossStatement() const
std::string OverflowHandler
The name of the handler function to be called when -ftrapv is specified.
The basic abstraction for the target Objective-C runtime.
std::vector< llvm::Triple > OMPTargetTriples
Triples of the OpenMP targets that the host code codegen should take into account in order to generat...
bool IsHeaderFile
Indicates whether the front-end is explicitly told that the input is a header file (i...
void setAllowFPContractAcrossStatement()
bool isSubscriptPointerArithmetic() const
Is subscripting pointer arithmetic?
bool isCompatibleWithMSVC(MSVCMajorVersion MajorVersion) const
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 > NoBuiltinFuncs
A list of all -fno-builtin-* function names (e.g., memset).
bool isSubscriptPointerArithmetic() const
TranslationUnitKind
Describes the kind of translation unit being processed.
The translation unit is a complete translation unit.
bool isCompilingModule() const
Are we compiling a module interface (.cppm or module map)?
std::vector< std::string > SanitizerBlacklistFiles
Paths to blacklist files specifying which objects (files, functions, variables) should not be instrum...
Bitfields of LangOptions, split out from LangOptions in order to ensure that this large collection of...
std::string ObjCConstantStringClass
clang::Visibility Visibility
The translation unit is a module.