brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.0 KiB · a490370 Raw
32 lines · cpp
1// RUN: %clang_cc1 -fsyntax-only -verify=expected,cxx23 -std=c++23 -Wpre-c++23-compat %s2// RUN: %clang_cc1 -fsyntax-only -verify=expected,cxx20 -std=c++20 %s3 4void test_label_in_func() {5label1:6    int x;7label2:8    x = 1;9label3: 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}}12 13int 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}}22 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}}29 30    return 0;31}32