This is an archive of the discontinued LLVM Phabricator instance.

[Sema] Fix PR26085 -- regression caused by making overload resolution more lenient in C.
ClosedPublic

Authored by george.burgess.iv on Jan 13 2016, 2:58 PM.

Details

Summary

Fix PR26085 by suppressing diags from CheckSingleAssignmentConstraints during overload resolution.

It seems that passing Diagnose/Complain flags around to Sema methods is a mildly common thing, so that’s the approach I took when making this. I’m certainly open to suggestions if there’s a better way to go about this, because "check a flag every time you call Diag" seems a bit fragile/error-prone.

N.B. The attached test case is the most ObjC I’ve ever written. If the added test cases seem unintuitive, please let me know. :)

Diff Detail

Repository
rL LLVM

Event Timeline

george.burgess.iv retitled this revision from to [Sema] Fix PR26085 -- regression caused by making overload resolution more lenient in C..
george.burgess.iv updated this object.
george.burgess.iv added a subscriber: cfe-commits.
rsmith accepted this revision.Jan 13 2016, 3:23 PM
rsmith edited edge metadata.

LGTM

This revision is now accepted and ready to land.Jan 13 2016, 3:23 PM
This revision was automatically updated to reflect the committed changes.