forked from OSchip/llvm-project
Require a complete type when performing the qualified lookup during
instantiation of a dependent elaborated type specifier. Fixes PR 7199. llvm-svn: 104822
This commit is contained in:
parent
f9d147bddb
commit
bf8c519a0d
|
@ -582,6 +582,9 @@ public:
|
|||
if (!DC)
|
||||
return QualType();
|
||||
|
||||
if (SemaRef.RequireCompleteDeclContext(SS, DC))
|
||||
return QualType();
|
||||
|
||||
TagDecl *Tag = 0;
|
||||
SemaRef.LookupQualifiedName(Result, DC);
|
||||
switch (Result.getResultKind()) {
|
||||
|
|
|
@ -119,3 +119,12 @@ namespace PR7080 {
|
|||
|
||||
bool x = X<int, rv<int>&>::value;
|
||||
}
|
||||
|
||||
namespace pr7199 {
|
||||
template <class T> class A; // expected-note {{template is declared here}}
|
||||
template <class T> class B {
|
||||
class A<T>::C field; // expected-error {{implicit instantiation of undefined template 'pr7199::A<int>'}}
|
||||
};
|
||||
|
||||
template class B<int>; // expected-note {{in instantiation}}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue