view gcc/testsuite/g++.dg/other/friend2.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
line wrap: on
line source

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