2 // { dg-do preprocess { target c++23 } }
7 #elifdef A // { dg-error "#elifdef without #if" }
8 #elifdef B // { dg-error "#elifdef without #if" }
9 #elifndef A // { dg-error "#elifndef without #if" }
10 #elifndef B // { dg-error "#elifndef without #if" }
12 #if 1 // { dg-error "-:began here" }
14 #elifdef A // { dg-error "#elifdef after #else" }
17 #if 1 // { dg-error "-:began here" }
19 #elifdef B // { dg-error "#elifdef after #else" }
22 #if 1 // { dg-error "-:began here" }
24 #elifndef A // { dg-error "#elifndef after #else" }
27 #if 1 // { dg-error "-:began here" }
29 #elifndef B // { dg-error "#elifndef after #else" }
33 #elifdef A = // { dg-error "extra tokens at end of #elifdef directive" }
37 #elifdef B = // { dg-error "extra tokens at end of #elifdef directive" }
41 #elifndef A = // { dg-error "extra tokens at end of #elifndef directive" }
45 #elifndef B = // { dg-error "extra tokens at end of #elifndef directive" }
49 #elifdef // { dg-error "no macro name given in #elifdef directive" }
53 #elifndef // { dg-error "no macro name given in #elifndef directive" }
57 #elifdef , // { dg-error "macro names must be identifiers" }
61 #elifndef , // { dg-error "macro names must be identifiers" }