Fix the clang-wpa example.
[clang.git] / test / SemaObjCXX / objc2-merge-gc-attribue-decl.mm
blob7be5f17daa80345bfc1e9742d0c09253d8c0e03e
1 // RUN: %clang_cc1 -triple i386-apple-darwin9 -fobjc-gc -fsyntax-only -verify %s
2 @interface INTF @end
4 extern INTF* p2;
5 extern __strong INTF* p2;
7 extern __strong id p1;
8 extern id p1;
10 extern id CFRunLoopGetMain();
11 extern __strong id CFRunLoopGetMain();
13 extern __strong id CFRunLoopGetMain2();
14 extern id CFRunLoopGetMain2();
16 extern INTF* CFRunLoopGetMain3();
17 extern __strong INTF* CFRunLoopGetMain3();
19 extern __strong INTF* CFRunLoopGetMain4();
20 extern INTF* CFRunLoopGetMain4();
22 typedef id ID;
23 extern ID CFRunLoopGetMain5();
24 extern __strong id CFRunLoopGetMain5();
26 extern __strong id CFRunLoopGetMain6();
27 extern ID CFRunLoopGetMain6();
29 extern ID CFRunLoopGetMain7();
30 extern __strong ID CFRunLoopGetMain7();
32 extern __strong ID CFRunLoopGetMain8();
33 extern ID CFRunLoopGetMain8();
35 extern __weak id WLoopGetMain(); // expected-note {{previous declaration is here}}
36 extern id WLoopGetMain();       // expected-error {{functions that differ only in their return type cannot be overloaded}}
38 extern id p3;   // expected-note {{previous definition is here}}
39 extern __weak id p3;    // expected-error {{redefinition of 'p3' with a different type}}
41 extern void *p4; // expected-note {{previous definition is here}}
42 extern void * __strong p4; // expected-error {{redefinition of 'p4' with a different type}}
44 extern id p5;
45 extern __strong id p5;
47 extern char* __strong p6; // expected-note {{previous definition is here}}
48 extern char* p6; // expected-error {{redefinition of 'p6' with a different type}}
50 extern __strong char* p7; // expected-note {{previous definition is here}}
51 extern char* p7; // expected-error {{redefinition of 'p7' with a different type}}