comparison gcc/testsuite/g++.dg/pr90462.C @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents
children
comparison
equal deleted inserted replaced
131:84e7813d76e9 145:1830386684a0
1 /* { dg-options "-Wdeprecated-copy -fdiagnostics-format=json" } */
2
3 template <class> class b;
4 struct B {
5 typedef b<char> *c;
6 };
7 class d {
8 public:
9 B::c operator->();
10 };
11 template <class> struct e;
12 class f {
13 typedef int g;
14 };
15 template <class, class> class h;
16 template <class i> class b {
17 public:
18 i j;
19 i k;
20 int l;
21 void assign() {
22 int m;
23 h<i, int> n(&m);
24 n.o(&j, &k, l);
25 }
26 };
27 template <class i, class> class s : f { s &p(const i *, const i *, g); };
28 template <class i, class t> s<i, t> &s<i, t>::p(const i *, const i *, g) {
29 d q;
30 q->assign();
31 }
32 struct G {
33 G();
34 G(int);
35 G(G &);
36 };
37 template <class i, class> class h {
38 public:
39 h(int *);
40 void o(const i *, const i *, unsigned);
41 i r();
42 };
43 template <class i, class t> void h<i, t>::o(const i *, const i *, unsigned) {
44 G a;
45 a = r();
46 }
47 template s<char, e<char>> &s<char, e<char>>::p(const char *, const char *, g);
48
49 /* { dg-regexp ".*" } */