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
PreprocessorOptions - This class is used for passing the various options used in preprocessor initial...
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)
class LLVM_ALIGNAS(8) DependentTemplateSpecializationType const IdentifierInfo * Name
Represents a template specialization type whose template cannot be resolved, e.g. ...
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.