aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1994-07-26 10:56:03 -0700
committerJim Wilson <wilson@gcc.gnu.org>1994-07-26 10:56:03 -0700
commitee7204ee5524237c31037d427422137a349cb253 (patch)
tree9c2836f7a45bd8763c5c467aafff5a94817e713b /gcc
parentf1f8fc979062749705704618132f7b5a2ebd92b9 (diff)
downloadgcc-ee7204ee5524237c31037d427422137a349cb253.zip
gcc-ee7204ee5524237c31037d427422137a349cb253.tar.gz
gcc-ee7204ee5524237c31037d427422137a349cb253.tar.bz2
(process_init_element): Do not call push_init_level
if the value is error_mark_node. From-SVN: r7796
Diffstat (limited to 'gcc')
-rw-r--r--gcc/c-typeck.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c
index d5283c6..e99d193 100644
--- a/gcc/c-typeck.c
+++ b/gcc/c-typeck.c
@@ -6020,6 +6020,7 @@ process_init_element (value)
/* Otherwise, if we have come to a subaggregate,
and we don't have an element of its type, push into it. */
else if (value != 0 && !constructor_no_implicit
+ && value != error_mark_node
&& TYPE_MAIN_VARIANT (TREE_TYPE (value)) != fieldtype
&& (fieldcode == RECORD_TYPE || fieldcode == ARRAY_TYPE
|| fieldcode == UNION_TYPE))
@@ -6083,6 +6084,7 @@ process_init_element (value)
/* Otherwise, if we have come to a subaggregate,
and we don't have an element of its type, push into it. */
else if (value != 0 && !constructor_no_implicit
+ && value != error_mark_node
&& TYPE_MAIN_VARIANT (TREE_TYPE (value)) != fieldtype
&& (fieldcode == RECORD_TYPE || fieldcode == ARRAY_TYPE
|| fieldcode == UNION_TYPE))
@@ -6126,6 +6128,7 @@ process_init_element (value)
/* Otherwise, if we have come to a subaggregate,
and we don't have an element of its type, push into it. */
else if (value != 0 && !constructor_no_implicit
+ && value != error_mark_node
&& TYPE_MAIN_VARIANT (TREE_TYPE (value)) != elttype
&& (eltcode == RECORD_TYPE || eltcode == ARRAY_TYPE
|| eltcode == UNION_TYPE))