xref: /aosp_15_r20/external/clang/test/Modules/Inputs/merge-decl-context/a.h (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li #ifndef A_H
2*67e74705SXin Li #define A_H
3*67e74705SXin Li 
4*67e74705SXin Li template <typename T>
5*67e74705SXin Li struct A {
6*67e74705SXin Li   template <typename I>
AA7*67e74705SXin Li   A(I i1, I i2) {
8*67e74705SXin Li   }
AA9*67e74705SXin Li   A(double) {}
AA10*67e74705SXin Li   A(double, double) {}
AA11*67e74705SXin Li   A(double, int) {}
AA12*67e74705SXin Li   A(int, double) {}
13*67e74705SXin Li };
14*67e74705SXin Li 
15*67e74705SXin Li template <typename T1, typename T2>
fff(T2 * t)16*67e74705SXin Li T1 fff(T2* t) {
17*67e74705SXin Li   return T1(t, t);
18*67e74705SXin Li }
19*67e74705SXin Li 
ff(int i)20*67e74705SXin Li inline A<int> ff(int i) {
21*67e74705SXin Li   return fff<A<int>>(&i);
22*67e74705SXin Li }
23*67e74705SXin Li 
24*67e74705SXin Li struct Aggregate {
25*67e74705SXin Li   int member;
26*67e74705SXin Li };
27*67e74705SXin Li 
28*67e74705SXin Li #endif
29