From 694cb5d9b7724a0c6dba3adbf7c855e847a6f0de Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Fri, 16 Jan 2015 15:37:11 +0000 Subject: Add comdats to constructs and destructor in the microsoft abi. llvm-svn: 226280 --- clang/lib/CodeGen/MicrosoftCXXABI.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'clang/lib/CodeGen/MicrosoftCXXABI.cpp') diff --git a/clang/lib/CodeGen/MicrosoftCXXABI.cpp b/clang/lib/CodeGen/MicrosoftCXXABI.cpp index c80db7d18a1..a7671d80ff5 100644 --- a/clang/lib/CodeGen/MicrosoftCXXABI.cpp +++ b/clang/lib/CodeGen/MicrosoftCXXABI.cpp @@ -3037,7 +3037,8 @@ static void emitCXXConstructor(CodeGenModule &CGM, const CXXConstructorDecl *ctor, StructorType ctorType) { // There are no constructor variants, always emit the complete destructor. - CGM.codegenCXXStructor(ctor, StructorType::Complete); + llvm::Function *Fn = CGM.codegenCXXStructor(ctor, StructorType::Complete); + CGM.maybeSetTrivialComdat(*ctor, *Fn); } static void emitCXXDestructor(CodeGenModule &CGM, const CXXDestructorDecl *dtor, @@ -3063,7 +3064,8 @@ static void emitCXXDestructor(CodeGenModule &CGM, const CXXDestructorDecl *dtor, if (dtorType == StructorType::Base && !CGM.TryEmitBaseDestructorAsAlias(dtor)) return; - CGM.codegenCXXStructor(dtor, dtorType); + llvm::Function *Fn = CGM.codegenCXXStructor(dtor, dtorType); + CGM.maybeSetTrivialComdat(*dtor, *Fn); } void MicrosoftCXXABI::emitCXXStructor(const CXXMethodDecl *MD, -- cgit v1.2.3