[PATCH] Implement DR61: Address of ambiguous bound methods should be disallowed

John McCall rjmccall at apple.com
Tue Jun 18 17:23:35 PDT 2013


On Jun 8, 2013, at 1:14 AM, David Majnemer <david.majnemer at gmail.com> wrote:
> <DR61.diff>

+      OverloadExpr *Ovl = cast<OverloadExpr>(OrigOp.get()->IgnoreParens());

This code, and the code above it, calls OrigOp.get()->IgnoreParens() a
rather absurd amount;  please hoist that.

+      if (isa<UnresolvedMemberExpr>(Ovl))
+        if (!S.ResolveSingleFunctionTemplateSpecialization(Ovl)) {

I think this might be clearer as
  if (!isa<UnresolvedLookupExpr>(Ovl)) {

Also, you should leave a comment explaining what you're doing.
Specifically, it's worth commenting that Sema won't make an UME
for a potential implicit member access if it recognizes that the form of
the expression might be intended to be a pointer-to-member constant.

John.



More information about the cfe-commits mailing list