diff options
author | Adrian Vogelsgesang <avogelsgesang@salesforce.com> | 2022-08-24 10:27:23 -0700 |
---|---|---|
committer | Adrian Vogelsgesang <avogelsgesang@salesforce.com> | 2022-08-26 05:49:52 -0700 |
commit | 5af06ba7dc26f614989a9a9e16e69f6ecc811519 (patch) | |
tree | d6447ce6e2d569e0178c87b1a726ff254c520957 /clang/lib/Basic/IdentifierTable.cpp | |
parent | 80e7dec561705386376bbfba0f7d5c290f2c04f6 (diff) | |
download | llvm-5af06ba7dc26f614989a9a9e16e69f6ecc811519.zip llvm-5af06ba7dc26f614989a9a9e16e69f6ecc811519.tar.gz llvm-5af06ba7dc26f614989a9a9e16e69f6ecc811519.tar.bz2 |
[Coro][Debuginfo] Add debug info to `__NoopCoro_ResumeDestroy` function
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
Differential Revision: https://reviews.llvm.org/D132580
Diffstat (limited to 'clang/lib/Basic/IdentifierTable.cpp')
0 files changed, 0 insertions, 0 deletions