1 // RUN: %clang_cc1 %s -ast-print -o - -chain-include %s -chain-include %s
2 // RUN: %clang_cc1 %s -ast-print -o - -fmodules -chain-include %s -chain-include %s
7 template <class T
> class TClass
;
10 template <class X
, class Y
> TClass
<X
> problematic(X
* ptr
, const TClass
<Y
> &src
);
16 template <class X
, class Y
> friend TClass
<X
> problematic(X
* ptr
, const TClass
<Y
> &src
);
21 class TClass
: public NS::TBaseClass
<T
>
29 template <class X
, class T
>
30 TClass
<X
> problematic(X
*ptr
, const TClass
<T
> &src
);
33 template <class X
, class T
>
34 TClass
<X
> unconst(const TClass
<T
> &src
);
44 typedef TClass
<std::s
> TStr
;
49 crash(const TClass
<std::s
> p
)