aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1995-04-11 10:41:27 -0700
committerJim Wilson <wilson@gcc.gnu.org>1995-04-11 10:41:27 -0700
commit6272a44980d256783c492987b0b303f4910e848c (patch)
treeb4bad3a682d1c66016d06aa725ac3a1956c3ed57 /gcc
parentb029f99a287175aa023f856aa90c0f7cb72766d4 (diff)
downloadgcc-6272a44980d256783c492987b0b303f4910e848c.zip
gcc-6272a44980d256783c492987b0b303f4910e848c.tar.gz
gcc-6272a44980d256783c492987b0b303f4910e848c.tar.bz2
(poplevel): Do output inline function if
DECL_ABSTRACT_ORIGIN points to itself. From-SVN: r9359
Diffstat (limited to 'gcc')
-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 621e71d..8f95348 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
{