[Bug gcov-profile/110827] C++20 coroutines aren't being measured by gcov

2023-09-26 Thread iains at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110827 --- Comment #11 from Iain Sandoe --- (In reply to Michael Duggan from comment #9) > More data: > The coroutine actor is marked as artificial in > coro_build_actor_or_destroy_function. As a result, it is completely ignored > by gcov. In gcov's

[Bug gcov-profile/110827] C++20 coroutines aren't being measured by gcov

2023-09-25 Thread mwd at md5i dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110827 --- Comment #10 from Michael Duggan --- To sum up what I have figured out, C++ transforms the coroutine "function" into a trio of functions: a ramp function, an actor function, and a destruction function. The ramp function acts as the actual

[Bug gcov-profile/110827] C++20 coroutines aren't being measured by gcov

2023-08-31 Thread mwd at md5i dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110827 --- Comment #9 from Michael Duggan --- More data: The coroutine actor is marked as artificial in coro_build_actor_or_destroy_function. As a result, it is completely ignored by gcov. In gcov's process_all_functions function, artificial

[Bug gcov-profile/110827] C++20 coroutines aren't being measured by gcov

2023-08-29 Thread mwd at md5i dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110827 --- Comment #8 from Michael Duggan --- Using the better test case, I have determined that the coroutine _is_ being instrumented with gcov counters. When disassembled, the output contains the following in the bar() actor function: Dump of

[Bug gcov-profile/110827] C++20 coroutines aren't being measured by gcov

2023-08-29 Thread mwd at md5i dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110827 Michael Duggan changed: What|Removed |Added Attachment #55648|0 |1 is obsolete|

[Bug gcov-profile/110827] C++20 coroutines aren't being measured by gcov

2023-07-28 Thread iains at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110827 --- Comment #6 from Iain Sandoe --- (In reply to Richard Biener from comment #5) > (In reply to Iain Sandoe from comment #2) > > (In reply to Richard Biener from comment #1) > > > I'm seeing all code properly instrumented. The coverage I see

[Bug gcov-profile/110827] C++20 coroutines aren't being measured by gcov

2023-07-28 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110827 --- Comment #5 from Richard Biener --- (In reply to Iain Sandoe from comment #2) > (In reply to Richard Biener from comment #1) > > I'm seeing all code properly instrumented. The coverage I see is > > > 1: 27:task foo() { > >

[Bug gcov-profile/110827] C++20 coroutines aren't being measured by gcov

2023-07-27 Thread mwd at md5i dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110827 --- Comment #4 from Michael Duggan --- I should be more explicit. The `std::cout` line in the example is just a placeholder for "does some work here," and this example is specifically the simplest version of a coroutine I could come up with

[Bug gcov-profile/110827] C++20 coroutines aren't being measured by gcov

2023-07-27 Thread mwd at md5i dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110827 --- Comment #3 from Michael Duggan --- (In reply to Richard Biener from comment #1) > I'm seeing all code properly instrumented. The coverage I see is > > -:1:#include > -:2:#include > -:3: > -:

[Bug gcov-profile/110827] C++20 coroutines aren't being measured by gcov

2023-07-27 Thread iains at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110827 --- Comment #2 from Iain Sandoe --- (In reply to Richard Biener from comment #1) > I'm seeing all code properly instrumented. The coverage I see is > 1: 27:task foo() { > -: 28: std::cout << "Running..." << std::endl; >

[Bug gcov-profile/110827] C++20 coroutines aren't being measured by gcov

2023-07-27 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110827 Richard Biener changed: What|Removed |Added Last reconfirmed||2023-07-27