diff options
author | Eric Botcazou <ebotcazou@libertysurf.fr> | 2002-11-20 10:37:08 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2002-11-20 10:37:08 +0000 |
commit | 02a362d9826f4ea8868e7e56ac145a523823022e (patch) | |
tree | 95acf43b84272e0ed2ef3117774d8b4e65e05100 | |
parent | 5354730bf62ca4d1418885813585e2cf63a2b842 (diff) | |
download | gcc-02a362d9826f4ea8868e7e56ac145a523823022e.zip gcc-02a362d9826f4ea8868e7e56ac145a523823022e.tar.gz gcc-02a362d9826f4ea8868e7e56ac145a523823022e.tar.bz2 |
re PR c/8518 (ICE when compiling mplayer)
PR c/8518
* c-decl.c (duplicate_decls): Outline the second definition
of an extern inline function in all cases.
From-SVN: r59302
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/c-decl.c | 5 |
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b644383..189c310 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/c-decl.c b/gcc/c-decl.c index 9c3b58f..5b078c0 100644 --- a/gcc/c-decl.c +++ b/gcc/c-decl.c @@ -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; |