This is the mail archive of the gcc-patches@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]
Other format: [Raw text]

Re: [RFC] PR 12389


> On Mon, Oct 20, 2003 at 06:06:33PM +0200, Jan Hubicka wrote:
> > > > /* Verify that inline function never actually inlined has no abstract DIE.  */
> > > > /* { dg-do compile */
> > > > /* { dg-options "-O2 -gdwarf2 -dA" } */
> > > > /* { dg-final { scan-assembler-not "DW_AT_inline" } } */
> > > > inline int t()
> > > > {
> > > > }
> > > > int (*q)()=t;
> > > 
> > > Yes, though I'm not sure we actually want to test most of these things; we
> > > might change our minds about what the right behavior is.
> > 
> > I think it would be usefull to keep these tests around just to ensure
> > that we don't output abstract DIEs when they are not referenced at all.
> > Or is tehre some good reason to do so?
> 
> Why should this not output abstract DIEs?
> I'd think that it should, because you specify 'inline' there.
> This should always result in a DW_AT_inline with value DW_INL_declared_not_inlined
> don't you think?

My understanding is that the abstract DIE is usefull only when
referenced by something and we reference it only when procue debug
output for inline function.  Jason also seemed to agree with idea that
DW_INLI_declared_not_inlined is usefull unless you use
-feliminate-dwarf2-dups.
Now it is not clear for me at all how it is suefull there.  If we emit
DW_INL_declared_not_inlined it will surely not be shared with any other
compilation unit where the function really has been inlined.

Does this seem to make sense?
Honza
> 
> -- 
> Carlo Wood <carlo@alinoe.com>


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