summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaExpr.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2011-12-09 22:58:01 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2011-12-09 22:58:01 +0000
commitf57d8cb13121b1ecc171a7dc4393ed4cbebb835b (patch)
tree10134e5be0bb4b635552ded4670615102ee77a1b /clang/lib/Sema/SemaExpr.cpp
parent4517fe5020b842d8e82d35775d1925596ae1f588 (diff)
downloadbcm5719-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/lib/Sema/SemaExpr.cpp')
-rw-r--r--clang/lib/Sema/SemaExpr.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp
index aeae6666dc9..f7e67cdf3e0 100644
--- a/clang/lib/Sema/SemaExpr.cpp
+++ b/clang/lib/Sema/SemaExpr.cpp
@@ -9206,7 +9206,7 @@ bool Sema::VerifyIntegerConstantExpression(const Expr *E, llvm::APSInt *Result){
if (EvalResult.Diag) {
// We only show the note if it's not the usual "invalid subexpression"
// or if it's actually in a subexpression.
- if (EvalResult.Diag != diag::note_invalid_subexpr_in_ice ||
+ if (EvalResult.Diag != diag::note_invalid_subexpr_in_const_expr ||
E->IgnoreParens() != EvalResult.DiagExpr->IgnoreParens())
Diag(EvalResult.DiagLoc, EvalResult.Diag);
}
OpenPOWER on IntegriCloud