]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
* gcc.c-torture/execute/20010924-1.c: New test.
authorDJ Delorie <dj@redhat.com>
Mon, 24 Sep 2001 20:17:45 +0000 (16:17 -0400)
committerDJ Delorie <dj@gcc.gnu.org>
Mon, 24 Sep 2001 20:17:45 +0000 (16:17 -0400)
From-SVN: r45784

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/20010924-1.c [new file with mode: 0644]

index c2ddd9a23deffa5cc5f4958a569def346f7ca75f..b4981332a1ac1b046ecb837474e29a6eb79242b6 100644 (file)
@@ -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 (file)
index 0000000..247f51c
--- /dev/null
@@ -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;
+}