summaryrefslogtreecommitdiff
path: root/gcc/print-tree.c
diff options
context:
space:
mode:
authorzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>2000-06-07 22:43:44 +0000
committerzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>2000-06-07 22:43:44 +0000
commit8c2024881ea34caf0190f28a9f081593572aa88c (patch)
tree68e575e9aa68b36833e0f78077ec30ecbf15773b /gcc/print-tree.c
parentb970ec425689310db9e440a44048a2b3ffc295f9 (diff)
downloadgcc-8c2024881ea34caf0190f28a9f081593572aa88c.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34449 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/print-tree.c')
-rw-r--r--gcc/print-tree.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/gcc/print-tree.c b/gcc/print-tree.c
index ae409e54610..8774538ce3e 100644
--- a/gcc/print-tree.c
+++ b/gcc/print-tree.c
@@ -480,8 +480,17 @@ print_node (file, prefix, node, indent)
fputs (" string-flag", file);
if (TYPE_NEEDS_CONSTRUCTING (node))
fputs (" needs-constructing", file);
- if (TYPE_TRANSPARENT_UNION (node))
- fputs (" transparent-union", file);
+ /* The transparent-union flag is used for different things in
+ 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))
fputs (" packed", file);