diff options
Diffstat (limited to 'clang/test/SemaObjC/integer-overflow.m')
-rw-r--r-- | clang/test/SemaObjC/integer-overflow.m | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/clang/test/SemaObjC/integer-overflow.m b/clang/test/SemaObjC/integer-overflow.m new file mode 100644 index 00000000000..6d82e2951c1 --- /dev/null +++ b/clang/test/SemaObjC/integer-overflow.m @@ -0,0 +1,18 @@ +// RUN: %clang_cc1 -Wno-objc-root-class -fsyntax-only -verify %s + +@interface Foo +@end + +@implementation Foo +- (int)add:(int)a with:(int)b { + return a + b; +} + +- (void)testIntegerOverflows { +// expected-warning@+1 {{overflow in expression; result is 536870912 with type 'int'}} + (void)[self add:0 with:4608 * 1024 * 1024]; + +// expected-warning@+1 {{overflow in expression; result is 536870912 with type 'int'}} + (void)[self add:0 with:[self add:4608 * 1024 * 1024 with:0]]; +} +@end |