1 // { dg-do compile } 2 // { dg-require-effective-target lto } 3 // { dg-options "-flto -g" } 4 5 template < typename > void * bar(int * p)6 bar (int *p) 7 { 8 union 9 { 10 int *p; 11 } 12 u; 13 u.p = p; 14 return u.p; 15 } 16 17 void foo(int * p)18 foo (int *p) 19 { 20 bar < void >(p); 21 } 22