diff options
| author | Richard Smith <richard-llvm@metafoo.co.uk> | 2011-12-09 22:58:01 +0000 |
|---|---|---|
| committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2011-12-09 22:58:01 +0000 |
| commit | f57d8cb13121b1ecc171a7dc4393ed4cbebb835b (patch) | |
| tree | 10134e5be0bb4b635552ded4670615102ee77a1b /clang/test/Sema/i-c-e.c | |
| parent | 4517fe5020b842d8e82d35775d1925596ae1f588 (diff) | |
| download | bcm5719-llvm-f57d8cb13121b1ecc171a7dc4393ed4cbebb835b.tar.gz bcm5719-llvm-f57d8cb13121b1ecc171a7dc4393ed4cbebb835b.zip | |
C++11 constant expressions: Don't use CheckICE in C++11; instead, determine
whether an expression is a (core) constant expression as a side-effect of
evaluation. This takes us from accepting far too few expressions as ICEs to
accepting slightly too many -- fixes for the remaining cases are coming next.
The diagnostics produced when an expression is found to be non-constant are
currently quite poor (with generic wording but reasonable source locations),
and will be improved in subsequent commits.
llvm-svn: 146289
Diffstat (limited to 'clang/test/Sema/i-c-e.c')
| -rw-r--r-- | clang/test/Sema/i-c-e.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/test/Sema/i-c-e.c b/clang/test/Sema/i-c-e.c index cb9dcabafce..210a811dc5d 100644 --- a/clang/test/Sema/i-c-e.c +++ b/clang/test/Sema/i-c-e.c @@ -21,7 +21,7 @@ char b[__builtin_constant_p((int)(1.0+2.0)) ? (int)(1.0+2.0) : -1]; struct c { int a : ( // expected-error {{expression is not an integer constant expression}} __builtin_constant_p((int)(1.0+2.0)) ? (int)(1.0+ - expr // expected-note {{subexpression not valid in an integer constant expression}} + expr // expected-note {{subexpression not valid in a constant expression}} ) : -1); }; |

