1// { dg-do compile } 2// { dg-options "-Wunused-label" } 3 4extern void f9(); 5 6template<int i> 7void 8f1() 9{ 10 if (i) 11 return; 12 13 l1: f9(); // { dg-warning "not used" } 14 l3: ; f9(); // { dg-warning "not used" } 15 l4: __attribute__ ((unused)) ; f9(); 16} 17 18template 19void f1<0>(); 20 21template<int i> 22void 23f2() 24{ 25 if (i) 26 return; 27 28 l1: f9(); // { dg-warning "not used" } 29 l3: ; f9(); // { dg-warning "not used" } 30 l4: __attribute__ ((unused)) ; f9(); 31} 32 33template 34void f2<1>(); 35 36template<int i> 37void 38f3() 39{ 40 void* lab; 41 l1: f9(); 42 l2: __attribute__ ((unused)) ; f9(); 43 lab = i ? &&l1 : &&l2; 44 goto *lab; 45} 46 47template 48void f3<0>(); 49 50template 51void f3<1>(); 52