annotate gcc/testsuite/g++.dg/template/nontype8.C @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 // { dg-do compile }
kono
parents:
diff changeset
2 // Origin: C++ standard, [temp.arg.nontype]/3
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 template<int* p> class X { };
kono
parents:
diff changeset
5
kono
parents:
diff changeset
6 int a[10];
kono
parents:
diff changeset
7 struct S { int m; static int s; } s;
kono
parents:
diff changeset
8
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 111
diff changeset
9 X<&a[2]> x3; // { dg-error "3:.& a\\\[2\\\]. is not a valid template argument" "" { target c++17 } }
1830386684a0 gcc-9.2.0
anatofuz
parents: 111
diff changeset
10 // { dg-error "" "" { target c++14_down } .-1 }
1830386684a0 gcc-9.2.0
anatofuz
parents: 111
diff changeset
11 X<&s.m> x4; // { dg-error "3:.& s.S::m. is not a valid template argument" "" { target c++17 } }
1830386684a0 gcc-9.2.0
anatofuz
parents: 111
diff changeset
12 // { dg-error "" "" { target c++14_down } .-1 }
111
kono
parents:
diff changeset
13 X<&s.s> x5; // { dg-error "" "" { target { ! c++17 } } } &S::s must be used
kono
parents:
diff changeset
14 X<&S::s> x6; // OK: address of static member
kono
parents:
diff changeset
15