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