forked from OSchip/llvm-project
CreateDeclRefExprs that point to UnresolvedUsingDecls.
llvm-svn: 80413
This commit is contained in:
parent
a884e67485
commit
938b10079a
|
@ -1036,6 +1036,11 @@ Sema::BuildDeclarationNameExpr(SourceLocation Loc, NamedDecl *D,
|
||||||
else if (TemplateDecl *Template = dyn_cast<TemplateDecl>(D))
|
else if (TemplateDecl *Template = dyn_cast<TemplateDecl>(D))
|
||||||
return BuildDeclRefExpr(Template, Context.OverloadTy, Loc,
|
return BuildDeclRefExpr(Template, Context.OverloadTy, Loc,
|
||||||
false, false, SS);
|
false, false, SS);
|
||||||
|
else if (UnresolvedUsingDecl *UD = dyn_cast<UnresolvedUsingDecl>(D))
|
||||||
|
return BuildDeclRefExpr(UD, Context.DependentTy, Loc,
|
||||||
|
/*TypeDependent=*/true,
|
||||||
|
/*ValueDependent=*/true, SS);
|
||||||
|
|
||||||
ValueDecl *VD = cast<ValueDecl>(D);
|
ValueDecl *VD = cast<ValueDecl>(D);
|
||||||
|
|
||||||
// Check whether this declaration can be used. Note that we suppress
|
// Check whether this declaration can be used. Note that we suppress
|
||||||
|
|
|
@ -28,3 +28,9 @@ template <typename T> struct D : A<T> {
|
||||||
};
|
};
|
||||||
|
|
||||||
template<typename T> void D<T>::f() { }
|
template<typename T> void D<T>::f() { }
|
||||||
|
|
||||||
|
template<typename T> struct E : A<T> {
|
||||||
|
using A<T>::f;
|
||||||
|
|
||||||
|
void g() { f(); }
|
||||||
|
};
|
||||||
|
|
Loading…
Reference in New Issue