diff options
Diffstat (limited to 'gcc/print-tree.c')
-rw-r--r-- | gcc/print-tree.c | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/gcc/print-tree.c b/gcc/print-tree.c index 3bef914..1001efb 100644 --- a/gcc/print-tree.c +++ b/gcc/print-tree.c @@ -269,8 +269,10 @@ print_node (file, prefix, node, indent) indent_to (file, indent + 3); if (!ggc_p) - print_obstack_name ((char *) node, file, ""); - indent_to (file, indent + 3); + { + print_obstack_name ((char *) node, file, ""); + indent_to (file, indent + 3); + } } /* If a permanent object is in the wrong obstack, or the reverse, warn. */ @@ -399,19 +401,31 @@ print_node (file, prefix, node, indent) print_node (file, "size", DECL_SIZE (node), indent + 4); print_node (file, "unit size", DECL_SIZE_UNIT (node), indent + 4); - indent_to (file, indent + 3); + if (TREE_CODE (node) != FUNCTION_DECL + || DECL_INLINE (node) || DECL_BUILT_IN (node)) + indent_to (file, indent + 3); + if (TREE_CODE (node) != FUNCTION_DECL) fprintf (file, " align %d", DECL_ALIGN (node)); else if (DECL_INLINE (node)) - fprintf (file, " frame_size %d", DECL_FRAME_SIZE (node)); + { + fprintf (file, " frame_size "); + fprintf (file, HOST_WIDE_INT_PRINT_DEC, DECL_FRAME_SIZE (node)); + } else if (DECL_BUILT_IN (node)) - fprintf (file, " built-in code %d", DECL_FUNCTION_CODE (node)); - if (TREE_CODE (node) == FIELD_DECL) - print_node (file, "bitpos", DECL_FIELD_BITPOS (node), indent + 4); + fprintf (file, " built-in %s:%s", + built_in_class_names[(int) DECL_BUILT_IN_CLASS (node)], + built_in_names[(int) DECL_FUNCTION_CODE (node)]); + if (DECL_POINTER_ALIAS_SET_KNOWN_P (node)) fprintf (file, " alias set %d", DECL_POINTER_ALIAS_SET (node)); + + if (TREE_CODE (node) == FIELD_DECL) + print_node (file, "bitpos", DECL_FIELD_BITPOS (node), indent + 4); + print_node_brief (file, "context", DECL_CONTEXT (node), indent + 4); - print_node_brief (file, "machine_attributes", DECL_MACHINE_ATTRIBUTES (node), indent + 4); + print_node_brief (file, "machine_attributes", + DECL_MACHINE_ATTRIBUTES (node), indent + 4); print_node_brief (file, "abstract_origin", DECL_ABSTRACT_ORIGIN (node), indent + 4); |