[Lldb-commits] [PATCH] D132735: [LLDB] Recognize `std::noop_coroutine()` in `std::coroutine_handle` pretty printer

Adrian Vogelsgesang via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Fri Aug 26 05:48:57 PDT 2022


avogelsgesang created this revision.
avogelsgesang added reviewers: ChuanqiXu, aprantl, dblaikie, ychen, jryans, JDevlieghere.
Herald added a project: All.
avogelsgesang requested review of this revision.
Herald added a project: LLDB.
Herald added a subscriber: lldb-commits.

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


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D132735

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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D132735.455881.patch
Type: text/x-patch
Size: 6705 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20220826/3fe681ad/attachment.bin>


More information about the lldb-commits mailing list