[clang] Implement lifetime analysis for lifetime_capture_by(X) (#115921)
[llvm-project.git] / clang / test / Parser / cxx2b-label.cpp
bloba490370409cc0cd757a72681fa04176d340bd4a3
1 // RUN: %clang_cc1 -fsyntax-only -verify=expected,cxx23 -std=c++23 -Wpre-c++23-compat %s
2 // RUN: %clang_cc1 -fsyntax-only -verify=expected,cxx20 -std=c++20 %s
4 void test_label_in_func() {
5 label1:
6 int x;
7 label2:
8 x = 1;
9 label3: label4: label5:
10 } // cxx20-warning {{label at end of compound statement is a C++23 extension}} \
11 cxx23-warning {{label at end of compound statement is incompatible with C++ standards before C++23}}
13 int test_label_in_switch(int v) {
14 switch (v) {
15 case 1:
16 return 1;
17 case 2:
18 return 2;
19 case 3: case 4: case 5:
20 } // cxx20-warning {{label at end of compound statement is a C++23 extension}} \
21 cxx23-warning {{label at end of compound statement is incompatible with C++ standards before C++23}}
23 switch (v) {
24 case 6:
25 return 6;
26 default:
27 } // cxx20-warning {{label at end of compound statement is a C++23 extension}} \
28 cxx23-warning {{label at end of compound statement is incompatible with C++ standards before C++23}}
30 return 0;