diff options
author | Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | 2004-07-01 19:32:27 +0000 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 2004-07-01 15:32:27 -0400 |
commit | 8e6b96d398270fe98716792740ac2d50d2a464c4 (patch) | |
tree | 2c0c104908c11178291f6e0b65211456f1d8da76 /gcc | |
parent | 695e0fbfe0257a0659880d0a05a2c754660e713f (diff) | |
download | gcc-8e6b96d398270fe98716792740ac2d50d2a464c4.zip gcc-8e6b96d398270fe98716792740ac2d50d2a464c4.tar.gz gcc-8e6b96d398270fe98716792740ac2d50d2a464c4.tar.bz2 |
tree-pretty-print.c (dump_generic_node, [...]): Use access functions for lower bound and element size and only output if...
* tree-pretty-print.c (dump_generic_node, case ARRAY_REF): Use
access functions for lower bound and element size and only output
if lower bound nonzero or element size not same as that of type.
(dump_generic_node, case COMPONENT_REF): Use access func. for offset.
From-SVN: r83997
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/tree-pretty-print.c | 24 |
2 files changed, 19 insertions, 12 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 95961e6..1850bc8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2004-07-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> + + * tree-pretty-print.c (dump_generic_node, case ARRAY_REF): Use + access functions for lower bound and element size and only output + if lower bound nonzero or element size not same as that of type. + (dump_generic_node, case COMPONENT_REF): Use access func. for offset. + 2004-07-01 Paolo Bonzini <bonzini@gnu.org> * c-pretty-print.c (pp_c_postfix_expression): Fix pasto. diff --git a/gcc/tree-pretty-print.c b/gcc/tree-pretty-print.c index 9d415fa..188faff 100644 --- a/gcc/tree-pretty-print.c +++ b/gcc/tree-pretty-print.c @@ -611,12 +611,12 @@ dump_generic_node (pretty_printer *buffer, tree node, int spc, int flags, pp_character (buffer, ')'); pp_string (buffer, str); dump_generic_node (buffer, TREE_OPERAND (node, 1), spc, flags, false); - if (TREE_OPERAND (node, 2) - && TREE_CODE (TREE_OPERAND (node, 2)) != INTEGER_CST) + + op0 = component_ref_field_offset (node); + if (op0 && TREE_CODE (op0) != INTEGER_CST) { pp_string (buffer, "{off: "); - dump_generic_node (buffer, TREE_OPERAND (node, 2), - spc, flags, false); + dump_generic_node (buffer, op0, spc, flags, false); pp_character (buffer, '}'); } break; @@ -649,17 +649,17 @@ dump_generic_node (pretty_printer *buffer, tree node, int spc, int flags, pp_string (buffer, " ..."); pp_character (buffer, ']'); - if ((TREE_OPERAND (node, 2) - && TREE_CODE (TREE_OPERAND (node, 2)) != INTEGER_CST) - || (TREE_OPERAND (node, 3) - && TREE_CODE (TREE_OPERAND (node, 3)) != INTEGER_CST)) + op0 = array_ref_low_bound (node); + op1 = array_ref_element_size (node); + + if (!integer_zerop (op0) + || (TYPE_SIZE_UNIT (TREE_TYPE (node)) + && !operand_equal_p (op1, TYPE_SIZE_UNIT (TREE_TYPE (node)), 0))) { pp_string (buffer, "{lb: "); - dump_generic_node (buffer, TREE_OPERAND (node, 2), - spc, flags, false); + dump_generic_node (buffer, op0, spc, flags, false); pp_string (buffer, " sz: "); - dump_generic_node (buffer, TREE_OPERAND (node, 3), - spc, flags, false); + dump_generic_node (buffer, op1, spc, flags, false); pp_character (buffer, '}'); } break; |