[all-commits] [llvm/llvm-project] 499489: [lldb] Add a test for potentially conflicting name...

Raphael Isemann via All-commits all-commits at lists.llvm.org
Tue Aug 10 05:46:48 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 499489064b7a4519f7c566e76077821ae1f3446d
      https://github.com/llvm/llvm-project/commit/499489064b7a4519f7c566e76077821ae1f3446d
  Author: Raphael Isemann <teemperor at gmail.com>
  Date:   2021-08-10 (Tue, 10 Aug 2021)

  Changed paths:
    A lldb/test/API/lang/objcxx/conflicting-names-class-update-utility-expr/Makefile
    A lldb/test/API/lang/objcxx/conflicting-names-class-update-utility-expr/TestObjCConflictingNamesForClassUpdateExpr.py
    A lldb/test/API/lang/objcxx/conflicting-names-class-update-utility-expr/main.mm

  Log Message:
  -----------
  [lldb] Add a test for potentially conflicting names for the Objective-C class update utility expression

We recently had an issue where a user declared a `Class::free` function which
then got picked up by accident by the expression evaluator when calling
`::free`. This was due to a too lax filter in the DWARFIndex (which was fixed by
https://reviews.llvm.org/D73191 ). This broke the Objective-C utility expression
that is trying to update the Objective-C class list (which is calling `:;free`).

This adds a regression test for situations where we have a bunch of functions
defined that share the name of the global functions that this utility function
calls. None of them are actually conflicting with the global functions we are
trying to call (they are all in namespaces, objects or classes).

Reviewed By: JDevlieghere

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




More information about the All-commits mailing list