[Lldb-commits] [PATCH] D143127: [LLDB] Fix assertion failure by removing `CopyType` in `std::coroutine_handle` pretty printer

Adrian Vogelsgesang via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Fri Feb 3 05:34:04 PST 2023


avogelsgesang added a comment.

Agree, other pretty-printers also don't use `ASTImporter`. I think the call was still needed originally in https://github.com/llvm/llvm-project/commit/01f4c305fae9ff2f165ce0f635a90f8e2292308c, because the promise_type was combined with newly created AST types which were created in a different AST-instance (see `GetCoroutineFrameType` in this old version of the code). My interpretation now is: Building struct types which refer to types from other AST instances is not supported. Returning synthetic children from different with types from different ASTs is supported, thoguh.

I will wait until Wednesday morning before merging this fix, to give other potentially interested reviewers some time. After merging this to `main`, I will open a backport request for LLDB-16.

I am still a bit concerned that the `lldbassert` was not caught by the existing tests. It seems the tests are ignoring `lldbassert` given that those asserts only print some information to `stderr` but don't actually terminate lldb? I assume this is something which should be fixed globally for all API test? Do you have an idea how I could fix this?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D143127/new/

https://reviews.llvm.org/D143127



More information about the lldb-commits mailing list