summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
diff options
context:
space:
mode:
authorDavide Italiano <davide@freebsd.org>2015-06-21 16:33:50 +0000
committerDavide Italiano <davide@freebsd.org>2015-06-21 16:33:50 +0000
commit8c93d5eddc7524d17767b5546155d5be95c3696d (patch)
tree61ccdefbda654785b87e8328796b67509e23e293 /clang/lib/CodeGen
parentfd704fe8956828c668a74bd798ad9c8042c592c2 (diff)
downloadbcm5719-llvm-8c93d5eddc7524d17767b5546155d5be95c3696d.tar.gz
bcm5719-llvm-8c93d5eddc7524d17767b5546155d5be95c3696d.zip
[Codegen] Don't crash if destructor is not accessible.
Testcase provided, in the PR, by Christian Shelton and reduced by David Majnemer. PR: 23584 Differential Revision: http://reviews.llvm.org/D10508 Reviewed by: rnk llvm-svn: 240242
Diffstat (limited to 'clang/lib/CodeGen')
-rw-r--r--clang/lib/CodeGen/CGClass.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CGClass.cpp b/clang/lib/CodeGen/CGClass.cpp
index 1d2b7875d8f..4d6a4e288dd 100644
--- a/clang/lib/CodeGen/CGClass.cpp
+++ b/clang/lib/CodeGen/CGClass.cpp
@@ -1297,6 +1297,10 @@ HasTrivialDestructorBody(ASTContext &Context,
if (BaseClassDecl->hasTrivialDestructor())
return true;
+ // Give up if the destructor is not accessible.
+ if (!BaseClassDecl->getDestructor())
+ return false;
+
if (!BaseClassDecl->getDestructor()->hasTrivialBody())
return false;
OpenPOWER on IntegriCloud