summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrobertl <robertl@138bc75d-0d04-0410-961f-82ee72b054a4>2000-09-11 18:38:14 +0000
committerrobertl <robertl@138bc75d-0d04-0410-961f-82ee72b054a4>2000-09-11 18:38:14 +0000
commit7e700d34fce576478b49c2d5ca7a6159a9fe9980 (patch)
tree67176bbb7975dde6855a44a03d20fa5eea47d9b1
parent82655d83689c0f33fa45b632d2dd49bf6055c324 (diff)
downloadppe42-gcc-7e700d34fce576478b49c2d5ca7a6159a9fe9980.tar.gz
ppe42-gcc-7e700d34fce576478b49c2d5ca7a6159a9fe9980.zip
* gcc.dg/pragma-align.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@36323 138bc75d-0d04-0410-961f-82ee72b054a4
-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 fdd07e07193..3fbaaa09bfd 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 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();
+}
+
OpenPOWER on IntegriCloud