blob: 50129c3ee215e307620a2e5cf7245b7ec63c6ed9 [file] [log] [blame]
Fariborz Jahaniana18e70b2013-01-09 23:04:56 +00001// RUN: %clang_cc1 -fsyntax-only -verify -triple x86_64-apple-darwin10 %s
2// RUN: %clang_cc1 -x c++ -fsyntax-only -verify -triple x86_64-apple-darwin10 %s
3// rdar://11577384
4
5int f(int i) {
6 switch (i) {
Fariborz Jahaniana7972a02013-01-24 23:24:32 +00007 case 2147483647 + 2: // expected-warning {{overflow of constant expression results in value -2147483647 of type 'int'}}
Fariborz Jahaniana18e70b2013-01-09 23:04:56 +00008 return 1;
Fariborz Jahaniana7972a02013-01-24 23:24:32 +00009 case 9223372036854775807L * 4: // expected-warning {{overflow of constant expression results in value -4 of type 'long'}}
Fariborz Jahaniana18e70b2013-01-09 23:04:56 +000010 return 2;
Fariborz Jahaniana7972a02013-01-24 23:24:32 +000011 case (123456 *789012) + 1: // expected-warning {{overflow of constant expression results in value -1375982336 of type 'int'}}
Fariborz Jahanianad48a502013-01-24 22:11:45 +000012 return 3;
Fariborz Jahaniana18e70b2013-01-09 23:04:56 +000013 case 2147483647:
14 return 0;
15 }
16 return 0;
17}