Patch to check for integer overflow. It has been
commented on and approved by Richard Smith.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173377 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/Sema/switch-1.c b/test/Sema/switch-1.c
index e029bc9..bcf30a8 100644
--- a/test/Sema/switch-1.c
+++ b/test/Sema/switch-1.c
@@ -4,12 +4,12 @@
int f(int i) {
switch (i) {
- case 2147483647 + 2: // expected-note {{value 2147483649 is outside the range of representable values of type 'int'}} \
- // expected-warning {{overflow in case constant expression results in value -2147483647}}
+ case 2147483647 + 2: // expected-warning {{overflow in case constant expression results in value -2147483647 of type 'int'}}
return 1;
- case 9223372036854775807L * 4 : // expected-note {{value 36893488147419103228 is outside the range of representable values of type 'long'}} \
- // expected-warning {{overflow in case constant expression results in value -4}}
+ case 9223372036854775807L * 4: // expected-warning {{overflow in case constant expression results in value -4 of type 'long'}}
return 2;
+ case (123456 *789012) + 1: // expected-warning {{overflow in case constant expression results in value -1375982336 of type 'int'}}
+ return 3;
case 2147483647:
return 0;
}