From 7d3a2f067f856aff28e3dde7ec3749f69eb65f1c Mon Sep 17 00:00:00 2001 From: Reid Kleckner Date: Tue, 20 Oct 2015 00:31:42 +0000 Subject: Revert "Diagnose UnresolvedLookupExprs that resolve to instance members in static methods" This reverts commit r250592. It has issues around unevaluated contexts, like this: template struct A { T i; }; template struct B : A { using A::i; typedef decltype(i) U; }; template struct B; llvm-svn: 250774 --- clang/lib/Sema/TreeTransform.h | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) (limited to 'clang/lib/Sema/TreeTransform.h') diff --git a/clang/lib/Sema/TreeTransform.h b/clang/lib/Sema/TreeTransform.h index 81c56c2f2c6..31d69cbac35 100644 --- a/clang/lib/Sema/TreeTransform.h +++ b/clang/lib/Sema/TreeTransform.h @@ -9128,18 +9128,8 @@ TreeTransform::TransformUnresolvedLookupExpr( // If we have neither explicit template arguments, nor the template keyword, // it's a normal declaration name. - if (!Old->hasExplicitTemplateArgs() && !TemplateKWLoc.isValid()) { - // If an UnresolvedLookupExpr resolved to an instance member, that's an - // error. - NamedDecl *D = R.getAsSingle(); - if (D && D->isCXXInstanceMember()) { - SemaRef.DiagnoseInstanceReference(SS, D, Old->getNameInfo()); - R.clear(); - return ExprError(); - } - + if (!Old->hasExplicitTemplateArgs() && !TemplateKWLoc.isValid()) return getDerived().RebuildDeclarationNameExpr(SS, R, Old->requiresADL()); - } // If we have template arguments, rebuild them, then rebuild the // templateid expression. -- cgit v1.2.3