1 // RUN: %clang_cc1 -triple x86_64-pc-linux-gnu -fsyntax-only -verify %s 2 f0()3void f0() {} 4 void fun0(void) __attribute((alias("f0"))); 5 f1()6void f1() {} fun1()7void fun1() {} // expected-note {{previous definition}} 8 void fun1(void) __attribute((alias("f1"))); // expected-error {{redefinition of 'fun1'}} 9 f2()10void f2() {} 11 void fun2(void) __attribute((alias("f2"))); // expected-note {{previous definition}} fun2()12void fun2() {} // expected-error {{redefinition of 'fun2'}} 13 f3()14void f3() {} 15 void fun3(void) __attribute((alias("f3"))); // expected-note {{previous definition}} 16 void fun3(void) __attribute((alias("f3"))); // expected-error {{redefinition of 'fun3'}} 17 f4()18void f4() {} 19 void fun4(void) __attribute((alias("f4"))); 20 void fun4(void); 21 f5()22void f5() {} fun5(void)23void __attribute((alias("f5"))) fun5(void) {} // expected-error {{definition 'fun5' cannot also be an alias}} 24 25 int var1 __attribute((alias("v1"))); // expected-error {{definition 'var1' cannot also be an alias}} 26 static int var2 __attribute((alias("v2"))) = 2; // expected-error {{definition 'var2' cannot also be an alias}} 27 28 extern int var3 __attribute__((alias("C"))); // expected-note{{previous definition is here}} 29 int var3 = 3; // expected-error{{redefinition of 'var3'}} 30 31 int var4; // expected-note{{previous definition is here}} 32 extern int var4 __attribute__((alias("v4"))); // expected-error{{alias definition of 'var4' after tentative definition}} 33