1 // PR c++/34935 2 /* { dg-do compile } */ 3 /* { dg-final { scan-assembler "_Z1fi" } } */ 4 /* { dg-final { scan-assembler "_Z1fb" } } */ 5 /* { dg-final { scan-assembler "_Z1fd" } } */ 6 /* { dg-final { scan-assembler "_Z1ff" } } */ 7 /* { dg-final { scan-assembler "_Z1fw" } } */ 8 9 typedef int INT __attribute((may_alias)); 10 11 void f(int); f(INT)12void f(INT) { } 13 14 typedef bool BOOL __attribute((may_alias)); 15 16 void f(bool); f(BOOL)17void f(BOOL) { } 18 19 typedef float FLOAT __attribute((may_alias)); 20 21 void f(float); f(FLOAT)22void f(FLOAT) { } 23 24 typedef double DOUBLE __attribute((may_alias)); 25 26 void f(double); f(DOUBLE)27void f(DOUBLE) {} 28 29 typedef wchar_t WCHAR_T __attribute((may_alias)); 30 31 void f(wchar_t); f(WCHAR_T)32void f(WCHAR_T) {} 33 test()34void test() 35 { 36 f(0); 37 f(true); 38 f(1.0f); 39 f(1.0); 40 f(L'f'); 41 } 42