Go to the documentation of this file.
9 #ifndef LLVM_CLANG_LEX_PREPROCESSOROPTIONS_H_
10 #define LLVM_CLANG_LEX_PREPROCESSOROPTIONS_H_
16 #include "llvm/ADT/StringRef.h"
17 #include "llvm/ADT/StringSet.h"
60 LLVM_MARK_AS_BITMASK_ENUM(
Module)
184 llvm::StringSet<> Failed;
188 return Failed.count(module) > 0;
192 Failed.insert(module);
213 std::function<Optional<ArrayRef<dependency_directives_scan::Directive>>(
265 #endif // LLVM_CLANG_LEX_PREPROCESSOROPTIONS_H_
YAML serialization mapping.
bool SetUpStaticAnalyzer
Set up preprocessor for RunAnalysis action.
A reference to a FileEntry that includes the name of the file as it was accessed by the FileManager's...
PreprocessorOptions - This class is used for passing the various options used in preprocessor initial...
@ Module
Disable validation for module files.
bool DumpDeserializedPCHDecls
Dump declarations that are deserialized from PCH, for testing.
bool DetailedRecord
Whether we should maintain a detailed record of all macro definitions and expansions.
std::vector< std::string > Includes
@ None
Perform validation, don't disable it.
bool DisablePragmaDebugCrash
Prevents intended crashes when using #pragma clang __debug. For testing.
bool PCHWithHdrStopCreate
When true, we are creating a PCH or creating the PCH object while expecting a #pragma hdrstop to sepa...
Describes a module or submodule.
Records the set of modules.
std::vector< std::string > ChainedIncludes
Headers that will be converted to chained PCHs in memory.
bool AllowPCHWithDifferentModulesCachePath
When true, a PCH with modules cache path different to the current compilation will not be rejected.
DisableValidationForModuleKind
Whether to disable the normal validation performed on precompiled headers and module files when they ...
bool hasAlreadyFailed(StringRef module)
bool AllowPCHWithCompilerErrors
When true, a PCH with compiler errors will not be rejected.
DisableValidationForModuleKind DisablePCHOrModuleValidation
Whether to disable most of the normal validation performed on precompiled headers and module files.
bool UsePredefines
Initialize the preprocessor with the compiler and target specific predefines.
@ PCH
Disable validation for a precompiled header and the modules it depends on.
void addRemappedFile(StringRef From, llvm::MemoryBuffer *To)
bool GeneratePreamble
True indicates that a preamble is being generated.
bool RetainRemappedFileBuffers
Whether the compiler instance should retain (i.e., not free) the buffers associated with remapped fil...
bool SingleFileParseMode
When enabled, preprocessor is in a mode for parsing a single file only.
void resetNonModularOptions()
Reset any options that are not considered when building a module.
void addMacroDef(StringRef Name)
std::string PCHThroughHeader
If non-empty, the filename used in an include directive in the primary source file (or command-line p...
bool PCHWithHdrStop
When true, we are creating or using a PCH where a #pragma hdrstop is expected to indicate the beginni...
std::vector< std::pair< std::string, llvm::MemoryBuffer * > > RemappedFileBuffers
The set of file-to-buffer remappings, which take existing files on the system (the first part of each...
std::pair< unsigned, bool > PrecompiledPreambleBytes
If non-zero, the implicit PCH include is actually a precompiled preamble that covers this number of b...
std::shared_ptr< FailedModulesSet > FailedModules
The set of modules that failed to build.
std::set< std::string > DeserializedPCHDeclsToErrorOn
This is a set of names for decls that we do not want to be deserialized, and we emit an error if they...
@ All
Disable validation for all kinds.
ObjCXXARCStandardLibraryKind ObjCXXARCStandardLibrary
The Objective-C++ ARC standard library that we should support, by providing appropriate definitions t...
std::vector< std::pair< std::string, std::string > > RemappedFiles
The set of file remappings, which take existing files on the system (the first part of each pair) and...
@ ARCXX_libstdcxx
libstdc++
bool LexEditorPlaceholders
When enabled, the preprocessor will construct editor placeholder tokens.
std::function< Optional< ArrayRef< dependency_directives_scan::Directive > > FileEntryRef)> DependencyDirectivesForFile
Function for getting the dependency preprocessor directives of a file.
std::vector< std::string > MacroIncludes
void addMacroUndef(StringRef Name)
void clearRemappedFiles()
ObjCXXARCStandardLibraryKind
Enumerate the kinds of standard library that.
bool WriteCommentListToPCH
Whether to write comment locations into the PCH when building it.
void addRemappedFile(StringRef From, StringRef To)
std::vector< std::pair< std::string, bool > > Macros
bool RetainExcludedConditionalBlocks
When enabled, excluded conditional blocks retain in the main file.
void addFailed(StringRef module)
std::string ImplicitPCHInclude
The implicit PCH included at the start of the translation unit, or empty.
bool RemappedFilesKeepOriginalName
True if the SourceManager should report the original file name for contents of files that were remapp...