annotate gcc/testsuite/g++.dg/template/typedef34.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 // Origin PR c++/45200
kono
parents:
diff changeset
2 // { dg-do compile }
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 template<typename T>
kono
parents:
diff changeset
5 struct remove_reference
kono
parents:
diff changeset
6 {
kono
parents:
diff changeset
7 typedef T type;
kono
parents:
diff changeset
8 };
kono
parents:
diff changeset
9
kono
parents:
diff changeset
10 template<typename TestType>
kono
parents:
diff changeset
11 struct forward_as_lref
kono
parents:
diff changeset
12 {
kono
parents:
diff changeset
13 };
kono
parents:
diff changeset
14
kono
parents:
diff changeset
15 template<typename Seq, typename N>
kono
parents:
diff changeset
16 struct apply1
kono
parents:
diff changeset
17 {
kono
parents:
diff changeset
18 typedef typename remove_reference<Seq>::type seq;
kono
parents:
diff changeset
19 typedef forward_as_lref<typename seq::seq_type> type; //#0
kono
parents:
diff changeset
20 };
kono
parents:
diff changeset
21
kono
parents:
diff changeset
22 template<typename Seq>
kono
parents:
diff changeset
23 struct apply
kono
parents:
diff changeset
24 {
kono
parents:
diff changeset
25 typedef forward_as_lref<typename remove_reference<Seq>::type::seq_type> type; //#1
kono
parents:
diff changeset
26 };
kono
parents:
diff changeset
27
kono
parents:
diff changeset
28 struct reverse_view
kono
parents:
diff changeset
29 {
kono
parents:
diff changeset
30 typedef int seq_type;
kono
parents:
diff changeset
31 };
kono
parents:
diff changeset
32
kono
parents:
diff changeset
33 int
kono
parents:
diff changeset
34 main()
kono
parents:
diff changeset
35 {
kono
parents:
diff changeset
36 apply<reverse_view >::type a2;
kono
parents:
diff changeset
37 }