diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 403c825fc8d6..3525466c3d9b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2010-10-08 Alexandre Oliva + + 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. + 2010-10-07 Nathan Froyd * config/m68hc11/m68hc11.c (m68hc11_print_operand): Call diff --git a/gcc/tree-pretty-print.c b/gcc/tree-pretty-print.c index 6440f8097eb5..8ec2dedbb1e5 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)))