// { dg-do run } | |
// Origin: Volker Reichelt <reichelt@igpm.rwth-aachen.de> | |
// PR c++/12370 | |
// Wrong code because of the friend declaration | |
template <typename T> struct A | |
{ | |
T x; | |
A(T t) : x(t) {} | |
friend A<int> foo (const A<unsigned>&); | |
}; | |
A<int> foo (const A<unsigned>& a) | |
{ | |
A<int> res(a.x); | |
return res; | |
} | |
int main() | |
{ | |
return foo(A<unsigned>(0)).x; | |
} |