aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <jsm28@cam.ac.uk>2000-08-03 01:36:13 -0600
committerJeff Law <law@gcc.gnu.org>2000-08-03 01:36:13 -0600
commitbcde31938d9bb4709a1a3be20ffe5a45667d770c (patch)
treebbfaadb1b79c2115a40d5331c5491fe97c217546
parent854a97f0329ab003d85a572a25421f751de06477 (diff)
downloadgcc-bcde31938d9bb4709a1a3be20ffe5a45667d770c.zip
gcc-bcde31938d9bb4709a1a3be20ffe5a45667d770c.tar.gz
gcc-bcde31938d9bb4709a1a3be20ffe5a45667d770c.tar.bz2
20000801-3.c, [...]: New tests.
* gcc.c-torture/execute/20000801-3.c, gcc.c-torture/20000801-4.c: New tests. * gcc.c-torture/execute/20000801-3.x, gcc/c-torture/20000801-4.x: Xfail. From-SVN: r35445
-rw-r--r--gcc/testsuite/ChangeLog7
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20000801-3.c24
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20000801-3.x2
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20000801-4.c27
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20000801-4.x2
5 files changed, 62 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 7f61d2a..2a49bd9 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2000-08-03 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * gcc.c-torture/execute/20000801-3.c, gcc.c-torture/20000801-4.c:
+ New tests.
+ * gcc.c-torture/execute/20000801-3.x, gcc/c-torture/20000801-4.x:
+ Xfail.
+
2000-08-02 Geoff Keating <geoffk@cygnus.com>
* lib/objc.exp (objc_target_compile): Look for libobjc.a in
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000801-3.c b/gcc/testsuite/gcc.c-torture/execute/20000801-3.c
new file mode 100644
index 0000000..8d47a81
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/20000801-3.c
@@ -0,0 +1,24 @@
+/* Origin: PR c/92 from Simon Marlow <t-simonm@microsoft.com>, adapted
+ to a testcase by Joseph Myers <jsm28@cam.ac.uk>.
+*/
+
+typedef struct { } empty;
+
+typedef struct {
+ int i;
+ empty e;
+ int i2;
+} st;
+
+st s = { .i = 0, .i2 = 1 };
+
+extern void abort (void);
+
+int
+main (void)
+{
+ if (s.i2 == 1)
+ exit (0);
+ else
+ abort ();
+}
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000801-3.x b/gcc/testsuite/gcc.c-torture/execute/20000801-3.x
new file mode 100644
index 0000000..2f397b9
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/20000801-3.x
@@ -0,0 +1,2 @@
+set torture_execute_xfail "*-*-*"
+return 0
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000801-4.c b/gcc/testsuite/gcc.c-torture/execute/20000801-4.c
new file mode 100644
index 0000000..06d2ffb
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/20000801-4.c
@@ -0,0 +1,27 @@
+/* Origin: PR c/128 from Martin Sebor <sebor@roguewave.com>, adapted
+ as a testcase by Joseph Myers <jsm28@cam.ac.uk>.
+*/
+/* Character arrays initialised by a string literal must have
+ uninitialised elements zeroed. This isn't clear in the 1990
+ standard, but was fixed in TC2 and C99; see DRs #060, #092.
+*/
+extern void abort (void);
+
+int
+foo (void)
+{
+ char s[2] = "";
+ return 0 == s[1];
+}
+
+int
+main (void)
+{
+ {
+ char s[] = "x";
+ }
+ if (foo ())
+ exit (0);
+ else
+ abort ();
+}
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000801-4.x b/gcc/testsuite/gcc.c-torture/execute/20000801-4.x
new file mode 100644
index 0000000..2f397b9
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/20000801-4.x
@@ -0,0 +1,2 @@
+set torture_execute_xfail "*-*-*"
+return 0