| // { 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; | |
| } |