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