PR c/8518
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 20 Nov 2002 10:37:08 +0000 (10:37 +0000)
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 20 Nov 2002 10:37:08 +0000 (10:37 +0000)
* c-decl.c (duplicate_decls): Outline the second definition
of an extern inline function in all cases.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@59302 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/c-decl.c

index b644383..189c310 100644 (file)
@@ -1,3 +1,9 @@
+2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR c/8518
+       * c-decl.c (duplicate_decls): Outline the second definition
+       of an extern inline function in all cases.
+
 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
 
        * stor-layout.c (place_field): Update rli->offset as well as
index 9c3b58f..5b078c0 100644 (file)
@@ -1474,9 +1474,10 @@ duplicate_decls (newdecl, olddecl, different_binding_level)
         inline, make sure we emit debug info for the inline before we
         throw it away, in case it was inlined into a function that hasn't
         been written out yet.  */
-      if (new_is_definition && DECL_INITIAL (olddecl) && TREE_USED (olddecl))
+      if (new_is_definition && DECL_INITIAL (olddecl))
        {
-         (*debug_hooks->outlining_inline_function) (olddecl);
+         if (TREE_USED (olddecl))
+           (*debug_hooks->outlining_inline_function) (olddecl);
 
          /* The new defn must not be inline.  */
          DECL_INLINE (newdecl) = 0;