diff options
author | Robert Lipe <robertl@sco.com> | 2000-09-11 18:38:14 +0000 |
---|---|---|
committer | Robert Lipe <robertl@gcc.gnu.org> | 2000-09-11 18:38:14 +0000 |
commit | a5de05b7d5bacce3edaa12559cdc2f5646f17353 (patch) | |
tree | 67176bbb7975dde6855a44a03d20fa5eea47d9b1 | |
parent | 52a21fc6d1b12c5f3ce3343e89016e1ebc1b7303 (diff) | |
download | gcc-a5de05b7d5bacce3edaa12559cdc2f5646f17353.zip gcc-a5de05b7d5bacce3edaa12559cdc2f5646f17353.tar.gz gcc-a5de05b7d5bacce3edaa12559cdc2f5646f17353.tar.bz2 |
* gcc.dg/pragma-align.c: New test.
From-SVN: r36323
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/pragma-align.c | 41 |
2 files changed, 45 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index fdd07e0..3fbaaa0 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2000-09-11 Robert Lipe <robertl@sco.com> + + * gcc.dg/pragma-align.c: New test. + 2000-09-11 Nathan Sidwell <nathan@codesourcery.com> * 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 0000000..3848f77 --- /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(); +} + |