aboutsummaryrefslogtreecommitdiff
path: root/gcc/stmt.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/stmt.c')
-rw-r--r--gcc/stmt.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/stmt.c b/gcc/stmt.c
index fe0d58e..41a1b4f 100644
--- a/gcc/stmt.c
+++ b/gcc/stmt.c
@@ -2844,7 +2844,9 @@ expand_return (retval)
cleanups = 1;
#endif
- if (TREE_CODE (retval) == RESULT_DECL)
+ if (retval == error_mark_node)
+ retval_rhs = NULL_TREE;
+ else if (TREE_CODE (retval) == RESULT_DECL)
retval_rhs = retval;
else if ((TREE_CODE (retval) == MODIFY_EXPR || TREE_CODE (retval) == INIT_EXPR)
&& TREE_CODE (TREE_OPERAND (retval, 0)) == RESULT_DECL)