From 7a53514cdb48d9cce8d9d3fb65b98d02f5e41e3a Mon Sep 17 00:00:00 2001
From: law <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Thu, 3 Aug 2000 07:36:13 +0000
Subject: [PATCH] 	* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35445 138bc75d-0d04-0410-961f-82ee72b054a4
---
 gcc/testsuite/ChangeLog                       |  7 +++++
 .../gcc.c-torture/execute/20000801-3.c        | 24 +++++++++++++++++
 .../gcc.c-torture/execute/20000801-3.x        |  2 ++
 .../gcc.c-torture/execute/20000801-4.c        | 27 +++++++++++++++++++
 .../gcc.c-torture/execute/20000801-4.x        |  2 ++
 5 files changed, 62 insertions(+)
 create mode 100644 gcc/testsuite/gcc.c-torture/execute/20000801-3.c
 create mode 100644 gcc/testsuite/gcc.c-torture/execute/20000801-3.x
 create mode 100644 gcc/testsuite/gcc.c-torture/execute/20000801-4.c
 create mode 100644 gcc/testsuite/gcc.c-torture/execute/20000801-4.x

diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 7f61d2aeddaf..2a49bd941993 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 000000000000..8d47a8155fe7
--- /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 000000000000..2f397b96e51b
--- /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 000000000000..06d2ffbf271f
--- /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 000000000000..2f397b96e51b
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/20000801-4.x
@@ -0,0 +1,2 @@
+set torture_execute_xfail "*-*-*"
+return 0
-- 
GitLab