Update analyzer build.
[clang.git] / test / Parser / objc-init.m
blob32ba948f472de6b387b315735f7e62474036c5f2
1 // RUN: %clang_cc1 -fsyntax-only -verify %s -pedantic
2 // RUN: %clang_cc1 -fsyntax-only -verify -x objective-c++ %s 
3 // rdar://5707001
5 @interface NSNumber;
6 - () METH;
7 - (unsigned) METH2;
8 @end
10 struct SomeStruct {
11   int x, y, z, q;
14 void test1() {
15         id objects[] = {[NSNumber METH]};
18 void test2(NSNumber x) { // expected-error {{Objective-C interface type 'NSNumber' cannot be passed by value; did you forget * in 'NSNumber'}}
19         id objects[] = {[x METH]};
22 void test3(NSNumber *x) {
23         id objects[] = {[x METH]};
27 // rdar://5977581
28 void test4() {
29   unsigned x[] = {[NSNumber METH2]+2};
32 void test5(NSNumber *x) {
33   unsigned y[] = {
34     [4][NSNumber METH2]+2,   // expected-warning {{use of GNU 'missing =' extension in designator}}
35     [4][x METH2]+2   // expected-warning {{use of GNU 'missing =' extension in designator}}
36   };
37   
38   struct SomeStruct z = {
39     .x = [x METH2], // ok.
40     .x [x METH2]    // expected-error {{expected '=' or another designator}}
41   };
44 // rdar://7370882
45 @interface SemicolonsAppDelegate 
47   id i;
49 @property (assign) id window;
50 @end
52 @implementation SemicolonsAppDelegate
54   id i;
56   @synthesize window=i;
57 @end