1 // Test that qualifiers on asm are allowed in any order.
3 // { dg-options "-std=c++98" }
8 asm volatile goto ("" :::: lab);
9 asm volatile inline ("" :::);
10 asm inline volatile ("" :::);
11 asm inline goto ("" :::: lab);
12 asm goto volatile ("" :::: lab);
13 asm goto inline ("" :::: lab);
15 asm volatile inline goto ("" :::: lab);
16 asm volatile goto inline ("" :::: lab);
17 asm inline volatile goto ("" :::: lab);
18 asm inline goto volatile ("" :::: lab);
19 asm goto volatile inline ("" :::: lab);
20 asm goto inline volatile ("" :::: lab);
22 /* Duplicates are not allowed. */
23 asm goto volatile volatile ("" :::: lab); /* { dg-error "" } */
24 asm volatile goto volatile ("" :::: lab); /* { dg-error "" } */
25 asm volatile volatile goto ("" :::: lab); /* { dg-error "" } */
26 asm goto goto volatile ("" :::: lab); /* { dg-error "" } */
27 asm goto volatile goto ("" :::: lab); /* { dg-error "" } */
28 asm volatile goto goto ("" :::: lab); /* { dg-error "" } */
30 asm inline volatile volatile ("" :::); /* { dg-error "" } */
31 asm volatile inline volatile ("" :::); /* { dg-error "" } */
32 asm volatile volatile inline ("" :::); /* { dg-error "" } */
33 asm inline inline volatile ("" :::); /* { dg-error "" } */
34 asm inline volatile inline ("" :::); /* { dg-error "" } */
35 asm volatile inline inline ("" :::); /* { dg-error "" } */
37 asm goto inline inline ("" :::: lab); /* { dg-error "" } */
38 asm inline goto inline ("" :::: lab); /* { dg-error "" } */
39 asm inline inline goto ("" :::: lab); /* { dg-error "" } */
40 asm goto goto inline ("" :::: lab); /* { dg-error "" } */
41 asm goto inline goto ("" :::: lab); /* { dg-error "" } */
42 asm inline goto goto ("" :::: lab); /* { dg-error "" } */