51 lines · c
1// RUN: %clang_cc1 -fsyntax-only -Wno-pragma-pack -verify %s2 3// Note that this puts the expected lines before the directives to work around4// limitations in the -verify mode.5 6/* expected-warning {{missing '(' after '#pragma pack'}}*/ #pragma pack 107#pragma pack()8#pragma pack(8)9 10/*expected-warning {{unknown action for '#pragma pack'}}*/ #pragma pack(hello) 11#pragma pack(push)12#pragma pack(pop)13 14/* expected-warning {{expected integer or identifier in '#pragma pack'}}*/ #pragma pack(push,)15/* expected-warning {{expected integer or identifier in '#pragma pack'}}*/ #pragma pack(push,)16/* expected-warning {{expected integer or identifier in '#pragma pack'}}*/ #pragma pack(pop,) 17 18#pragma pack(push,i)19/* expected-warning {{expected integer or identifier in '#pragma pack'}}*/ #pragma pack(push,i, 20/* expected-warning {{expected integer or identifier in '#pragma pack'}}*/ #pragma pack(push,i,) 21/* expected-warning {{expected integer or identifier in '#pragma pack'}}*/ #pragma pack(push,i,help) 22 23#pragma pack(push,8)24/* expected-warning {{missing ')' after '#pragma pack'}}*/ #pragma pack(push,8, 25/* expected-warning {{missing ')' after '#pragma pack'}}*/ #pragma pack(push,8,) 26/* expected-warning {{missing ')' after '#pragma pack'}}*/ #pragma pack(push,i,8 27#pragma pack(push,i,8)28 29/* expected-warning {{missing ')' after '#pragma pack'}}*/ #pragma pack(push 30 31_Pragma("pack(push)")32/* expected-warning {{expected integer or identifier in '#pragma pack'}}*/ _Pragma("pack(push,)") 33 34// PR1358035struct S36{37 char a[3];38#pragma pack(1)39 struct T40 {41 char b;42 int c;43 } d;44#pragma pack()45 int e;46};47 48_Pragma("pack(push, 1)") struct PR28094 {49 int a;50} _Pragma("pack(pop)");51