2 // Origin: C++ standard, [temp.arg.nontype]/3
4 template<int* p> class X { };
7 struct S { int m; static int s; } s;
9 X<&a[2]> x3; // { dg-error "" } address of array element
10 X<&s.m> x4; // { dg-error "" } address of non-static member
11 X<&s.s> x5; // { dg-error "" "" { target { ! c++17 } } } &S::s must be used
12 X<&S::s> x6; // OK: address of static member