aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Lipe <robertl@sco.com>2000-09-11 18:38:14 +0000
committerRobert Lipe <robertl@gcc.gnu.org>2000-09-11 18:38:14 +0000
commita5de05b7d5bacce3edaa12559cdc2f5646f17353 (patch)
tree67176bbb7975dde6855a44a03d20fa5eea47d9b1
parent52a21fc6d1b12c5f3ce3343e89016e1ebc1b7303 (diff)
downloadgcc-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/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.dg/pragma-align.c41
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();
+}
+