aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-decl.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2003-10-22 13:58:10 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2003-10-22 11:58:10 +0000
commit1bb17c2144248180a1b00f5e5e6cf607fba0d46c (patch)
tree9d18905bfe933c3bc24bcf7b89cb85d08790b337 /gcc/c-decl.c
parente97c30aaa713e64309e3c0df2592f56e2a26e70e (diff)
downloadgcc-1bb17c2144248180a1b00f5e5e6cf607fba0d46c.zip
gcc-1bb17c2144248180a1b00f5e5e6cf607fba0d46c.tar.gz
gcc-1bb17c2144248180a1b00f5e5e6cf607fba0d46c.tar.bz2
re PR debug/12389 ([testcase needed] ICE in gen_subprogram_die for nested function)
PR debug/12389 * Makefile.in (dwarf2out.o): Depend on cgraph.h. * cgraph.c (cgraph_function_possibly_inlined_p): New function. * cgraph.h (cgraph_function_possibly_inlined_p): Declare. (cgraph_global_info): Add flag inlined * dwarf2out.c (gen_subprogram_die, gen_decl_die): Use cgraph_function_possibly_inded_p * cgraphunit.c (mark_inline): Set inlined flag. * toplev.c (rest_of_decl_compilation): Call outlining_inline_function only for possibly inlined functions. * c-decl.c (duplicate_decls): Never output abstract DIE representing old body of function. From-SVN: r72795
Diffstat (limited to 'gcc/c-decl.c')
-rw-r--r--gcc/c-decl.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/c-decl.c b/gcc/c-decl.c
index 7880f7f..93ce347 100644
--- a/gcc/c-decl.c
+++ b/gcc/c-decl.c
@@ -1406,7 +1406,10 @@ duplicate_decls (tree newdecl, tree olddecl, int different_binding_level,
been written out yet. */
if (new_is_definition && DECL_INITIAL (olddecl))
{
- if (TREE_USED (olddecl))
+ if (TREE_USED (olddecl)
+ /* In unit-at-a-time mode we never inline re-defined extern
+ inline functions. */
+ && !flag_unit_at_a_time)
(*debug_hooks->outlining_inline_function) (olddecl);
/* The new defn must not be inline. */