]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
c-typeck.c (output_init_element): Check for type == error_mark_node.
authorJ"orn Rennecke <joern.rennecke@superh.com>
Mon, 7 Apr 2003 11:55:27 +0000 (11:55 +0000)
committerJoern Rennecke <amylaar@gcc.gnu.org>
Mon, 7 Apr 2003 11:55:27 +0000 (12:55 +0100)
gcc:
* c-typeck.c (output_init_element): Check for type == error_mark_node.
gcc/testsuite:
* gcc.dg/noncompile/init-4.c.c: New test.

From-SVN: r65328

gcc/ChangeLog
gcc/c-typeck.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/noncompile/init-4.c [new file with mode: 0644]

index 716f7d164541de7d13a95c44e8475e88964f39c1..38ed2cbfccac3e73d16a198b30edba2077247949 100644 (file)
@@ -1,3 +1,7 @@
+2003-04-07  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * c-typeck.c (output_init_element): Check for type == error_mark_node.
+
 2003-04-07  Kazu Hirata  <kazu@cs.umass.edu>
 
        * config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Always
index ce37eea09f74ebeb1cedef66be4ed4e1f51a81b5..e63865e27a3bf256fc422ed3faddbcb8a00c2bc0 100644 (file)
@@ -6227,6 +6227,11 @@ output_init_element (value, type, field, pending)
      tree value, type, field;
      int pending;
 {
+  if (type == error_mark_node)
+    {
+      constructor_erroneous = 1;
+      return;
+    }
   if (TREE_CODE (TREE_TYPE (value)) == FUNCTION_TYPE
       || (TREE_CODE (TREE_TYPE (value)) == ARRAY_TYPE
          && !(TREE_CODE (value) == STRING_CST
index f0bafa1b086ab1ee5737e53a80b3db64c136417b..256bfc544a1cfb9e67ebc41e1a4736715283299c 100644 (file)
@@ -1,3 +1,7 @@
+2003-04-07  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * gcc.dg/noncompile/init-4.c.c: New test.
+
 2003-04-06  Nathan Sidwell  <nathan@codesourcery.com>
 
        * gcc.misc-test/gcov-9.c: New test.
diff --git a/gcc/testsuite/gcc.dg/noncompile/init-4.c b/gcc/testsuite/gcc.dg/noncompile/init-4.c
new file mode 100644 (file)
index 0000000..906c115
--- /dev/null
@@ -0,0 +1,3 @@
+struct a { char *b; } c[D] /* { dg-error "undeclared" } */
+  =                        /* { dg-error "storage size" } */
+    { { "" } } ;  /* { dg-warning "braces around scalar initializer|near" } */