Remove Sema::CheckForIntOverflow, and instead check all full-expressions.

CheckForIntOverflow used to implement a whitelist of top-level expressions to
send to the constant expression evaluator, which handled many more expressions
than the CheckForIntOverflow whitelist did.

llvm-svn: 301742
This commit is contained in:
Nick Lewycky
2017-04-29 09:33:46 +00:00
parent 8fb5a14cad
commit e7d6fbdfb7
16 changed files with 41 additions and 65 deletions

View File

@@ -107,9 +107,8 @@ S3 h; // expected-note 2 {{'h' defined here}}
template<class I, class C> int foomain(I argc, C **argv) {
I e(argc);
I g(argc);
int i; // expected-note {{declared here}} expected-note {{'i' defined here}}
// expected-note@+2 {{declared here}}
// expected-note@+1 {{reference to 'i' is not a constant expression}}
int i; // expected-note {{'i' defined here}}
// expected-note@+1 {{declared here}}
int &j = i;
#pragma omp taskloop simd aligned // expected-error {{expected '(' after 'aligned'}}
for (I k = 0; k < argc; ++k) ++k;