summaryrefslogtreecommitdiff
path: root/clang/test/CXX/stmt.stmt/stmt.label/p1.cpp
blob: 90367f829566c3a75a5f682a68472cf4871c9179 (about) (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
// RUN: %clang_cc1 -fsyntax-only -verify %s

void f()
{
  int x = 0;
  goto label1;

label1: // expected-note{{previous definition is here}}
  x = 1;
  goto label2; // expected-error{{use of undeclared label 'label2'}}

label1: // expected-error{{redefinition of label 'label1'}}
  x = 2;
}

void h()
{
  int x = 0;
  switch (x)
  {
    case 1:;
    default:; // expected-error{{multiple default labels in one switch}}
    default:; // expected-note{{previous case defined here}}
  }
}