From dbe13110f59f48b4dbb7552b3ac2935acdeece7f Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Sat, 14 Apr 2012 14:01:31 +0000 Subject: Vendor import of clang trunk r154661: http://llvm.org/svn/llvm-project/cfe/trunk@r154661 --- lib/CodeGen/ModuleBuilder.cpp | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'lib/CodeGen/ModuleBuilder.cpp') diff --git a/lib/CodeGen/ModuleBuilder.cpp b/lib/CodeGen/ModuleBuilder.cpp index 793ee9192e6bc..ea2389e66b5af 100644 --- a/lib/CodeGen/ModuleBuilder.cpp +++ b/lib/CodeGen/ModuleBuilder.cpp @@ -28,12 +28,12 @@ using namespace clang; namespace { class CodeGeneratorImpl : public CodeGenerator { DiagnosticsEngine &Diags; - llvm::OwningPtr TD; + OwningPtr TD; ASTContext *Ctx; const CodeGenOptions CodeGenOpts; // Intentionally copied in. protected: - llvm::OwningPtr M; - llvm::OwningPtr Builder; + OwningPtr M; + OwningPtr Builder; public: CodeGeneratorImpl(DiagnosticsEngine &diags, const std::string& ModuleName, const CodeGenOptions &CGO, llvm::LLVMContext& C) @@ -59,10 +59,15 @@ namespace { *M, *TD, Diags)); } - virtual void HandleTopLevelDecl(DeclGroupRef DG) { + virtual void HandleCXXStaticMemberVarInstantiation(VarDecl *VD) { + Builder->HandleCXXStaticMemberVarInstantiation(VD); + } + + virtual bool HandleTopLevelDecl(DeclGroupRef DG) { // Make sure to emit all elements of a Decl. for (DeclGroupRef::iterator I = DG.begin(), E = DG.end(); I != E; ++I) Builder->EmitTopLevelDecl(*I); + return true; } /// HandleTagDeclDefinition - This callback is invoked each time a TagDecl @@ -74,7 +79,7 @@ namespace { // In C++, we may have member functions that need to be emitted at this // point. - if (Ctx->getLangOptions().CPlusPlus && !D->isDependentContext()) { + if (Ctx->getLangOpts().CPlusPlus && !D->isDependentContext()) { for (DeclContext::decl_iterator M = D->decls_begin(), MEnd = D->decls_end(); M != MEnd; ++M) @@ -112,6 +117,8 @@ namespace { }; } +void CodeGenerator::anchor() { } + CodeGenerator *clang::CreateLLVMCodeGen(DiagnosticsEngine &Diags, const std::string& ModuleName, const CodeGenOptions &CGO, -- cgit v1.2.3