This is an archive of the discontinued LLVM Phabricator instance.

[GNU ObjC] Fix a regression listing methods twice.
ClosedPublic

Authored by theraven on Nov 20 2020, 8:47 AM.

Details

Summary

Methods synthesized from declared properties were being added to the
method lists twice. This came from the change to list them in the
class's method list, which missed removing the place in CGObjCGNU that
added them again.

Diff Detail

Event Timeline

theraven created this revision.Nov 20 2020, 8:47 AM
Herald added a project: Restricted Project. · View Herald TranscriptNov 20 2020, 8:47 AM
Herald added a subscriber: cfe-commits. · View Herald Transcript
theraven requested review of this revision.Nov 20 2020, 8:47 AM

This was caught with the GNUstep runtime's test suite, which apparently had not been run with anything newer than clang 8 until recently. With this patch, all of the runtime's tests now pass again (a few others failed in 10 but appear to have been fixed in 11 or 12). We've now configured our CI to test with the nightly builds on Linux, so should catch these things sooner in the future.

I'd like to get this into the 11 point release, so it would be good to have a review...

lanza accepted this revision.Nov 30 2020, 11:49 AM

LGTM!

This revision is now accepted and ready to land.Nov 30 2020, 11:49 AM

Functionally LGTM. I don't know if 11 is still taking changes, but if it is, you have code-owner approval.

clang/test/CodeGenObjC/gnu-method-only-once.m
9

Comment trails off. Not sure the bug history is necessary here; you could just make this part of the commit message.

This revision was landed with ongoing or failed builds.Dec 1 2020, 1:50 AM
This revision was automatically updated to reflect the committed changes.
triplef added a subscriber: triplef.Dec 1 2020, 4:08 AM