aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>2004-07-01 19:32:27 +0000
committerRichard Kenner <kenner@gcc.gnu.org>2004-07-01 15:32:27 -0400
commit8e6b96d398270fe98716792740ac2d50d2a464c4 (patch)
tree2c0c104908c11178291f6e0b65211456f1d8da76 /gcc
parent695e0fbfe0257a0659880d0a05a2c754660e713f (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--gcc/tree-pretty-print.c24
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;