c-typeck.c (output_init_element): Return early if value is error_mark_node.

* c-typeck.c (output_init_element): Return early if value is
	error_mark_node.

testsuite:
	* gcc.dg/init-undef-1.c: New test.

From-SVN: r90146
This commit is contained in:
Joseph Myers 2004-11-05 22:21:30 +00:00 committed by Joseph Myers
parent ddd8e3ca26
commit 0a880880ee
4 changed files with 18 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2004-11-05 Joseph S. Myers <joseph@codesourcery.com>
* c-typeck.c (output_init_element): Return early if value is
error_mark_node.
2004-11-05 James E Wilson <wilson@specifixinc.com>
* invoke.texi (-fno-guess-branch-probability): Rewrite.

View File

@ -5667,7 +5667,7 @@ static void
output_init_element (tree value, bool strict_string, tree type, tree field,
int pending)
{
if (type == error_mark_node)
if (type == error_mark_node || value == error_mark_node)
{
constructor_erroneous = 1;
return;

View File

@ -1,3 +1,7 @@
2004-11-05 Joseph S. Myers <joseph@codesourcery.com>
* gcc.dg/init-undef-1.c: New test.
2004-11-05 Joseph S. Myers <joseph@codesourcery.com>
* gcc.dg/20040910-1.c, gcc.dg/cpp/digraph2.c,

View File

@ -0,0 +1,8 @@
/* Invalid initializers should not receive an "is not constant"
error. */
/* Origin: Joseph Myers <joseph@codesourcery.com> */
/* { dg-do compile } */
/* { dg-options "" } */
int p = c; /* { dg-error "undeclared" } */
struct s { int a; } x = { b }; /* { dg-error "undeclared" } */