This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Patch Re: 4-25 dwarfout.c change breaks libobjc
- To: Robert Lipe <robertl at sco dot com>
- Subject: Patch Re: 4-25 dwarfout.c change breaks libobjc
- From: Jason Merrill <jason at cygnus dot com>
- Date: 28 Apr 2000 11:17:58 -0700
- Cc: gcc-patches at gcc dot gnu dot org, gcc at gcc dot gnu dot org
- References: <20000427104142.N10659@rjlhome.sco.com>
2000-04-28 Jason Merrill <jason@casey.cygnus.com>
* toplev.c (rest_of_compilation): Call
note_deferral_of_defined_inline_function even if the function
can't be inlined.
Index: toplev.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/toplev.c,v
retrieving revision 1.325
diff -c -p -r1.325 toplev.c
*** toplev.c 2000/04/27 05:58:05 1.325
--- toplev.c 2000/04/28 18:16:23
*************** rest_of_compilation (decl)
*** 2856,2861 ****
--- 2856,2869 ----
|| DECL_EXTERNAL (decl))))
DECL_DEFER_OUTPUT (decl) = 1;
+ if (DECL_INLINE (decl))
+ /* DWARF wants seperate debugging info for abstract and
+ concrete instances of all inline functions, including those
+ declared inline but not inlined, and those inlined even
+ though they weren't declared inline. Conveniently, that's
+ what DECL_INLINE means at this point. */
+ note_deferral_of_defined_inline_function (decl);
+
if (DECL_DEFER_OUTPUT (decl))
{
/* If -Wreturn-type, we have to do a bit of compilation.
*************** rest_of_compilation (decl)
*** 2882,2888 ****
of other functions later in this translation unit. */
TREE_NOTHROW (current_function_decl) = 1;
- note_deferral_of_defined_inline_function (decl);
TIMEVAR (integration_time, save_for_inline_nocopy (decl));
DECL_SAVED_INSNS (decl)->inlinable = inlinable;
goto exit_rest_of_compilation;
--- 2890,2895 ----