1/* Prove that HANDLE_SYSTEMV_PRAGMA alignment handling works somewhat. */ 2 3/* { dg-do compile { target i?86-*-linux* i?86-*-*bsd* i?86-*-sco3.2v5* } } */ 4 5struct { 6 char one; 7 long two; 8} defaultalign; 9 10#pragma pack(4) 11struct { 12 char one; 13 long two; 14} sixteen; 15 16#pragma pack(1) 17struct { 18 char one; 19 long two; 20} two; 21 22#pragma pack(2) 23struct { 24 char one; 25 long two; 26} three; 27 28#pragma pack() 29struct { 30 char one; 31 long two; 32} resetalign; 33 34main() 35{ 36 if(sizeof(sixteen) < sizeof(defaultalign)) abort(); 37 if(sizeof(two) >= sizeof(defaultalign)) abort(); 38 if(sizeof(three) <= sizeof(two)) abort(); 39 if(sizeof(resetalign) != sizeof(defaultalign)) abort(); 40 return 0; 41} 42 43