aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-semantics.c
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2001-08-10 10:01:33 -0400
committerJason Merrill <jason@gcc.gnu.org>2001-08-10 10:01:33 -0400
commit07b2f2fd6efdf33ab13eb31fc8ea38668dbf6ed6 (patch)
treed9f451da73883db76d0425e08382fce4bb154737 /gcc/c-semantics.c
parent67070ffeb0f10bcc841e87756d18eb85de1ab8a8 (diff)
downloadgcc-07b2f2fd6efdf33ab13eb31fc8ea38668dbf6ed6.zip
gcc-07b2f2fd6efdf33ab13eb31fc8ea38668dbf6ed6.tar.gz
gcc-07b2f2fd6efdf33ab13eb31fc8ea38668dbf6ed6.tar.bz2
c-common.h (RETURN_NULLIFIED_P): Lose.
* c-common.h (RETURN_NULLIFIED_P): Lose. * c-semantics.c (genrtl_return_stmt): Don't check it. Support named return value optimization for inlines, too. * decl.c (finish_function): Nullify returns here. * semantics.c (genrtl_start_function): Not here. (cp_expand_stmt): Don't mess with CLEANUP_STMTs. (nullify_returns_r): No longer static. Just clear RETURN_EXPR. Also nullify the CLEANUP_STMT for the nrv. * cp-tree.h: Declare it. * optimize.c (declare_return_variable): Replace the nrv with the return variable. * typeck.c (check_return_expr): Be more flexible on alignment check. Ignore cv-quals when checking for a matching type. From-SVN: r44762
Diffstat (limited to 'gcc/c-semantics.c')
-rw-r--r--gcc/c-semantics.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/gcc/c-semantics.c b/gcc/c-semantics.c
index 2ee2647..e05ae76 100644
--- a/gcc/c-semantics.c
+++ b/gcc/c-semantics.c
@@ -462,13 +462,7 @@ genrtl_return_stmt (stmt)
{
tree expr;
- /* If RETURN_NULLIFIED_P is set, the frontend has arranged to set up
- the return value separately, so just return the return value
- itself. This is used for the C++ named return value optimization. */
- if (RETURN_NULLIFIED_P (stmt))
- expr = DECL_RESULT (current_function_decl);
- else
- expr = RETURN_EXPR (stmt);
+ expr = RETURN_EXPR (stmt);
emit_line_note (input_filename, lineno);
if (!expr)