aboutsummaryrefslogtreecommitdiff
path: root/gcc/print-tree.c
diff options
context:
space:
mode:
authorZack Weinberg <zack@wolery.cumb.org>2000-06-07 22:43:44 +0000
committerZack Weinberg <zack@gcc.gnu.org>2000-06-07 22:43:44 +0000
commit5667abce2904b9b040ffb51d79da04545503bf6c (patch)
tree68e575e9aa68b36833e0f78077ec30ecbf15773b /gcc/print-tree.c
parent5af7e2c2e1949e500d44d78d25f98cd3cfdf3e3c (diff)
downloadgcc-5667abce2904b9b040ffb51d79da04545503bf6c.zip
gcc-5667abce2904b9b040ffb51d79da04545503bf6c.tar.gz
gcc-5667abce2904b9b040ffb51d79da04545503bf6c.tar.bz2
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
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 ae409e5..8774538 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);