view gcc/testsuite/g++.dg/template/friend9.C @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 04ced10e8804
children
line wrap: on
line source

// { dg-do compile }
// Origin: Wolfgang Bangerth <bangerth@ticam.utexas.edu>

// PR c++/8099
// Partial specialization as friend class

template <int N, typename T> struct X;
template <typename T>        struct X<1,T>;

template <typename P> class Y {
    static int i;
    template <int N, typename T> friend struct X;
    friend struct X<1,P>;
};

template <typename T> struct X<1,T> {
    X () { Y<T>::i; }     // access private field
};