aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-pretty-print.c
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2010-10-08 04:40:59 +0000
committerAlexandre Oliva <aoliva@redhat.com>2010-10-08 04:40:59 +0000
commit7f7dabfcfd48ac9d04b9c60c83f0a31c7a50e803 (patch)
tree8928b411deda7d3ae2c7cb5cc355f5b0c3585060 /gcc/tree-pretty-print.c
parent996f12673b925c29d9fee94d48e8139788f355ac (diff)
PR debug/45673
PR debug/45604 PR debug/45419 PR debug/45408 * tree-pretty-print.c (dump_generic_node): Explicitly dump the type of MEM_REFs to INTEGER_CSTs. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@165149 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-pretty-print.c')
-rw-r--r--gcc/tree-pretty-print.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/tree-pretty-print.c b/gcc/tree-pretty-print.c
index 6440f8097eb..8ec2dedbb1e 100644
--- a/gcc/tree-pretty-print.c
+++ b/gcc/tree-pretty-print.c
@@ -801,6 +801,10 @@ dump_generic_node (pretty_printer *buffer, tree node, int spc, int flags,
case MEM_REF:
{
if (integer_zerop (TREE_OPERAND (node, 1))
+ /* Dump the types of INTEGER_CSTs explicitly, for we can't
+ infer them and MEM_ATTR caching will share MEM_REFs
+ with differently-typed op0s. */
+ && TREE_CODE (TREE_OPERAND (node, 0)) != INTEGER_CST
/* Same pointer types, but ignoring POINTER_TYPE vs.
REFERENCE_TYPE. */
&& (TREE_TYPE (TREE_TYPE (TREE_OPERAND (node, 0)))
@@ -1163,6 +1167,10 @@ dump_generic_node (pretty_printer *buffer, tree node, int spc, int flags,
|| (TREE_CODE (op0) == MEM_REF
&& TREE_CODE (TREE_OPERAND (op0, 0)) != ADDR_EXPR
&& integer_zerop (TREE_OPERAND (op0, 1))
+ /* Dump the types of INTEGER_CSTs explicitly, for we
+ can't infer them and MEM_ATTR caching will share
+ MEM_REFs with differently-typed op0s. */
+ && TREE_CODE (TREE_OPERAND (op0, 0)) != INTEGER_CST
/* Same pointer types, but ignoring POINTER_TYPE vs.
REFERENCE_TYPE. */
&& (TREE_TYPE (TREE_TYPE (TREE_OPERAND (op0, 0)))