diff options
author | Reid Kleckner <rnk@google.com> | 2015-10-20 00:31:42 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2015-10-20 00:31:42 +0000 |
commit | 7d3a2f067f856aff28e3dde7ec3749f69eb65f1c (patch) | |
tree | 4b9fe8afc2d968853121e19570ab9854eadff286 /clang/lib/Sema/TreeTransform.h | |
parent | 3e7e915dca7dd543f11bdb6312e95a857df22618 (diff) | |
download | bcm5719-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.h | 12 |
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. |