2013-01-09 23:04:56 +00:00
|
|
|
// RUN: %clang_cc1 -fsyntax-only -verify -triple x86_64-apple-darwin10 %s
|
|
|
|
// RUN: %clang_cc1 -x c++ -fsyntax-only -verify -triple x86_64-apple-darwin10 %s
|
|
|
|
// rdar://11577384
|
|
|
|
|
|
|
|
int f(int i) {
|
|
|
|
switch (i) {
|
|
|
|
case 2147483647 + 2: // expected-note {{value 2147483649 is outside the range of representable values of type 'int'}} \
|
2013-01-11 19:33:54 +00:00
|
|
|
// expected-warning {{overflow in case constant expression results in value -2147483647}}
|
2013-01-09 23:04:56 +00:00
|
|
|
return 1;
|
|
|
|
case 9223372036854775807L * 4 : // expected-note {{value 36893488147419103228 is outside the range of representable values of type 'long'}} \
|
2013-01-11 19:33:54 +00:00
|
|
|
// expected-warning {{overflow in case constant expression results in value -4}}
|
2013-01-09 23:04:56 +00:00
|
|
|
return 2;
|
|
|
|
case 2147483647:
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|