summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2015-08-29 08:32:55 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2015-08-29 08:32:55 +0000
commitc378ca50439247782a87973bf876676685297854 (patch)
treec9d14f4efc37db70d75a7ca06e8cead6d30754d9 /clang/test
parente4d0c142e8e9cf8b456c06f5ce9641d89b67ac86 (diff)
downloadbcm5719-llvm-c378ca50439247782a87973bf876676685297854.tar.gz
bcm5719-llvm-c378ca50439247782a87973bf876676685297854.zip
[AST] Don't crash when comparing incomplete object
We cannot tell if an object is past-the-end if its type is incomplete. Zero sized objects satisfy past-the-end criteria and our object might turn out to be such an object. This fixes PR24622. llvm-svn: 246359
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/Sema/const-eval.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/test/Sema/const-eval.c b/clang/test/Sema/const-eval.c
index 317173a43bb..bfb58bc573e 100644
--- a/clang/test/Sema/const-eval.c
+++ b/clang/test/Sema/const-eval.c
@@ -133,3 +133,7 @@ EVAL_EXPR(51, 0 != (float)1e99)
// PR21945
void PR21945() { int i = (({}), 0l); }
+
+void PR24622();
+struct PR24622 {} pr24622;
+EVAL_EXPR(52, &pr24622 == (void *)&PR24622); // expected-error {{must have a constant size}}
OpenPOWER on IntegriCloud