[all-commits] [llvm/llvm-project] 9e6ea3: Reland "[lldb][ObjC] Don't query objective-c runti...

Michael Buch via All-commits all-commits at lists.llvm.org
Fri Jun 21 12:35:58 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9e6ea387c877a50394aca4b02f18a05e88cf2690
      https://github.com/llvm/llvm-project/commit/9e6ea387c877a50394aca4b02f18a05e88cf2690
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-06-21 (Fri, 21 Jun 2024)

  Changed paths:
    M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
    M lldb/test/API/lang/objcxx/objc-from-cpp-frames-without-debuginfo/TestObjCFromCppFramesWithoutDebugInfo.py
    M lldb/test/API/macosx/early-process-launch/TestEarlyProcessLaunch.py
    A lldb/test/Shell/Expr/TestObjCInCXXContext.test

  Log Message:
  -----------
  Reland "[lldb][ObjC] Don't query objective-c runtime for decls in C++ contexts"

This relands https://github.com/llvm/llvm-project/pull/95963. It had to
be reverted because the `TestEarlyProcessLaunch.py` test was failing
on the incremental macOS bots. The test failed because it was relying on
expression log output from the ObjC introspection routines (but was
the expression was called from a C++ context). The relanded patch
simply ensures that the test runs the expressions as `ObjC` expressions.

When LLDB isn't able to find a `clang::Decl` in response
to a `FindExternalVisibleDeclsByName`, it will fall-back
to looking into the Objective-C runtime for that decl. This
ends up doing a lot of work which isn't necessary when we're
debugging a C++ program. This patch makes the ObjC lookup
conditional on the language that the ExpressionParser deduced
(which can be explicitly set using the `expr --language` option
or is set implicitly if we're stopped in an ObjC frame or a
C++ frame without debug-info).

rdar://96236519



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list