summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenModule.h
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2014-09-15 18:46:13 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2014-09-15 18:46:13 +0000
commit02b77f4248815b31e711e506bfd8c440ddbd9ad1 (patch)
treee2d40cc7bdd54a700d95dd601c516c0418909a16 /clang/lib/CodeGen/CodeGenModule.h
parentd759fe57643ed07e3b4cec9683be9cfca2641db9 (diff)
downloadbcm5719-llvm-02b77f4248815b31e711e506bfd8c440ddbd9ad1.tar.gz
bcm5719-llvm-02b77f4248815b31e711e506bfd8c440ddbd9ad1.zip
Create a emitCXXStructor function and make the existing emitCXXConstructor and
emitCXXDestructor static helpers. A next patch will make it a helper in CGCXXABI. llvm-svn: 217804
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.h')
-rw-r--r--clang/lib/CodeGen/CodeGenModule.h24
1 files changed, 11 insertions, 13 deletions
diff --git a/clang/lib/CodeGen/CodeGenModule.h b/clang/lib/CodeGen/CodeGenModule.h
index 3b4417b351f..1ae09c84cc9 100644
--- a/clang/lib/CodeGen/CodeGenModule.h
+++ b/clang/lib/CodeGen/CodeGenModule.h
@@ -1044,6 +1044,14 @@ public:
/// are emitted lazily.
void EmitGlobal(GlobalDecl D);
+ bool TryEmitDefinitionAsAlias(GlobalDecl Alias, GlobalDecl Target,
+ bool InEveryTU);
+ bool TryEmitBaseDestructorAsAlias(const CXXDestructorDecl *D);
+
+ /// Set attributes for a global definition.
+ void setFunctionDefinitionAttributes(const FunctionDecl *D,
+ llvm::Function *F);
+
private:
llvm::GlobalValue *GetGlobalValue(StringRef Ref);
@@ -1064,10 +1072,6 @@ private:
void setNonAliasAttributes(const Decl *D, llvm::GlobalObject *GO);
- /// Set attributes for a global definition.
- void setFunctionDefinitionAttributes(const FunctionDecl *D,
- llvm::Function *F);
-
/// Set function attributes for a function declaration.
void SetFunctionAttributes(GlobalDecl GD,
llvm::Function *F,
@@ -1083,19 +1087,13 @@ private:
// C++ related functions.
- bool TryEmitDefinitionAsAlias(GlobalDecl Alias, GlobalDecl Target,
- bool InEveryTU);
- bool TryEmitBaseDestructorAsAlias(const CXXDestructorDecl *D);
-
void EmitNamespace(const NamespaceDecl *D);
void EmitLinkageSpec(const LinkageSpecDecl *D);
void CompleteDIClassType(const CXXMethodDecl* D);
- /// Emit a single constructor with the given type from a C++ constructor Decl.
- void EmitCXXConstructor(const CXXConstructorDecl *D, CXXCtorType Type);
-
- /// Emit a single destructor with the given type from a C++ destructor Decl.
- void EmitCXXDestructor(const CXXDestructorDecl *D, CXXDtorType Type);
+ /// Emit a single constructor/destructor with the given type from a C++
+ /// constructor Decl.
+ void emitCXXStructor(const CXXMethodDecl *D, StructorType Type);
/// \brief Emit the function that initializes C++ thread_local variables.
void EmitCXXThreadLocalInitFunc();
OpenPOWER on IntegriCloud