aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorHerman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>1999-11-18 08:56:12 +0100
committerJeff Law <law@gcc.gnu.org>1999-11-18 00:56:12 -0700
commitee7602056eb3f0156d9c6b5eb2a8c9e1402997d2 (patch)
tree3777829392e7595fd2369bfdd5b4c1cc9df59f68 /gcc
parent8cb9ab4b7e19dec00113d86ea6aa4369617430e4 (diff)
downloadgcc-ee7602056eb3f0156d9c6b5eb2a8c9e1402997d2.zip
gcc-ee7602056eb3f0156d9c6b5eb2a8c9e1402997d2.tar.gz
gcc-ee7602056eb3f0156d9c6b5eb2a8c9e1402997d2.tar.bz2
* gcc.c-torture/execute/991118-1.c: New test.
From-SVN: r30570
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/991118-1.c45
2 files changed, 49 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index eef72d6..5a05f13 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+1999-11-18 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+
+ * gcc.c-torture/execute/991118-1.c: New test.
+
1999-11-16 Geoffrey Keating <geoffk@cygnus.com>
* g77.f-torture/execute/u77-test.f (wd): Allow for longer
diff --git a/gcc/testsuite/gcc.c-torture/execute/991118-1.c b/gcc/testsuite/gcc.c-torture/execute/991118-1.c
new file mode 100644
index 0000000..ea769af
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/991118-1.c
@@ -0,0 +1,45 @@
+struct tmp
+{
+ long long int pad : 12;
+ long long int field : 52;
+};
+
+struct tmp2
+{
+ long long int field : 52;
+ long long int pad : 12;
+};
+
+struct tmp
+sub (struct tmp tmp)
+{
+ tmp.field ^= 0x0008765412345678LL;
+ return tmp;
+}
+
+struct tmp2
+sub2 (struct tmp2 tmp2)
+{
+ tmp2.field ^= 0x0008765412345678LL;
+ return tmp2;
+}
+
+struct tmp tmp = {0x123, 0x123456789ABCDLL};
+struct tmp2 tmp2 = {0x123456789ABCDLL, 0x123};
+
+main()
+{
+
+ if (sizeof (long long) != 8)
+ exit (0);
+
+ tmp = sub (tmp);
+ tmp2 = sub2 (tmp2);
+
+ if (tmp.pad != 0x123 || tmp.field != 0xFFF9551175BDFDB5LL)
+ abort ();
+ if (tmp2.pad != 0x123 || tmp2.field != 0xFFF9551175BDFDB5LL)
+ abort ();
+ exit (0);
+}
+