summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/warn/Wunused-label-1.C
blob: 96f49b321cd88c9b4904989f7972273fb0fc1768 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// { dg-do compile }
// { dg-options "-Wunused-label" }

extern void f9();

void
f1()
{
 l1: f9();				// { dg-warning "not used" }
 l3: ; f9();				// { dg-warning "not used" }
 l4: __attribute__ ((unused)) ; f9();
}

void
f2()
{
 label: __attribute ((unused)) ;
}

void
f3()
{
  // The next line would be OK in C but is a syntax error in C++.
 l2: __attribute__ ((unused)) f9();	// { dg-error "expected" }
		// We still get an unused label warning--this is
		// optional and can be removed if it ever changes.
		// { dg-warning "not used" "expected" { target *-*-* } 24 }
}