From 8dfac9896ee2885d0859e4a7aa7fe7789e5b297b Mon Sep 17 00:00:00 2001 From: Richard Guenther Date: Thu, 31 May 2012 15:03:37 +0000 Subject: [PATCH] re PR middle-end/53541 (gcc-4.6.2 segfaults on dumping tree information) 2012-05-31 Richard Guenther PR middle-end/53541 * tree-pretty-print.c (dump_generic_node): Guard against NULL_TREE TREE_TYPE when dumping MEM_REF offset type. From-SVN: r188066 --- gcc/ChangeLog | 6 ++++++ gcc/tree-pretty-print.c | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9be8483f8ca3..24a9a04c42cf 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2012-05-31 Richard Guenther + + PR middle-end/53541 + * tree-pretty-print.c (dump_generic_node): Guard against + NULL_TREE TREE_TYPE when dumping MEM_REF offset type. + 2012-05-24 Bill Schmidt Backport from mainline diff --git a/gcc/tree-pretty-print.c b/gcc/tree-pretty-print.c index 12ef38817eb9..b9e39af91598 100644 --- a/gcc/tree-pretty-print.c +++ b/gcc/tree-pretty-print.c @@ -805,6 +805,8 @@ dump_generic_node (pretty_printer *buffer, tree node, int spc, int flags, infer them and MEM_ATTR caching will share MEM_REFs with differently-typed op0s. */ && TREE_CODE (TREE_OPERAND (node, 0)) != INTEGER_CST + /* Released SSA_NAMES have no TREE_TYPE. */ + && TREE_TYPE (TREE_OPERAND (node, 0)) != NULL_TREE /* Same pointer types, but ignoring POINTER_TYPE vs. REFERENCE_TYPE. */ && (TREE_TYPE (TREE_TYPE (TREE_OPERAND (node, 0))) @@ -1171,6 +1173,8 @@ dump_generic_node (pretty_printer *buffer, tree node, int spc, int flags, can't infer them and MEM_ATTR caching will share MEM_REFs with differently-typed op0s. */ && TREE_CODE (TREE_OPERAND (op0, 0)) != INTEGER_CST + /* Released SSA_NAMES have no TREE_TYPE. */ + && TREE_TYPE (TREE_OPERAND (op0, 0)) != NULL_TREE /* Same pointer types, but ignoring POINTER_TYPE vs. REFERENCE_TYPE. */ && (TREE_TYPE (TREE_TYPE (TREE_OPERAND (op0, 0))) -- 2.47.2