10 #ifndef LLVM_CLANG_LEX_PREPROCESSOROPTIONS_H_
11 #define LLVM_CLANG_LEX_PREPROCESSOROPTIONS_H_
14 #include "llvm/ADT/IntrusiveRefCntPtr.h"
15 #include "llvm/ADT/SmallVector.h"
16 #include "llvm/ADT/StringRef.h"
17 #include "llvm/ADT/StringSet.h"
46 std::vector<std::pair<std::string,
bool> >
Macros;
122 llvm::StringSet<> Failed;
126 return Failed.count(module) > 0;
130 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
std::string ImplicitPTHInclude
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.
IntrusiveRefCntPtr< FailedModulesSet > FailedModules
The set of modules that failed to build.
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 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 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.