annotate gcc/testsuite/g++.dg/cpp2a/fn-template10.C @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 1830386684a0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
145
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1 // P0846R0
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2 // { dg-do compile }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
3 // { dg-options "-std=c++2a" }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
4
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
5 int h;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
6 void g();
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
7 void e();
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
8 void e(int);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
9 void e(int, int);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
10
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
11 namespace N {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
12 struct A { };
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
13 template <class T> static int f(T) { return 1; }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
14 template <class T> static int g(T) { return 2; }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
15 template <class T> static int h(T);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
16 template <class T> static int e(T) { return 3; }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
17 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
18
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
19 int v = e<N::A>(N::A());
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
20 int x = f<N::A>(N::A());
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
21 int y = g<N::A>(N::A());
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
22 int z = h<N::A>(N::A()); // { dg-error "expected" }