aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-decl.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2004-07-25 01:10:28 -0700
committerRichard Henderson <rth@gcc.gnu.org>2004-07-25 01:10:28 -0700
commitb785f485ecfa4a4685e30b3385b701159726f4a3 (patch)
treeb78bcdd05d614d85d427a31d73cab2c711cc5ccd /gcc/c-decl.c
parent78d8e0f9d867bb8d53ab4ad98873e2e8ab342c8f (diff)
downloadgcc-b785f485ecfa4a4685e30b3385b701159726f4a3.zip
gcc-b785f485ecfa4a4685e30b3385b701159726f4a3.tar.gz
gcc-b785f485ecfa4a4685e30b3385b701159726f4a3.tar.bz2
c-decl.c (start_function): Set DECL_ARTIFICIAL and DECL_IGNORED_P on the RESULT_DECL.
* c-decl.c (start_function): Set DECL_ARTIFICIAL and DECL_IGNORED_P on the RESULT_DECL. * cgraphunit.c (cgraph_build_static_cdtor): Likewise. * integrate.c (copy_decl_for_inlining): Copy DECL_ARTIFICIAL and DECL_IGNORED_P to new decl. ada/ * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and DECL_IGNORED_P on RESULT_DECL. cp/ * decl.c (start_preparsed_function): Set DECL_ARTIFICIAL and DECL_IGNORED_P on RESULT_DECL. * semantics.c (finalize_nrv): Copy them too. fortran/ * trans-decl.c (gfc_build_function_decl): Set DECL_ARTIFICIAL and DECL_IGNORED_P on RESULT_DECL. (gfc_generate_constructors): Likewise. java/ * decl.c (build_result_decl): Set DECL_ARTIFICIAL and DECL_IGNORED_P. From-SVN: r85145
Diffstat (limited to 'gcc/c-decl.c')
-rw-r--r--gcc/c-decl.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/gcc/c-decl.c b/gcc/c-decl.c
index 41e7df0..62a464e 100644
--- a/gcc/c-decl.c
+++ b/gcc/c-decl.c
@@ -5661,7 +5661,7 @@ int
start_function (tree declspecs, tree declarator, tree attributes)
{
tree decl1, old_decl;
- tree restype;
+ tree restype, resdecl;
current_function_returns_value = 0; /* Assume, until we see it does. */
current_function_returns_null = 0;
@@ -5857,8 +5857,11 @@ start_function (tree declspecs, tree declarator, tree attributes)
else
restype = integer_type_node;
}
- DECL_RESULT (current_function_decl)
- = build_decl (RESULT_DECL, NULL_TREE, restype);
+
+ resdecl = build_decl (RESULT_DECL, NULL_TREE, restype);
+ DECL_ARTIFICIAL (resdecl) = 1;
+ DECL_IGNORED_P (resdecl) = 1;
+ DECL_RESULT (current_function_decl) = resdecl;
start_fname_decls ();