| 1 | // RUN: %clang_cc1 -Wno-objc-root-class -fsyntax-only -verify %s |
| 2 | |
| 3 | @interface Foo |
| 4 | @end |
| 5 | |
| 6 | @implementation Foo |
| 7 | - (int)add:(int)a with:(int)b { |
| 8 | return a + b; |
| 9 | } |
| 10 | |
| 11 | - (void)testIntegerOverflows { |
| 12 | // expected-warning@+1 {{overflow in expression; result is 536870912 with type 'int'}} |
| 13 | (void)[self add:0 with:4608 * 1024 * 1024]; |
| 14 | |
| 15 | // expected-warning@+1 {{overflow in expression; result is 536870912 with type 'int'}} |
| 16 | (void)[self add:0 with:[self add:4608 * 1024 * 1024 with:0]]; |
| 17 | } |
| 18 | @end |
| 19 | |