aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/bad-pragma-locations.c
blob: 8068839881d9eb69e692f48660846da0783cda0f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
/* Verify that we use precise locations when emitting diagnostics
   about pragmas.  */

/* { dg-do assemble } */
/* { dg-options "-fdiagnostics-show-caret" } */

/* pack ****************************************************************************/

#pragma pack
/* { dg-warning "missing '\\(' after '#pragma pack' - ignored" "" { target *-*-* } .-1 }
   { dg-begin-multiline-output "" }
 #pragma pack
         ^~~~
   { dg-end-multiline-output "" }  */

#pragma pack (
/* { dg-warning "malformed '#pragma pack' - ignored" "" { target *-*-* } .-1 }
   { dg-begin-multiline-output "" }
 #pragma pack (
         ^~~~
   { dg-end-multiline-output "" }  */

#pragma pack (32
/* { dg-warning "malformed '#pragma pack' - ignored" "" { target *-*-* } .-1 }
   { dg-begin-multiline-output "" }
 #pragma pack (32
         ^~~~
   { dg-end-multiline-output "" }  */

#pragma pack (3.14159
/* { dg-warning "invalid constant in '#pragma pack' - ignored" "" { target *-*-* } .-1 }
   { dg-begin-multiline-output "" }
 #pragma pack (3.14159
               ^~~~~~~
   { dg-end-multiline-output "" }  */

#pragma pack (push, 3.14159
/* { dg-warning "invalid constant in '#pragma pack' - ignored" "" { target *-*-* } .-1 }
   { dg-begin-multiline-output "" }
 #pragma pack (push, 3.14159
                     ^~~~~~~
   { dg-end-multiline-output "" }  */

#pragma pack (toothbrush
/* { dg-warning "unknown action 'toothbrush' for '#pragma pack' - ignored" "" { target *-*-* } .-1 }
   { dg-begin-multiline-output "" }
 #pragma pack (toothbrush
               ^~~~~~~~~~
   { dg-end-multiline-output "" }  */

#pragma pack() pyjamas
/* { dg-warning "junk at end of '#pragma pack'" "" { target *-*-* } .-1 }
   { dg-begin-multiline-output "" }
 #pragma pack() pyjamas
                ^~~~~~~
   { dg-end-multiline-output "" }  */

/* target ****************************************************************************/

#pragma GCC target 42
/* { dg-warning "#pragma GCC option' is not a string" "" { target *-*-* } .-1 }
   { dg-begin-multiline-output "" }
 #pragma GCC target 42
                    ^~
   { dg-end-multiline-output "" }  */

#pragma GCC target ( 1776
/* { dg-warning "#pragma GCC option' is not a string" "" { target *-*-* } .-1 }
   { dg-begin-multiline-output "" }
 #pragma GCC target ( 1776
                      ^~~~
   { dg-end-multiline-output "" }  */

/* message ****************************************************************************/

#pragma message "foo" int
/* { dg-warning "junk at end of '#pragma message'" "" { target *-*-* } .-1 }
   { dg-message "'#pragma message: foo'" "" { target *-*-* } .-2 }
   { dg-begin-multiline-output "" }
 #pragma message "foo" int
                       ^~~
   { dg-end-multiline-output "" }
   { dg-begin-multiline-output "" }
 #pragma message "foo" int
         ^~~~~~~
   { dg-end-multiline-output "" }  */