clang API Documentation

Public Member Functions | Static Public Member Functions
clang::BackendConsumer Class Reference
Inheritance diagram for clang::BackendConsumer:
Inheritance graph
[legend]
Collaboration diagram for clang::BackendConsumer:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 BackendConsumer (BackendAction action, DiagnosticsEngine &_Diags, const CodeGenOptions &compopts, const TargetOptions &targetopts, const LangOptions &langopts, bool TimePasses, const std::string &infile, llvm::Module *LinkModule, raw_ostream *OS, LLVMContext &C)
llvm::Module * takeModule ()
llvm::Module * takeLinkModule ()
virtual void HandleCXXStaticMemberVarInstantiation (VarDecl *VD)
 HandleCXXStaticMemberVarInstantiation - Tell the consumer that this.
virtual void Initialize (ASTContext &Ctx)
virtual bool HandleTopLevelDecl (DeclGroupRef D)
virtual void HandleTranslationUnit (ASTContext &C)
virtual void HandleTagDeclDefinition (TagDecl *D)
virtual void CompleteTentativeDefinition (VarDecl *D)
virtual void HandleVTable (CXXRecordDecl *RD, bool DefinitionRequired)
 Callback involved at the end of a translation unit to notify the consumer that a vtable for the given C++ class is required.
void InlineAsmDiagHandler2 (const llvm::SMDiagnostic &, SourceLocation LocCookie)

Static Public Member Functions

static void InlineAsmDiagHandler (const llvm::SMDiagnostic &SM, void *Context, unsigned LocCookie)

Detailed Description

Definition at line 36 of file CodeGenAction.cpp.


Constructor & Destructor Documentation

clang::BackendConsumer::BackendConsumer ( BackendAction  action,
DiagnosticsEngine _Diags,
const CodeGenOptions compopts,
const TargetOptions targetopts,
const LangOptions langopts,
bool  TimePasses,
const std::string &  infile,
llvm::Module *  LinkModule,
raw_ostream *  OS,
LLVMContext &  C 
) [inline]

Definition at line 53 of file CodeGenAction.cpp.


Member Function Documentation

virtual void clang::BackendConsumer::CompleteTentativeDefinition ( VarDecl D) [inline, virtual]

CompleteTentativeDefinition - Callback invoked at the end of a translation unit to notify the consumer that the given tentative definition should be completed.

The variable declaration itself will be a tentative definition. If it had an incomplete array type, its type will have already been changed to an array of size 1. However, the declaration remains a tentative definition and has not been modified by the introduction of an implicit zero initializer.

Reimplemented from clang::ASTConsumer.

Definition at line 172 of file CodeGenAction.cpp.

virtual void clang::BackendConsumer::HandleCXXStaticMemberVarInstantiation ( VarDecl D) [inline, virtual]

HandleCXXStaticMemberVarInstantiation - Tell the consumer that this.

Reimplemented from clang::ASTConsumer.

Definition at line 77 of file CodeGenAction.cpp.

virtual void clang::BackendConsumer::HandleTagDeclDefinition ( TagDecl D) [inline, virtual]

HandleTagDeclDefinition - This callback is invoked each time a TagDecl (e.g. struct, union, enum, class) is completed. This allows the client to hack on the type, which can occur at any point in the file (because these can be defined in declspecs).

Reimplemented from clang::ASTConsumer.

Definition at line 165 of file CodeGenAction.cpp.

virtual bool clang::BackendConsumer::HandleTopLevelDecl ( DeclGroupRef  D) [inline, virtual]

HandleTopLevelDecl - Handle the specified top-level declaration. This is called by the parser to process every top-level Decl*. Note that D can be the head of a chain of Decls (e.g. for `int a, b` the chain will have two elements). Use Decl::getNextDeclarator() to walk the chain.

Returns:
true to continue parsing, or false to abort parsing.

Reimplemented from clang::ASTConsumer.

Definition at line 95 of file CodeGenAction.cpp.

References clang::DeclGroupRef::begin().

virtual void clang::BackendConsumer::HandleTranslationUnit ( ASTContext Ctx) [inline, virtual]

HandleTranslationUnit - This method is called when the ASTs for entire translation unit have been parsed.

Reimplemented from clang::ASTConsumer.

Definition at line 111 of file CodeGenAction.cpp.

References clang::EmitBackendOutput().

virtual void clang::BackendConsumer::HandleVTable ( CXXRecordDecl RD,
bool  DefinitionRequired 
) [inline, virtual]

Callback involved at the end of a translation unit to notify the consumer that a vtable for the given C++ class is required.

Parameters:
RDThe class whose vtable was used.
DefinitionRequiredWhether a definition of this vtable is required in this translation unit; otherwise, it is only needed if it was actually used.

Reimplemented from clang::ASTConsumer.

Definition at line 176 of file CodeGenAction.cpp.

virtual void clang::BackendConsumer::Initialize ( ASTContext Context) [inline, virtual]

Initialize - This is called to initialize the consumer, providing the ASTContext.

Reimplemented from clang::ASTConsumer.

Definition at line 81 of file CodeGenAction.cpp.

static void clang::BackendConsumer::InlineAsmDiagHandler ( const llvm::SMDiagnostic &  SM,
void *  Context,
unsigned  LocCookie 
) [inline, static]

Definition at line 180 of file CodeGenAction.cpp.

References clang::SourceLocation::getFromRawEncoding().

void BackendConsumer::InlineAsmDiagHandler2 ( const llvm::SMDiagnostic &  D,
SourceLocation  LocCookie 
)

InlineAsmDiagHandler2 - This function is invoked when the backend hits an error parsing inline asm. The SMDiagnostic indicates the error relative to the temporary memory buffer that the inline asm parser has set up.

Definition at line 224 of file CodeGenAction.cpp.

References ConvertBackendLocation(), clang::SourceLocation::getLocWithOffset(), and clang::SourceLocation::isValid().

llvm::Module* clang::BackendConsumer::takeLinkModule ( ) [inline]

Definition at line 75 of file CodeGenAction.cpp.

Referenced by clang::CodeGenAction::EndSourceFileAction().

llvm::Module* clang::BackendConsumer::takeModule ( ) [inline]

Definition at line 74 of file CodeGenAction.cpp.

Referenced by clang::CodeGenAction::EndSourceFileAction().


The documentation for this class was generated from the following file: