[PowerPC] Collect some CallLowering arguments into a struct. [NFC]
[llvm-project.git] / clang / test / SemaObjC / sign-conversion.m
blob584ea1920271add9cae306351d00146f38a3dc30
1 // RUN: %clang_cc1 -fsyntax-only -verify -Wsign-conversion %s
2 // rdar://13855394
4 typedef unsigned int NSUInteger;
6 @interface NSObject
7 - new;
8 - (NSUInteger)hash;
9 @end
11 @interface X : NSObject
12 @property NSUInteger uint;
13 @end
15 @interface NSArray : NSObject 
17 - (NSUInteger)count;
18 - (id)objectAtIndex:(NSUInteger)index;
19 - (id)objectAtIndexedSubscript:(NSUInteger)index;
21 @end
23 void foo() {
24     X *x = [X new];
25     signed int sint = -1;
26     [x setUint:sint];  // expected-warning {{implicit conversion changes signedness: 'int' to 'NSUInteger'}}
27     x.uint = sint; // expected-warning {{implicit conversion changes signedness: 'int' to 'NSUInteger'}}
30 // rdar://13855682
31 void Test1() {
32 signed int si = -1;
33 NSArray *array;
35 (void)((NSObject*)array[si]).hash; // expected-warning {{implicit conversion changes signedness: 'int' to 'NSUInteger'}}
37 (void)[((NSObject*)array[si]) hash]; // expected-warning {{implicit conversion changes signedness: 'int' to 'NSUInteger'}}
38 (void)array[si]; // expected-warning {{implicit conversion changes signedness: 'int' to 'NSUInteger'}}