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.