diff options
author | John McCall <rjmccall@apple.com> | 2013-01-25 22:30:49 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2013-01-25 22:30:49 +0000 |
commit | 359b885e12815e8d63adcfb5760696bad82c6908 (patch) | |
tree | 05bc70111419911287711b82761e48cf92d796bd /clang/lib/CodeGen/CGClass.cpp | |
parent | c018aadc12c8d81ae8c35e644b132da71a4bf5e3 (diff) | |
download | bcm5719-llvm-359b885e12815e8d63adcfb5760696bad82c6908.tar.gz bcm5719-llvm-359b885e12815e8d63adcfb5760696bad82c6908.zip |
First pass at abstracting out a class for the target C++ ABI.
llvm-svn: 173514
Diffstat (limited to 'clang/lib/CodeGen/CGClass.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGClass.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/CodeGen/CGClass.cpp b/clang/lib/CodeGen/CGClass.cpp index 585d3ba54e7..5d1e30fef64 100644 --- a/clang/lib/CodeGen/CGClass.cpp +++ b/clang/lib/CodeGen/CGClass.cpp @@ -721,7 +721,7 @@ void CodeGenFunction::EmitConstructorBody(FunctionArgList &Args) { // Before we go any further, try the complete->base constructor // delegation optimization. if (CtorType == Ctor_Complete && IsConstructorDelegationValid(Ctor) && - CGM.getContext().getTargetInfo().getCXXABI() != CXXABI_Microsoft) { + CGM.getContext().getTargetInfo().getCXXABI().hasConstructorVariants()) { if (CGDebugInfo *DI = getDebugInfo()) DI->EmitLocation(Builder, Ctor->getLocEnd()); EmitDelegateCXXConstructorCall(Ctor, Ctor_Base, Args); @@ -920,7 +920,8 @@ void CodeGenFunction::EmitDestructorBody(FunctionArgList &Args) { // Enter the cleanup scopes for virtual bases. EnterDtorCleanups(Dtor, Dtor_Complete); - if (!isTryBody && CGM.getContext().getTargetInfo().getCXXABI() != CXXABI_Microsoft) { + if (!isTryBody && + CGM.getContext().getTargetInfo().getCXXABI().hasDestructorVariants()) { EmitCXXDestructorCall(Dtor, Dtor_Base, /*ForVirtualBase=*/false, LoadCXXThis()); break; |