117 lines · plain
1// RUN: %clang_cc1 %s -fsyntax-only -Wobjc-property-implementation -Watomic-property-with-user-defined-accessor -Wunused 2> %t.err2// RUN: FileCheck -input-file=%t.err %s3 4@interface I5@end6 7@interface I(cat)8@property id prop1;9@property id prop2;10@property id prop3;11@end12 13@implementation I(cat)14@end15 16// CHECK: warning: property 'prop1' requires method17// CHECK: warning: property 'prop2' requires method18// CHECK: warning: property 'prop3' requires method19 20@interface I221@property int prop1;22@property int prop2;23@property int prop3;24@end25 26@implementation I227@synthesize prop1, prop2, prop3;28-(int) prop1 { return 0; }29-(int) prop2 { return 0; }30-(int) prop3 { return 0; }31@end32 33// CHECK: warning: writable atomic property 'prop1'34// CHECK: warning: writable atomic property 'prop2'35// CHECK: warning: writable atomic property 'prop3'36 37void test_unused() {38 // Add enough variables to exceed the small storage of Scope::DeclSetTy.39 int v1;40 int v2;41 int v3;42 int v4;43 int v5;44 int v6;45 int v7;46 int v8;47 int v9;48 int v10;49 int v11;50 int v12;51 int v13;52 int v14;53 int v15;54 int v16;55 int v17;56 int v18;57 int v19;58 int v20;59 int v21;60 int v22;61 int v23;62 int v24;63 int v25;64 int v26;65 int v27;66 int v28;67 int v29;68 int v30;69 int v31;70 int v32;71 int v33;72 int v34;73 int v35;74 int v36;75 int v37;76 int v38;77}78 79// CHECK: warning: unused variable 'v1'80// CHECK: warning: unused variable 'v2'81// CHECK: warning: unused variable 'v3'82// CHECK: warning: unused variable 'v4'83// CHECK: warning: unused variable 'v5'84// CHECK: warning: unused variable 'v6'85// CHECK: warning: unused variable 'v7'86// CHECK: warning: unused variable 'v8'87// CHECK: warning: unused variable 'v9'88// CHECK: warning: unused variable 'v10'89// CHECK: warning: unused variable 'v11'90// CHECK: warning: unused variable 'v12'91// CHECK: warning: unused variable 'v13'92// CHECK: warning: unused variable 'v14'93// CHECK: warning: unused variable 'v15'94// CHECK: warning: unused variable 'v16'95// CHECK: warning: unused variable 'v17'96// CHECK: warning: unused variable 'v18'97// CHECK: warning: unused variable 'v19'98// CHECK: warning: unused variable 'v20'99// CHECK: warning: unused variable 'v21'100// CHECK: warning: unused variable 'v22'101// CHECK: warning: unused variable 'v23'102// CHECK: warning: unused variable 'v24'103// CHECK: warning: unused variable 'v25'104// CHECK: warning: unused variable 'v26'105// CHECK: warning: unused variable 'v27'106// CHECK: warning: unused variable 'v28'107// CHECK: warning: unused variable 'v29'108// CHECK: warning: unused variable 'v30'109// CHECK: warning: unused variable 'v31'110// CHECK: warning: unused variable 'v32'111// CHECK: warning: unused variable 'v33'112// CHECK: warning: unused variable 'v34'113// CHECK: warning: unused variable 'v35'114// CHECK: warning: unused variable 'v36'115// CHECK: warning: unused variable 'v37'116// CHECK: warning: unused variable 'v38'117