blob: cb2c946edee0623dea3e00dc5f558159e7d1f81b [file] [log] [blame]
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00001// RUN: %clang_cc1 -fsyntax-only -verify %s
Reid Kleckner8d7aac82014-12-17 19:34:15 +00002
Eli Friedman9a0e23c2009-06-13 04:51:30 +00003// PR4382
4template<typename T> struct X { static const T A = 1; };
5template<typename T, bool = X<T>::A> struct Y { typedef T A; };
6template<typename T> struct Z { typedef typename Y<T>::A A; };
7extern int x;
8extern Z<int>::A x;
Reid Kleckner8d7aac82014-12-17 19:34:15 +00009
10namespace pr21964 {
11struct H;
12template <class> struct T {
13 struct A; // expected-note {{member is declared here}}
14 static void B() {
15 A::template N<H>; // expected-error {{implicit instantiation of undefined member 'pr21964::T<pr21964::H>::A'}}
16 }
17};
18template struct T<H>; // expected-note {{requested here}}
19}