forked from OSchip/llvm-project
20 lines
764 B
C++
20 lines
764 B
C++
// RUN: %clang_cc1 -fsyntax-only -verify %s
|
|
|
|
template <typename T> class Foo {
|
|
struct Base : T {};
|
|
|
|
// Test that this code no longer causes a crash in Sema. rdar://23291875
|
|
struct Derived : Base, T {};
|
|
};
|
|
|
|
|
|
template <typename T> struct Foo2 {
|
|
struct Base1; // expected-note{{member is declared here}}
|
|
struct Base2; // expected-note{{member is declared here}}
|
|
// Should not crash on an incomplete-type and dependent base specifier.
|
|
struct Derived : Base1, Base2 {}; // expected-error {{implicit instantiation of undefined member 'Foo2<int>::Base1'}} \
|
|
expected-error {{implicit instantiation of undefined member 'Foo2<int>::Base2'}}
|
|
};
|
|
|
|
Foo2<int>::Derived a; // expected-note{{in instantiation of member class}}
|