Bugs item #2680727, was opened at 2009-03-10 16:56
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=103382&aid=2680727&group_id=3382

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Tools
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Brian Scearce (blscearce)
Assigned to: Nobody/Anonymous (nobody)
Summary: geninfo doesn't handle interior inlined functions nicely

Initial Comment:
Compiling the following source for coverage:

main()
{
  inline void func() {
     printf("howdy\n");
  }
  func();
  foo();
}


foo(void)
{
   inline void func() {
      printf("in in\n");
   }

   func();
}

The compiler creates func.<number> and func.<another-number> to name the 
inlined functions.  Those interior functions have their names changed to
func_<number> and func_<another-number> in read_gcno_file, and then they show 
up in the generated lcov file like:

FN:3,func_1278
FN:2,main
FN:13,func_1298
FN:12,foo

There's no way of telling from this what lines between 3 and 12 belong to main 
and which belong to func_1278.

For determining function coverage, I'd be happy to throw away the FN: lines 
that correspond to interior inlined functions, but it's difficult to
distinguish between a real function named func_1278 and an interior function 
that has been mangled from func.1278 (can I use the non-monotonicity
of the line numbers? is geninfo guaranteed to emit FN lines for interior 
functions prior to the FN lines for the enclosing function?).  Is there a
reason for the name mangling?  Would it be possible to leave the function name 
as func.1278 in the lcov file?


----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=103382&aid=2680727&group_id=3382

------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to