summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGExprConstant.cpp
diff options
context:
space:
mode:
authorAlexey Samsonov <samsonov@google.com>2013-04-05 07:47:28 +0000
committerAlexey Samsonov <samsonov@google.com>2013-04-05 07:47:28 +0000
commitcb9efbe6d727d2eb8a62fd7df2a91055b037f11b (patch)
treef89b864218a0ff2c0d8e417615aad20eb8bb7f63 /clang/lib/CodeGen/CGExprConstant.cpp
parent46b8665ea49afebea3161dbad80f81b4d81fd83f (diff)
downloadbcm5719-llvm-cb9efbe6d727d2eb8a62fd7df2a91055b037f11b.tar.gz
bcm5719-llvm-cb9efbe6d727d2eb8a62fd7df2a91055b037f11b.zip
Allow EmitConstantInit() to emit constant initializers for objects with trivial constructors and non-trivial destructors. Test that such objects are ignored by init-order checker.
llvm-svn: 178856
Diffstat (limited to 'clang/lib/CodeGen/CGExprConstant.cpp')
-rw-r--r--clang/lib/CodeGen/CGExprConstant.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/clang/lib/CodeGen/CGExprConstant.cpp b/clang/lib/CodeGen/CGExprConstant.cpp
index e3e5d666051..faaf6468f1e 100644
--- a/clang/lib/CodeGen/CGExprConstant.cpp
+++ b/clang/lib/CodeGen/CGExprConstant.cpp
@@ -1018,8 +1018,7 @@ llvm::Constant *CodeGenModule::EmitConstantInit(const VarDecl &D,
if (const CXXConstructExpr *E =
dyn_cast_or_null<CXXConstructExpr>(D.getInit())) {
const CXXConstructorDecl *CD = E->getConstructor();
- if (CD->isTrivial() && CD->isDefaultConstructor() &&
- Ty->getAsCXXRecordDecl()->hasTrivialDestructor())
+ if (CD->isTrivial() && CD->isDefaultConstructor())
return EmitNullConstant(D.getType());
}
}
OpenPOWER on IntegriCloud