13 #ifndef LLVM_CLANG_LIB_CODEGEN_MACROPPCALLBACKS_H 14 #define LLVM_CLANG_LIB_CODEGEN_MACROPPCALLBACKS_H 39 int EnteredCommandLineIncludeFiles = 0;
41 enum FileScopeStatus {
45 CommandLineIncludeScope,
48 FileScopeStatus Status;
56 llvm::DIMacroFile *getCurrentScope();
75 raw_ostream &Name, raw_ostream &
Value);
78 void updateStatusToNextScope();
103 StringRef FileName,
bool IsAngled,
105 StringRef SearchPath, StringRef RelativePath,
110 void MacroDefined(
const Token &MacroNameTok,
Specialize PointerLikeTypeTraits to allow LazyGenerationalUpdatePtr to be placed into a PointerUnion...
A description of the current definition of a macro.
CharacteristicKind
Indicates whether a file or directory holds normal user code, system code, or system code which is im...
This interface provides a way to observe the actions of the preprocessor as it does its thing...
One of these records is kept for each identifier that is lexed.
Token - This structure provides full information about a lexed token.
Describes a module or submodule.
The primary public interface to the Clang code generator.
Represents a character-granular source range.
Record the location of an inclusion directive, such as an #include or #import statement.
Encapsulates changes to the "macros namespace" (the location where the macro name became active...
Encodes a location in the source.
Cached information about one file (either on disk or in the virtual file system). ...
An opaque identifier used by SourceManager which refers to a source file (MemoryBuffer) along with it...
Dataflow Directional Tag Classes.
Encapsulates the data about a macro definition (e.g.
Defines the PPCallbacks interface.
Engages in a tight little dance with the lexer to efficiently preprocess tokens.