git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73240 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Anders Carlsson 2009-06-12 18:53:02 +00:00
Родитель f67875d5ad
Коммит 1d79faf915
2 изменённых файлов: 22 добавлений и 0 удалений

Просмотреть файл

@ -138,6 +138,12 @@ bool Sema::LookupInBases(CXXRecordDecl *Class,
// Find the record of the base class subobjects for this type.
QualType BaseType = Context.getCanonicalType(BaseSpec->getType());
BaseType = BaseType.getUnqualifiedType();
// If a base class of the class template depends on a template-parameter,
// the base class scope is not examined during unqualified name lookup.
// [temp.dep]p3.
if (BaseType->isDependentType())
continue;
// Determine whether we need to visit this base class at all,
// updating the count of subobjects appropriately.

Просмотреть файл

@ -0,0 +1,16 @@
// RUN: clang-cc -fsyntax-only -verify %s
typedef double A;
template<typename T> class B {
typedef int A;
};
template<typename T> struct X : B<T> {
static A a;
};
int a0[sizeof(X<int>::a) == sizeof(double) ? 1 : -1];
// PR4365.
template<class T> class Q;
template<class T> class R : Q<T> {T current;};