summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/template/friend9.C
blob: add5fb0d344d84cb12631a3e9d806109e9dd0100 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// { 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
};