[PATCH] D109632: [clang] de-duplicate methods from AST files

Richard Howell via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Sep 30 07:40:46 PDT 2021


rmaz added a comment.

In D109632#3032381 <https://reviews.llvm.org/D109632#3032381>, @vsapsai wrote:

> What's interesting, I was able to trigger more diagnostic. Specifically, I got warnings about `length` ambiguity because in NSStatusItem it is CGFloat <https://developer.apple.com/documentation/appkit/nsstatusitem/1529402-length>, while in NSString it is NSUInteger. I also had more diagnostic that's unclear how it is triggered. It can be a project issue or a bug somewhere else, need to check it more carefully.

Yes, I also had a couple of files fail to compile due to mismatched (or differently matched) selectors.

> In theory, "set dedupe" approach should be slower than "no external" as we are iterating through shared dependencies. But in practice it isn't, which is puzzling. My current theory is that "no external" also feeds into correctness, so we might be doing more [correct] method overloading checks.

Well, wouldn't the tradeoff there be that we now have to descend into all dependent modules during selector lookup when we didn't have to previously? And this would do more work as only a small subset of those modules would have a selector match, which in the current case has already been handled and serialized on a single method list.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D109632



More information about the cfe-commits mailing list