diff options
author | Jakub Jelinek <jakub@redhat.com> | 2011-04-26 15:35:21 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2011-04-26 15:35:21 +0200 |
commit | 0c5f6539adcff8eaad1a02002ac616f33c226b6e (patch) | |
tree | b73ddcd14f6b3d35323abb3b350b6d5112a0dc33 /gcc/tree-ssa.c | |
parent | 2c9da85bf03e2920af2dca3bb124abc745bc365b (diff) | |
download | gcc-0c5f6539adcff8eaad1a02002ac616f33c226b6e.zip gcc-0c5f6539adcff8eaad1a02002ac616f33c226b6e.tar.gz gcc-0c5f6539adcff8eaad1a02002ac616f33c226b6e.tar.bz2 |
re PR debug/48768 (ICE in get_expr_operands())
PR debug/48768
* tree-ssa.c (insert_debug_temp_for_var_def): If degenerate_phi_result
is error_mark_node, set value to NULL.
* gcc.dg/pr48768.c: New test.
From-SVN: r172968
Diffstat (limited to 'gcc/tree-ssa.c')
-rw-r--r-- | gcc/tree-ssa.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c index 4cd86c6..7f0a077 100644 --- a/gcc/tree-ssa.c +++ b/gcc/tree-ssa.c @@ -1,5 +1,5 @@ /* Miscellaneous SSA utility functions. - Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010 + Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. This file is part of GCC. @@ -352,6 +352,10 @@ insert_debug_temp_for_var_def (gimple_stmt_iterator *gsi, tree var) value = degenerate_phi_result (def_stmt); if (value && walk_tree (&value, find_released_ssa_name, NULL, NULL)) value = NULL; + /* error_mark_node is what fixup_noreturn_call changes PHI arguments + to. */ + else if (value == error_mark_node) + value = NULL; } else if (is_gimple_assign (def_stmt)) { |