OSDN Git Service

* gcc.c-torture/execute/990628-1.c: New test.
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 28 Jun 1999 07:23:05 +0000 (07:23 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 28 Jun 1999 07:23:05 +0000 (07:23 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@27812 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/990628-1.c [new file with mode: 0644]

index 8b68b04..7cd8d55 100644 (file)
@@ -1,3 +1,7 @@
+Mon Jun 28 08:20:51 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * gcc.c-torture/execute/990628-1.c: New test.
+
 Fri Jun 25 05:28:40 1999  Jeffrey A Law  (law@cygnus.com)
 
        * gcc.c-torture/compile/990625-2.c: New test.
diff --git a/gcc/testsuite/gcc.c-torture/execute/990628-1.c b/gcc/testsuite/gcc.c-torture/execute/990628-1.c
new file mode 100644 (file)
index 0000000..d2ef610
--- /dev/null
@@ -0,0 +1,30 @@
+#define TP_BSIZE 64
+
+char   buf[2*TP_BSIZE];
+char   (*nextblock)[TP_BSIZE] = (char (*)[TP_BSIZE]) buf;
+
+union u_test {
+       char dummy[TP_BSIZE];
+       struct s_test {
+               int a;
+               int b;
+               int c;
+       } s_test;
+};
+
+main(int argc, char **argv)
+{
+       int i;
+       char dp[TP_BSIZE];
+
+       for (i = 0; i < 2*TP_BSIZE; i++)
+               buf[i] = '.';
+       for (i = 0; i < TP_BSIZE; i++)
+               dp[i] = 'a';
+
+       *(union u_test *)(*(nextblock)++) = *(union u_test *)dp;
+
+       for (i = 0; i < 2*TP_BSIZE; i++)
+               printf("%c%s", buf[i], (i % 64) == 63 ? "\n" : "");
+       exit(0);
+}