c-decl.c (pushdecl): Do not call COMPLETE_TYPE_P on error_mark_node.
* c-decl.c (pushdecl): Do not call COMPLETE_TYPE_P on error_mark_node. * print-tree.c (print_node): The transparent_union_flag means different things for unions and arrays. Do not inspect it with TYPE_TRANSPARENT_UNION. From-SVN: r34449
This commit is contained in:
parent
5af7e2c2e1
commit
5667abce29
@ -1,3 +1,11 @@
|
|||||||
|
2000-06-07 Zack Weinberg <zack@wolery.cumb.org>
|
||||||
|
|
||||||
|
* c-decl.c (pushdecl): Do not call COMPLETE_TYPE_P on
|
||||||
|
error_mark_node.
|
||||||
|
* print-tree.c (print_node): The transparent_union_flag means
|
||||||
|
different things for unions and arrays. Do not inspect it
|
||||||
|
with TYPE_TRANSPARENT_UNION.
|
||||||
|
|
||||||
2000-06-06 Jakub Jelinek <jakub@redhat.com>
|
2000-06-06 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
* cpplib.c (do_ifdef, do_ifndef): Don't segfault if parse_ifdef
|
* cpplib.c (do_ifdef, do_ifndef): Don't segfault if parse_ifdef
|
||||||
|
@ -2422,8 +2422,12 @@ pushdecl (x)
|
|||||||
b->shadowed = tree_cons (name, oldlocal, b->shadowed);
|
b->shadowed = tree_cons (name, oldlocal, b->shadowed);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Keep count of variables in this level with incomplete type. */
|
/* Keep count of variables in this level with incomplete type.
|
||||||
if (!COMPLETE_TYPE_P (TREE_TYPE (x)))
|
If the input is erroneous, we can have error_mark in the type
|
||||||
|
slot (e.g. "f(void a, ...)") - that doesn't count as an
|
||||||
|
incomplete type. */
|
||||||
|
if (TREE_TYPE (x) != error_mark_node
|
||||||
|
&& !COMPLETE_TYPE_P (TREE_TYPE (x)))
|
||||||
++b->n_incomplete;
|
++b->n_incomplete;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -480,8 +480,17 @@ print_node (file, prefix, node, indent)
|
|||||||
fputs (" string-flag", file);
|
fputs (" string-flag", file);
|
||||||
if (TYPE_NEEDS_CONSTRUCTING (node))
|
if (TYPE_NEEDS_CONSTRUCTING (node))
|
||||||
fputs (" needs-constructing", file);
|
fputs (" needs-constructing", file);
|
||||||
if (TYPE_TRANSPARENT_UNION (node))
|
/* The transparent-union flag is used for different things in
|
||||||
fputs (" transparent-union", file);
|
different nodes. */
|
||||||
|
if (TYPE_CHECK (node)->type.transparent_union_flag)
|
||||||
|
{
|
||||||
|
if (TREE_CODE (node) == UNION_TYPE)
|
||||||
|
fputs (" transparent-union", file);
|
||||||
|
else if (TREE_CODE (node) == ARRAY_TYPE)
|
||||||
|
fputs (" nonaliased-component", file);
|
||||||
|
else
|
||||||
|
fputs (" tu-flag", file);
|
||||||
|
}
|
||||||
if (TYPE_PACKED (node))
|
if (TYPE_PACKED (node))
|
||||||
fputs (" packed", file);
|
fputs (" packed", file);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user