10 #ifndef LLVM_CLANG_LEX_PREPROCESSOROPTIONS_H_
11 #define LLVM_CLANG_LEX_PREPROCESSOROPTIONS_H_
14 #include "llvm/ADT/IntrusiveRefCntPtr.h"
15 #include "llvm/ADT/StringRef.h"
16 #include "llvm/ADT/StringSet.h"
45 std::vector<std::pair<std::string,
bool> >
Macros;
138 llvm::StringSet<> Failed;
142 return Failed.count(module) > 0;
146 Failed.insert(module);
std::vector< std::pair< std::string, bool > > Macros
void addMacroUndef(StringRef Name)
bool RemappedFilesKeepOriginalName
True if the SourceManager should report the original file name for contents of files that were remapp...
ObjCXXARCStandardLibraryKind
Enumerate the kinds of standard library that.
std::vector< std::string > Includes
PreprocessorOptions - This class is used for passing the various options used in preprocessor initial...
std::shared_ptr< FailedModulesSet > FailedModules
The set of modules that failed to build.
std::string ImplicitPTHInclude
The implicit PTH input included at the start of the translation unit, or empty.
void addRemappedFile(StringRef From, StringRef To)
void addRemappedFile(StringRef From, llvm::MemoryBuffer *To)
void addFailed(StringRef module)
unsigned DetailedRecord
Whether we should maintain a detailed record of all macro definitions and expansions.
bool RetainRemappedFileBuffers
Whether the compiler instance should retain (i.e., not free) the buffers associated with remapped fil...
bool DisablePCHValidation
When true, disables most of the normal validation performed on precompiled headers.
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::vector< std::string > ChainedIncludes
Headers that will be converted to chained PCHs in memory.
unsigned UsePredefines
Initialize the preprocessor with the compiler and target specific predefines.
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...
bool GeneratePreamble
True indicates that a preamble is being generated.
bool AllowPCHWithCompilerErrors
When true, a PCH with compiler errors will not be rejected.
std::string ImplicitPCHInclude
The implicit PCH included at the start of the translation unit, or empty.
void resetNonModularOptions()
Reset any options that are not considered when building a module.
void addMacroDef(StringRef Name)
std::vector< std::string > MacroIncludes
bool SingleFileParseMode
When enabled, preprocessor is in a mode for parsing a single file only.
bool hasAlreadyFailed(StringRef module)
ObjCXXARCStandardLibraryKind ObjCXXARCStandardLibrary
The Objective-C++ ARC standard library that we should support, by providing appropriate definitions t...
Defines the clang::SourceLocation class and associated facilities.
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...
std::pair< unsigned, bool > PrecompiledPreambleBytes
If non-zero, the implicit PCH include is actually a precompiled preamble that covers this number of b...
void clearRemappedFiles()
bool DumpDeserializedPCHDecls
Dump declarations that are deserialized from PCH, for testing.
Records the set of modules.
std::string TokenCache
If given, a PTH cache file to use for speeding up header parsing.
bool LexEditorPlaceholders
When enabled, the preprocessor will construct editor placeholder tokens.