blob: 3c2196b2b3bbc29f211e33a09043027e7dd9dabd [file] [log] [blame]
Daniel Dunbar47f99c92008-10-04 19:21:03 +00001// RUN: clang -fsyntax-only -verify %s
Daniel Dunbar47f99c92008-10-04 19:21:03 +00002
Chris Lattnerf12998e2008-10-04 19:38:15 +00003// Note that this puts the expected lines before the directives to work around
4// limitations in the -verify mode.
5
6/* expected-warning {{missing '(' after '#pragma pack'}}*/ #pragma pack 10
Daniel Dunbar47f99c92008-10-04 19:21:03 +00007#pragma pack()
8#pragma pack(8)
9
Chris Lattnerf12998e2008-10-04 19:38:15 +000010/*expected-warning {{unknown action for '#pragma pack'}}*/ #pragma pack(hello)
Daniel Dunbar47f99c92008-10-04 19:21:03 +000011#pragma pack(push)
12#pragma pack(pop)
13
Chris Lattnerf12998e2008-10-04 19:38:15 +000014/* expected-warning {{malformed '#pragma pack', expected '#pragma pack(push}}*/ #pragma pack(push,)
15/* expected-warning {{malformed '#pragma pack', expected '#pragma pack(push}}*/ #pragma pack(push,)
16/* expected-warning {{malformed '#pragma pack', expected '#pragma pack(pop}}*/ #pragma pack(pop,)
Daniel Dunbar47f99c92008-10-04 19:21:03 +000017
18#pragma pack(push,i)
Chris Lattnerf12998e2008-10-04 19:38:15 +000019/* expected-warning {{malformed '#pragma pack', expected}}*/ #pragma pack(push,i,
20/* expected-warning {{malformed '#pragma pack', expected}}*/ #pragma pack(push,i,)
Daniel Dunbar5944fb72008-10-04 19:45:56 +000021/* expected-warning {{malformed '#pragma pack', expected}}*/ #pragma pack(push,i,help)
Daniel Dunbar47f99c92008-10-04 19:21:03 +000022
23#pragma pack(push,8)
Daniel Dunbar5944fb72008-10-04 19:45:56 +000024/* expected-warning {{missing ')' after '#pragma pack'}}*/ #pragma pack(push,8,
Chris Lattnerf12998e2008-10-04 19:38:15 +000025/* expected-warning {{missing ')' after '#pragma pack'}}*/ #pragma pack(push,8,)
26/* expected-warning {{missing ')' after '#pragma pack'}}*/ #pragma pack(push,i,8
Daniel Dunbar47f99c92008-10-04 19:21:03 +000027#pragma pack(push,i,8)
28
Chris Lattnerf12998e2008-10-04 19:38:15 +000029/* expected-warning {{missing ')' after '#pragma pack'}}*/ #pragma pack(push
Daniel Dunbar47f99c92008-10-04 19:21:03 +000030
31_Pragma("pack(push)")
Chris Lattnerf12998e2008-10-04 19:38:15 +000032/* expected-warning {{malformed '#pragma pack', expected '#pragma pack(push}}*/ _Pragma("pack(push,)")