20010518-2.c: New file.
authorDiego Novillo <dnovillo@redhat.com>
Fri, 25 May 2001 19:38:52 +0000 (19:38 +0000)
committerDiego Novillo <dnovillo@gcc.gnu.org>
Fri, 25 May 2001 19:38:52 +0000 (15:38 -0400)
2001-05-25  Diego Novillo  <dnovillo@redhat.com>

* gcc.c-torture/compile/20010518-2.c: New file.
* gcc.c-torture/execute/20010518-1.c: New file.
* gcc.c-torture/execute/20010518-2.c: New file.

From-SVN: r42580

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

index 5ce646c..4495a34 100644 (file)
@@ -1,3 +1,9 @@
+2001-05-25  Diego Novillo  <dnovillo@redhat.com>
+
+       * gcc.c-torture/compile/20010518-2.c: New file.
+       * gcc.c-torture/execute/20010518-1.c: New file.
+       * gcc.c-torture/execute/20010518-2.c: New file.
+
 2001-05-25  Joseph S. Myers  <jsm28@cam.ac.uk>
 
        * gcc.dg/c90-arraydecl-1.c, gcc.dg/c99-arraydecl-1.c: New tests.
diff --git a/gcc/testsuite/gcc.c-torture/compile/20010518-2.c b/gcc/testsuite/gcc.c-torture/compile/20010518-2.c
new file mode 100644 (file)
index 0000000..aa8ce34
--- /dev/null
@@ -0,0 +1,13 @@
+/* Large static storage.  */
+
+#include <limits.h>
+
+static volatile char chars_1[INT_MAX / 2];
+static volatile char chars_2[1];
+
+int
+foo (void)
+{
+  chars_1[10] = 'y';
+  chars_2[0] = 'x';
+}
diff --git a/gcc/testsuite/gcc.c-torture/execute/20010518-1.c b/gcc/testsuite/gcc.c-torture/execute/20010518-1.c
new file mode 100644 (file)
index 0000000..94b2d8f
--- /dev/null
@@ -0,0 +1,28 @@
+/* Leaf functions with many arguments.  */
+
+int
+add (int a,
+    int b,
+    int c,
+    int d,
+    int e,
+    int f,
+    int g,
+    int h,
+    int i,
+    int j,
+    int k,
+    int l,
+    int m)
+{
+  return a+b+c+d+e+f+g+h+i+j+k+l+m;
+}
+
+int
+main(void)
+{
+  if (add (1,2,3,4,5,6,7,8,9,10,11,12,13) != 91)
+    abort ();
+
+  exit (0);
+}
diff --git a/gcc/testsuite/gcc.c-torture/execute/20010518-2.c b/gcc/testsuite/gcc.c-torture/execute/20010518-2.c
new file mode 100644 (file)
index 0000000..1990f8e
--- /dev/null
@@ -0,0 +1,38 @@
+/* Mis-aligned packed structures.  */
+
+typedef struct
+{
+  char b0;
+  char b1;
+  char b2;
+  char b3;
+  char b4;
+  char b5;
+} __attribute__ ((packed)) b_struct;
+
+
+typedef struct
+{
+  short a;
+  long b;
+  short c;
+  short d;
+  b_struct e;
+} __attribute__ ((packed)) a_struct;
+
+
+int
+main(void)
+{
+  volatile a_struct *a;
+  volatile a_struct b;
+
+  a = &b;
+  *a = (a_struct){1,2,3,4};
+  a->e.b4 = 'c';
+
+  if (a->a != 1 || a->b != 2 || a->c != 3 || a->d != 4 || a->e.b4 != 'c')
+    abort ();
+
+  exit (0);
+}