[all-commits] [llvm/llvm-project] 434631: [LLDB] Recognize `std::noop_coroutine()` in `std::...

Adrian Vogelsgesang via All-commits all-commits at lists.llvm.org
Sun Nov 20 11:19:14 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4346318f5c700f4e85f866610fb8328fc429319b
      https://github.com/llvm/llvm-project/commit/4346318f5c700f4e85f866610fb8328fc429319b
  Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
  Date:   2022-11-20 (Sun, 20 Nov 2022)

  Changed paths:
    M lldb/source/Plugins/Language/CPlusPlus/Coroutines.cpp
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/coroutine_handle/TestCoroutineHandle.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/coroutine_handle/main.cpp

  Log Message:
  -----------
  [LLDB] Recognize `std::noop_coroutine()` in `std::coroutine_handle` pretty printer

With this commit, the `std::coroutine_handle` pretty printer now
recognizes `std::noop_coroutine()` handles. For noop coroutine handles,
we identify use the summary string `noop_coroutine` and we don't print
children

Instead of
```
(std::coroutine_handle<void>) $3 = coro frame = 0x555555559058 {
  resume = 0x00005555555564f0 (a.out`std::__1::coroutine_handle<std::__1::noop_coroutine_promise>::__noop_coroutine_frame_ty_::__dummy_resume_destroy_func() at noop_coroutine_handle.h:79)
  destroy = 0x00005555555564f0 (a.out`std::__1::coroutine_handle<std::__1::noop_coroutine_promise>::__noop_coroutine_frame_ty_::__dummy_resume_destroy_func() at noop_coroutine_handle.h:79)
}
```

we now print

```
(std::coroutine_handle<void>) $3 = noop_coroutine
```

Differential Revision: https://reviews.llvm.org/D132735




More information about the All-commits mailing list