aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDJ Delorie <dj@redhat.com>2001-09-24 16:17:45 -0400
committerDJ Delorie <dj@gcc.gnu.org>2001-09-24 16:17:45 -0400
commit1b47b7aebb9e9fa8b16a899e877cbd81c67b53db (patch)
treec56ca804a105157671a88ab9fdebb1e37b955b4c /gcc
parent967bd8237796e2d5b7ea802179e682b280874c7d (diff)
downloadgcc-1b47b7aebb9e9fa8b16a899e877cbd81c67b53db.zip
gcc-1b47b7aebb9e9fa8b16a899e877cbd81c67b53db.tar.gz
gcc-1b47b7aebb9e9fa8b16a899e877cbd81c67b53db.tar.bz2
* gcc.c-torture/execute/20010924-1.c: New test.
From-SVN: r45784
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20010924-1.c71
2 files changed, 75 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index c2ddd9a..b498133 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2001-09-24 DJ Delorie <dj@redhat.com>
+
+ * gcc.c-torture/execute/20010924-1.c: New test.
+
2001-09-24 Neil Booth <neil@daikokuya.demon.co.uk>
* testsuite/objc/execute/paste.m: Remove.
diff --git a/gcc/testsuite/gcc.c-torture/execute/20010924-1.c b/gcc/testsuite/gcc.c-torture/execute/20010924-1.c
new file mode 100644
index 0000000..247f51c
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/20010924-1.c
@@ -0,0 +1,71 @@
+/* Verify that flexible arrays can be initialized from STRING_CST
+ constructors. */
+
+/* Baselines. */
+struct {
+ char a1c;
+ char *a1p;
+} a1 = {
+ '4',
+ "62"
+};
+
+struct {
+ char a2c;
+ char a2p[2];
+} a2 = {
+ 'v',
+ "cq"
+};
+
+/* The tests. */
+struct {
+ char a3c;
+ char a3p[];
+} a3 = {
+ 'o',
+ "wx"
+};
+
+struct {
+ char a4c;
+ char a4p[];
+} a4 = {
+ '9',
+ { 'e', 'b' }
+};
+
+main()
+{
+ if (a1.a1c != '4')
+ abort();
+ if (a1.a1p[0] != '6')
+ abort();
+ if (a1.a1p[1] != '2')
+ abort();
+ if (a1.a1p[2] != '\0')
+ abort();
+
+ if (a2.a2c != 'v')
+ abort();
+ if (a2.a2p[0] != 'c')
+ abort();
+ if (a2.a2p[1] != 'q')
+ abort();
+
+ if (a3.a3c != 'o')
+ abort();
+ if (a3.a3p[0] != 'w')
+ abort();
+ if (a3.a3p[1] != 'x')
+ abort();
+
+ if (a4.a4c != '9')
+ abort();
+ if (a4.a4p[0] != 'e')
+ abort();
+ if (a4.a4p[1] != 'b')
+ abort();
+
+ return 0;
+}