This is an archive of the discontinued LLVM Phabricator instance.

Fix typos handling in an overloadable call.
ClosedPublic

Authored by dmitry on Apr 6 2017, 8:41 AM.

Details

Summary

In C typos in arguments in a call of an overloadable function lead to a failure of construction of CallExpr and following recovery does not handle created delayed typos. This causes an assertion fail in Sema::~Sema since Sema::DelayedTypos remains not empty. The patch fixes that behavior by handling a call with arguments having dependant types in the way that C++ does.

Diff Detail

Event Timeline

dmitry created this revision.Apr 6 2017, 8:41 AM
dmitry retitled this revision from Fix typos handling is in an overloadable call. to Fix typos handling in an overloadable call..Apr 6 2017, 8:47 AM
dmitry added a subscriber: jlebar.

Ping. Richard, do you think you'll be able to take a look at this small change?

I would normally try to review this, but I don't at all feel comfortable here. Sorry. :(

george.burgess.iv accepted this revision.May 2 2017, 9:53 PM

part of me wants to just check for/correct TypoExprs here and return ExprError() if we find any (similar to how checkArgsForPlaceholders works), but i can't figure out what that would buy us. so, this LGTM.

thank you!

This revision is now accepted and ready to land.May 2 2017, 9:53 PM
This revision was automatically updated to reflect the committed changes.