]>
Commit | Line | Data |
---|---|---|
8722a170 DM |
1 | /* Verify that we use precise locations when emitting diagnostics |
2 | about pragmas. */ | |
3 | ||
4 | /* { dg-do assemble } */ | |
5 | /* { dg-options "-fdiagnostics-show-caret" } */ | |
6 | ||
7 | /* pack ****************************************************************************/ | |
8 | ||
9 | #pragma pack | |
10 | /* { dg-warning "missing '\\(' after '#pragma pack' - ignored" "" { target *-*-* } .-1 } | |
11 | { dg-begin-multiline-output "" } | |
12 | #pragma pack | |
13 | ^~~~ | |
14 | { dg-end-multiline-output "" } */ | |
15 | ||
16 | #pragma pack ( | |
17 | /* { dg-warning "malformed '#pragma pack' - ignored" "" { target *-*-* } .-1 } | |
18 | { dg-begin-multiline-output "" } | |
19 | #pragma pack ( | |
20 | ^~~~ | |
21 | { dg-end-multiline-output "" } */ | |
22 | ||
23 | #pragma pack (32 | |
24 | /* { dg-warning "malformed '#pragma pack' - ignored" "" { target *-*-* } .-1 } | |
25 | { dg-begin-multiline-output "" } | |
26 | #pragma pack (32 | |
27 | ^~~~ | |
28 | { dg-end-multiline-output "" } */ | |
29 | ||
30 | #pragma pack (3.14159 | |
31 | /* { dg-warning "invalid constant in '#pragma pack' - ignored" "" { target *-*-* } .-1 } | |
32 | { dg-begin-multiline-output "" } | |
33 | #pragma pack (3.14159 | |
34 | ^~~~~~~ | |
35 | { dg-end-multiline-output "" } */ | |
36 | ||
37 | #pragma pack (push, 3.14159 | |
38 | /* { dg-warning "invalid constant in '#pragma pack' - ignored" "" { target *-*-* } .-1 } | |
39 | { dg-begin-multiline-output "" } | |
40 | #pragma pack (push, 3.14159 | |
41 | ^~~~~~~ | |
42 | { dg-end-multiline-output "" } */ | |
43 | ||
44 | #pragma pack (toothbrush | |
45 | /* { dg-warning "unknown action 'toothbrush' for '#pragma pack' - ignored" "" { target *-*-* } .-1 } | |
46 | { dg-begin-multiline-output "" } | |
47 | #pragma pack (toothbrush | |
48 | ^~~~~~~~~~ | |
49 | { dg-end-multiline-output "" } */ | |
50 | ||
51 | #pragma pack() pyjamas | |
52 | /* { dg-warning "junk at end of '#pragma pack'" "" { target *-*-* } .-1 } | |
53 | { dg-begin-multiline-output "" } | |
54 | #pragma pack() pyjamas | |
55 | ^~~~~~~ | |
56 | { dg-end-multiline-output "" } */ | |
57 | ||
58 | /* target ****************************************************************************/ | |
59 | ||
60 | #pragma GCC target 42 | |
61 | /* { dg-warning "#pragma GCC option' is not a string" "" { target *-*-* } .-1 } | |
62 | { dg-begin-multiline-output "" } | |
63 | #pragma GCC target 42 | |
64 | ^~ | |
65 | { dg-end-multiline-output "" } */ | |
66 | ||
67 | #pragma GCC target ( 1776 | |
68 | /* { dg-warning "#pragma GCC option' is not a string" "" { target *-*-* } .-1 } | |
69 | { dg-begin-multiline-output "" } | |
70 | #pragma GCC target ( 1776 | |
71 | ^~~~ | |
72 | { dg-end-multiline-output "" } */ | |
73 | ||
74 | /* message ****************************************************************************/ | |
75 | ||
76 | #pragma message "foo" int | |
77 | /* { dg-warning "junk at end of '#pragma message'" "" { target *-*-* } .-1 } | |
78 | { dg-message "'#pragma message: foo'" "" { target *-*-* } .-2 } | |
79 | { dg-begin-multiline-output "" } | |
80 | #pragma message "foo" int | |
81 | ^~~ | |
82 | { dg-end-multiline-output "" } | |
83 | { dg-begin-multiline-output "" } | |
84 | #pragma message "foo" int | |
85 | ^~~~~~~ | |
86 | { dg-end-multiline-output "" } */ |