1 | // RUN: %clang_cc1 -triple i386-apple-darwin9 -fobjc-gc -fsyntax-only -verify %s |
2 | @interface INTF @end |
3 | |
4 | extern INTF* p2; |
5 | extern __strong INTF* p2; |
6 | |
7 | extern __strong id p1; |
8 | extern id p1; |
9 | |
10 | extern id CFRunLoopGetMain(); |
11 | extern __strong id CFRunLoopGetMain(); |
12 | |
13 | extern __strong id CFRunLoopGetMain2(); |
14 | extern id CFRunLoopGetMain2(); |
15 | |
16 | extern INTF* CFRunLoopGetMain3(); |
17 | extern __strong INTF* CFRunLoopGetMain3(); |
18 | |
19 | extern __strong INTF* CFRunLoopGetMain4(); |
20 | extern INTF* CFRunLoopGetMain4(); |
21 | |
22 | typedef id ID; |
23 | extern ID CFRunLoopGetMain5(); |
24 | extern __strong id CFRunLoopGetMain5(); |
25 | |
26 | extern __strong id CFRunLoopGetMain6(); |
27 | extern ID CFRunLoopGetMain6(); |
28 | |
29 | extern ID CFRunLoopGetMain7(); |
30 | extern __strong ID CFRunLoopGetMain7(); |
31 | |
32 | extern __strong ID CFRunLoopGetMain8(); |
33 | extern ID CFRunLoopGetMain8(); |
34 | |
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}} |
37 | |
38 | extern id p3; // expected-note {{previous declaration is here}} |
39 | extern __weak id p3; // expected-error {{redeclaration of 'p3' with a different type}} |
40 | |
41 | extern void *p4; // expected-note {{previous declaration is here}} |
42 | extern void * __strong p4; // expected-error {{redeclaration of 'p4' with a different type}} |
43 | |
44 | extern id p5; |
45 | extern __strong id p5; |
46 | |
47 | extern char* __strong p6; // expected-note {{previous declaration is here}} |
48 | extern char* p6; // expected-error {{redeclaration of 'p6' with a different type}} |
49 | |
50 | extern __strong char* p7; // expected-note {{previous declaration is here}} |
51 | extern char* p7; // expected-error {{redeclaration of 'p7' with a different type}} |
52 | |