This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Patch Re: 4-25 dwarfout.c change breaks libobjc


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 ----

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]