https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110827

--- Comment #2 from Iain Sandoe <iains at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #1)
> I'm seeing all code properly instrumented.  The coverage I see is
<snip>
>         1:   27:task foo() {
>         -:   28:  std::cout << "Running..." << std::endl;
>         -:   29:  co_return;
>         2:   30:}
<snip>
> 
> I have no idea why for example line 28 isn't marked executed.

So we are recognising that the ramp function has run:
 foo () {
 .... compiler-generated code with no line numbers
 }

but execution of the the outlined body (which is the 'actor' function) is not,
apparently recorded.

The actor is essentially:

foo.actor()
 .. compiler-generated code no line numbers
 {
   std::cout << "Running..." << std::endl;
   co_return;
 }
 .. compiler-generated code no line numbers

co_return expands to some compiler-generated code too - so it's possible the
line numbers get confusing there - but the cout line ought to be
uncontroversial.

Reply via email to