aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-decl.c
diff options
context:
space:
mode:
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>1995-04-11 17:41:27 +0000
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>1995-04-11 17:41:27 +0000
commit8d7d67cc9e035df73eb0c2754e5ba52a8e633609 (patch)
treeb4bad3a682d1c66016d06aa725ac3a1956c3ed57 /gcc/c-decl.c
parent3be47e77ab0044623dcc0f1beda8f6115eb34015 (diff)
(poplevel): Do output inline function if
DECL_ABSTRACT_ORIGIN points to itself. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9359 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/c-decl.c')
-rw-r--r--gcc/c-decl.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/c-decl.c b/gcc/c-decl.c
index 621e71dba94..8f9534857fb 100644
--- a/gcc/c-decl.c
+++ b/gcc/c-decl.c
@@ -973,8 +973,12 @@ poplevel (keep, reverse, functionbody)
{
/* If this decl was copied from a file-scope decl
on account of a block-scope extern decl,
- propagate TREE_ADDRESSABLE to the file-scope decl. */
- if (DECL_ABSTRACT_ORIGIN (decl) != 0)
+ propagate TREE_ADDRESSABLE to the file-scope decl.
+
+ DECL_ABSTRACT_ORIGIN can be set to itself if warn_return_type is
+ true, since then the decl goes through save_for_inline_copying. */
+ if (DECL_ABSTRACT_ORIGIN (decl) != 0
+ && DECL_ABSTRACT_ORIGIN (decl) != decl)
TREE_ADDRESSABLE (DECL_ABSTRACT_ORIGIN (decl)) = 1;
else
{