From 1b47b7aebb9e9fa8b16a899e877cbd81c67b53db Mon Sep 17 00:00:00 2001 From: DJ Delorie Date: Mon, 24 Sep 2001 16:17:45 -0400 Subject: [PATCH] * gcc.c-torture/execute/20010924-1.c: New test. From-SVN: r45784 --- gcc/testsuite/ChangeLog | 4 ++ gcc/testsuite/gcc.c-torture/execute/20010924-1.c | 71 ++++++++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 gcc/testsuite/gcc.c-torture/execute/20010924-1.c 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 + + * gcc.c-torture/execute/20010924-1.c: New test. + 2001-09-24 Neil Booth * 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; +} -- 2.7.4