Improve diagnsotic further on integer overflow.
llvm-svn: 173461
This commit is contained in:
parent
48eaffc9f7
commit
740396437b
|
@ -107,7 +107,7 @@ def note_constexpr_calls_suppressed : Note<
|
|||
"see all)">;
|
||||
def note_constexpr_call_here : Note<"in call to '%0'">;
|
||||
def warn_integer_constant_overflow : Warning<
|
||||
"overflow of constant expression results in value %0 of type %1">,
|
||||
"overflow in expression;result is %0 with type %1">,
|
||||
InGroup<DiagGroup<"integer-overflow">>;
|
||||
|
||||
// inline asm related.
|
||||
|
|
|
@ -4,14 +4,15 @@
|
|||
|
||||
int f(int i) {
|
||||
switch (i) {
|
||||
case 2147483647 + 2: // expected-warning {{overflow of constant expression results in value -2147483647 of type 'int'}}
|
||||
case 2147483647 + 2: // expected-warning {{overflow in expression;result is -2147483647 with type 'int'}}
|
||||
return 1;
|
||||
case 9223372036854775807L * 4: // expected-warning {{overflow of constant expression results in value -4 of type 'long'}}
|
||||
case 9223372036854775807L * 4: // expected-warning {{overflow in expression;result is -4 with type 'long'}}
|
||||
return 2;
|
||||
case (123456 *789012) + 1: // expected-warning {{overflow of constant expression results in value -1375982336 of type 'int'}}
|
||||
case (123456 *789012) + 1: // expected-warning {{overflow in expression;result is -1375982336 with type 'int'}}
|
||||
return 3;
|
||||
case 2147483647:
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
return (i, 65537) * 65537; // expected-warning {{overflow in expression;result is 131073 with type 'int'}} \
|
||||
// expected-warning {{expression result unused}}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue