A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://clang.llvm.org/doxygen/MacroPPCallbacks_8cpp_source.html below:

clang: lib/CodeGen/MacroPPCallbacks.cpp Source File

19using namespace clang

;

21void

MacroPPCallbacks::writeMacroDefinition(

const IdentifierInfo

&II,

24

raw_ostream &

Value

) {

31 for

(; AI + 1 !=

E

; ++AI) {

32

Name << (*AI)->getName();

37 if

((*AI)->getName() ==

"__VA_ARGS__"

)

40

Name << (*AI)->getName();

52 for

(

const auto

&

T

: MI.

tokens

()) {

53 if

(!

First

&&

T

.hasLeadingSpace())

62

: Gen(Gen), PP(PP), Status(NoScope) {}

76

llvm::DIMacroFile *MacroPPCallbacks::getCurrentScope() {

77 if

(Status == MainFileScope || Status == CommandLineIncludeScope)

83 if

(Status == MainFileScope || EnteredCommandLineIncludeFiles)

91void

MacroPPCallbacks::updateStatusToNextScope() {

94

Status = InitializedScope;

96 case

InitializedScope:

97

Status = BuiltinScope;

100

Status = CommandLineIncludeScope;

102 case

CommandLineIncludeScope:

103

Status = MainFileScope;

106

llvm_unreachable(

"There is no next scope, already in the final scope"

);

114

updateStatusToNextScope();

116 case

InitializedScope:

117

updateStatusToNextScope();

122

updateStatusToNextScope();

124 case

CommandLineIncludeScope:

125

EnteredCommandLineIncludeFiles++;

138

llvm_unreachable(

"Do not expect to exit a file from current scope"

);

142

Status = MainFileScope;

144 case

CommandLineIncludeScope:

145 if

(!EnteredCommandLineIncludeFiles) {

146

updateStatusToNextScope();

149

EnteredCommandLineIncludeFiles--;

171

StringRef SearchPath, StringRef RelativePath,

const Module

*SuggestedModule,

175

LastHashLoc = HashLoc;

182

std::string NameBuffer, ValueBuffer;

183

llvm::raw_string_ostream Name(NameBuffer);

184

llvm::raw_string_ostream

Value

(ValueBuffer);

187

llvm::dwarf::DW_MACINFO_define, location,

188

NameBuffer, ValueBuffer);

197

llvm::dwarf::DW_MACINFO_undef, location,

198 Id

->getName(),

""

);

llvm::MachO::FileType FileType

Defines the clang::MacroInfo and clang::MacroDirective classes.

Defines the clang::Preprocessor interface.

Represents a character-granular source range.

llvm::DIMacroFile * CreateTempMacroFile(llvm::DIMacroFile *Parent, SourceLocation LineLoc, SourceLocation FileLoc)

Create debug info for a file referenced by an #include directive.

llvm::DIMacro * CreateMacro(llvm::DIMacroFile *Parent, unsigned MType, SourceLocation LineLoc, StringRef Name, StringRef Value)

Create debug info for a macro defined by a #define directive or a macro undefined by a #undef directi...

The primary public interface to the Clang code generator.

CodeGen::CGDebugInfo * getCGDebugInfo()

Return debug info code generator.

An opaque identifier used by SourceManager which refers to a source file (MemoryBuffer) along with it...

One of these records is kept for each identifier that is lexed.

StringRef getName() const

Return the actual identifier string.

A description of the current definition of a macro.

Encapsulates changes to the "macros namespace" (the location where the macro name became active,...

const MacroInfo * getMacroInfo() const

Encapsulates the data about a macro definition (e.g.

bool isFunctionLike() const

param_iterator param_begin() const

IdentifierInfo *const * param_iterator

Parameters - The list of parameters for a function-like macro.

param_iterator param_end() const

ArrayRef< Token > tokens() const

bool isGNUVarargs() const

void MacroUndefined(const Token &MacroNameTok, const MacroDefinition &MD, const MacroDirective *Undef) override

Hook called whenever a macro #undef is seen.

void InclusionDirective(SourceLocation HashLoc, const Token &IncludeTok, StringRef FileName, bool IsAngled, CharSourceRange FilenameRange, OptionalFileEntryRef File, StringRef SearchPath, StringRef RelativePath, const Module *SuggestedModule, bool ModuleImported, SrcMgr::CharacteristicKind FileType) override

Callback invoked whenever a directive (#xxx) is processed.

void MacroDefined(const Token &MacroNameTok, const MacroDirective *MD) override

Hook called whenever a macro definition is seen.

void FileChanged(SourceLocation Loc, FileChangeReason Reason, SrcMgr::CharacteristicKind FileType, FileID PrevFID=FileID()) override

Callback invoked whenever a source file is entered or exited.

MacroPPCallbacks(CodeGenerator *Gen, Preprocessor &PP)

Describes a module or submodule.

Engages in a tight little dance with the lexer to efficiently preprocess tokens.

SourceManager & getSourceManager() const

StringRef getSpelling(SourceLocation loc, SmallVectorImpl< char > &buffer, bool *invalid=nullptr) const

Return the 'spelling' of the token at the given location; does not go up to the spelling location or ...

Encodes a location in the source.

bool isWrittenInBuiltinFile(SourceLocation Loc) const

Returns whether Loc is located in a <built-in> file.

bool isWrittenInCommandLineFile(SourceLocation Loc) const

Returns whether Loc is located in a <command line> file.

Token - This structure provides full information about a lexed token.

IdentifierInfo * getIdentifierInfo() const

SourceLocation getLocation() const

Return a source location identifier for the specified offset in the current file.

CharacteristicKind

Indicates whether a file or directory holds normal user code, system code, or system code which is im...

The JSON file list parser is used to communicate input to InstallAPI.

const FunctionProtoType * T


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4