12016c8c4a2ebf528c54c42045bc6a30ae590147cEli Friedman// RUN: %clang_cc1 -triple i686-apple-darwin9 %s -fsyntax-only -verify 28e8fb3be5bd78f0564444eca02b404566a5f3b5dAndy Gibbs// expected-no-diagnostics 32016c8c4a2ebf528c54c42045bc6a30ae590147cEli Friedman 42016c8c4a2ebf528c54c42045bc6a30ae590147cEli Friedman// Pragma pack handling with tag declarations 52016c8c4a2ebf528c54c42045bc6a30ae590147cEli Friedman 62016c8c4a2ebf528c54c42045bc6a30ae590147cEli Friedmanstruct X; 72016c8c4a2ebf528c54c42045bc6a30ae590147cEli Friedman 82016c8c4a2ebf528c54c42045bc6a30ae590147cEli Friedman#pragma pack(2) 92016c8c4a2ebf528c54c42045bc6a30ae590147cEli Friedmanstruct X { int x; }; 102016c8c4a2ebf528c54c42045bc6a30ae590147cEli Friedmanstruct Y; 112016c8c4a2ebf528c54c42045bc6a30ae590147cEli Friedman#pragma pack() 122016c8c4a2ebf528c54c42045bc6a30ae590147cEli Friedman 132016c8c4a2ebf528c54c42045bc6a30ae590147cEli Friedmanstruct Y { int y; }; 142016c8c4a2ebf528c54c42045bc6a30ae590147cEli Friedman 152016c8c4a2ebf528c54c42045bc6a30ae590147cEli Friedmanextern int check[__alignof(struct X) == 2 ? 1 : -1]; 162016c8c4a2ebf528c54c42045bc6a30ae590147cEli Friedmanextern int check[__alignof(struct Y) == 4 ? 1 : -1]; 172016c8c4a2ebf528c54c42045bc6a30ae590147cEli Friedman 18