summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/TreeTransform.h
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2015-10-20 00:31:42 +0000
committerReid Kleckner <rnk@google.com>2015-10-20 00:31:42 +0000
commit7d3a2f067f856aff28e3dde7ec3749f69eb65f1c (patch)
tree4b9fe8afc2d968853121e19570ab9854eadff286 /clang/lib/Sema/TreeTransform.h
parent3e7e915dca7dd543f11bdb6312e95a857df22618 (diff)
downloadbcm5719-llvm-7d3a2f067f856aff28e3dde7ec3749f69eb65f1c.tar.gz
bcm5719-llvm-7d3a2f067f856aff28e3dde7ec3749f69eb65f1c.zip
Revert "Diagnose UnresolvedLookupExprs that resolve to instance members in static methods"
This reverts commit r250592. It has issues around unevaluated contexts, like this: template <class T> struct A { T i; }; template <class T> struct B : A<T> { using A<T>::i; typedef decltype(i) U; }; template struct B<int>; llvm-svn: 250774
Diffstat (limited to 'clang/lib/Sema/TreeTransform.h')
-rw-r--r--clang/lib/Sema/TreeTransform.h12
1 files changed, 1 insertions, 11 deletions
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<Derived>::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<NamedDecl>();
- 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.
OpenPOWER on IntegriCloud