With this commit, we now attach an DISubprogram to the LLVM-generated
_NoopCoro_ResumeDestroy function. Thereby, lldb can show a
std::coroutine_handle to a std::noop_coroutine as
continuation = coro frame = 0x555555560d98 { resume = 0x0000555555555c50 (a.out`_NoopCoro_ResumeDestroy) destroy = 0x0000555555555c50 (a.out`_NoopCoro_ResumeDestroy) }
instead of
continuation = coro frame = 0x555555560d98 { resume = 0x0000555555555c50 (a.out`___lldb_unnamed_symbol211) destroy = 0x0000555555555c50 (a.out`___lldb_unnamed_symbol211) }
I renamed the function from NoopCoro.ResumeDestroy to
_NoopCoro_ResumeDestroy because:
- the leading _ makes sure this is a reserved name and should not clash with any user-provided names
- the . was replaced by a _, so the name is now a valid identifier in C, making it allows me to type its name in the debugger
Unrelated change.