diff options
author | Paolo Bonzini <bonzini@gnu.org> | 2004-07-12 06:56:45 +0000 |
---|---|---|
committer | Paolo Bonzini <bonzini@gcc.gnu.org> | 2004-07-12 06:56:45 +0000 |
commit | 55e99d5226d32dc4e78fa96375034dda4fbbfcb9 (patch) | |
tree | 19d07d9c11c2ef1cda39ada85ec07837657c0f2f /gcc/gimplify.c | |
parent | 2a9dc91764a82c30cae2a12752276e894d80aee6 (diff) | |
download | gcc-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.c | 6 |
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 |