From: Robert Lipe Date: Mon, 11 Sep 2000 18:38:14 +0000 (+0000) Subject: * gcc.dg/pragma-align.c: New test. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a5de05b7d5bacce3edaa12559cdc2f5646f17353;p=gcc.git * gcc.dg/pragma-align.c: New test. From-SVN: r36323 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index fdd07e07193..3fbaaa09bfd 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2000-09-11 Robert Lipe + + * gcc.dg/pragma-align.c: New test. + 2000-09-11 Nathan Sidwell * g++.old-deja/g++.pt/explicit82.C: New test. diff --git a/gcc/testsuite/gcc.dg/pragma-align.c b/gcc/testsuite/gcc.dg/pragma-align.c new file mode 100644 index 00000000000..3848f773541 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pragma-align.c @@ -0,0 +1,41 @@ +/* Prove that HANDLE_SYSTEMV_PRAGMA alignment handling works somewhat. */ + +/* { dg-do compile { target i?86-*-linux* i?86-*-*bsd* i?86-*-sco3.2v5* } } */ + +struct { + char one; + long two; +} defaultalign; + +#pragma pack(4) +struct { + char one; + long two; +} sixteen; + +#pragma pack(1) +struct { + char one; + long two; +} two; + +#pragma pack(2) +struct { + char one; + long two; +} three; + +#pragma pack() +struct { + char one; + long two; +} resetalign; + +main() +{ + if(sizeof(sixteen) < sizeof(defaultalign)) abort(); + if(sizeof(two) >= sizeof(defaultalign)) abort(); + if(sizeof(three) <= sizeof(two)) abort(); + if(sizeof(resetalign) != sizeof(defaultalign)) abort(); +} +