diff options
| author | David Majnemer <david.majnemer@gmail.com> | 2015-08-29 08:32:55 +0000 |
|---|---|---|
| committer | David Majnemer <david.majnemer@gmail.com> | 2015-08-29 08:32:55 +0000 |
| commit | c378ca50439247782a87973bf876676685297854 (patch) | |
| tree | c9d14f4efc37db70d75a7ca06e8cead6d30754d9 /clang/test | |
| parent | e4d0c142e8e9cf8b456c06f5ce9641d89b67ac86 (diff) | |
| download | bcm5719-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.c | 4 |
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}} |

