diff options
author | dj <dj@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-09-24 20:17:45 +0000 |
---|---|---|
committer | dj <dj@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-09-24 20:17:45 +0000 |
commit | 768be674db6d1ac130eb08b5fa56db0baba8df79 (patch) | |
tree | c56ca804a105157671a88ab9fdebb1e37b955b4c /gcc/testsuite/gcc.c-torture/execute/20010924-1.c | |
parent | 0de616acaf5a5c030aa345f35f272041482a1651 (diff) | |
download | gcc-768be674db6d1ac130eb08b5fa56db0baba8df79.tar.gz |
* gcc.c-torture/execute/20010924-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45784 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/execute/20010924-1.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/20010924-1.c | 71 |
1 files changed, 71 insertions, 0 deletions
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 00000000000..247f51ce64c --- /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; +} |