aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimplify.c
diff options
context:
space:
mode:
authorPaolo Bonzini <bonzini@gnu.org>2004-07-12 06:56:45 +0000
committerPaolo Bonzini <bonzini@gcc.gnu.org>2004-07-12 06:56:45 +0000
commit55e99d5226d32dc4e78fa96375034dda4fbbfcb9 (patch)
tree19d07d9c11c2ef1cda39ada85ec07837657c0f2f /gcc/gimplify.c
parent2a9dc91764a82c30cae2a12752276e894d80aee6 (diff)
downloadgcc-55e99d5226d32dc4e78fa96375034dda4fbbfcb9.zip
gcc-55e99d5226d32dc4e78fa96375034dda4fbbfcb9.tar.gz
gcc-55e99d5226d32dc4e78fa96375034dda4fbbfcb9.tar.bz2
re PR tree-optimization/14107 (Return warnings don't work without optimizations enabled)
gcc/ChangeLog: 2004-06-29 Paolo Bonzini <bonzini@gnu.org> PR tree-optimization/14107 * gimplify.c (gimplify_return_expr): Accept a RETURN_EXPR with an error argument. * tree-optimize.c (init_tree_optimization_passes): Run pass_warn_function_return at -O0. gcc/cp/ChangeLog: 2004-06-29 Paolo Bonzini <bonzini@gnu.org> PR tree-optimization/14107 * decl.c (finish_function): Remove temporary band-aid. From-SVN: r84550
Diffstat (limited to 'gcc/gimplify.c')
-rw-r--r--gcc/gimplify.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/gcc/gimplify.c b/gcc/gimplify.c
index 5b87620..f2003b6 100644
--- a/gcc/gimplify.c
+++ b/gcc/gimplify.c
@@ -928,12 +928,10 @@ gimplify_return_expr (tree stmt, tree *pre_p)
tree ret_expr = TREE_OPERAND (stmt, 0);
tree result_decl, result;
- if (!ret_expr || TREE_CODE (ret_expr) == RESULT_DECL)
+ if (!ret_expr || TREE_CODE (ret_expr) == RESULT_DECL
+ || ret_expr == error_mark_node)
return GS_ALL_DONE;
- if (ret_expr == error_mark_node)
- return GS_ERROR;
-
if (VOID_TYPE_P (TREE_TYPE (TREE_TYPE (current_function_decl))))
result_decl = NULL_TREE;
else