annotate gcc/testsuite/g++.dg/torture/pr61554.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 // { dg-do compile }
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
2 // { dg-additional-options "-Wno-return-type" }
111
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 struct A
kono
parents:
diff changeset
5 {
kono
parents:
diff changeset
6 A ();
kono
parents:
diff changeset
7 };
kono
parents:
diff changeset
8 const unsigned long &min (const unsigned long &, const unsigned long &) {}
kono
parents:
diff changeset
9
kono
parents:
diff changeset
10 template <typename _InputIterator1, typename _InputIterator2,
kono
parents:
diff changeset
11 typename _OutputIterator, typename _BinaryOperation>
kono
parents:
diff changeset
12 void transform (_InputIterator1 p1, _InputIterator2, _OutputIterator,
kono
parents:
diff changeset
13 _BinaryOperation p4)
kono
parents:
diff changeset
14 {
kono
parents:
diff changeset
15 for (; p1;)
kono
parents:
diff changeset
16 p4 (0, 0);
kono
parents:
diff changeset
17 }
kono
parents:
diff changeset
18
kono
parents:
diff changeset
19 class multi_array
kono
parents:
diff changeset
20 {
kono
parents:
diff changeset
21 public:
kono
parents:
diff changeset
22 multi_array (int &, int &);
kono
parents:
diff changeset
23 int &resize_ranges;
kono
parents:
diff changeset
24 int resize___trans_tmp_1;
kono
parents:
diff changeset
25 void m_fn1 ()
kono
parents:
diff changeset
26 {
kono
parents:
diff changeset
27 multi_array a (resize_ranges, this->m_fn2 ());
kono
parents:
diff changeset
28 const unsigned long &(*b)(const unsigned long &, const unsigned long &)
kono
parents:
diff changeset
29 = min;
kono
parents:
diff changeset
30 transform (&resize___trans_tmp_1, 0, 0, b);
kono
parents:
diff changeset
31 A c;
kono
parents:
diff changeset
32 }
kono
parents:
diff changeset
33 ~multi_array ()
kono
parents:
diff changeset
34 {
kono
parents:
diff changeset
35 for (int i; &base_;)
kono
parents:
diff changeset
36 ;
kono
parents:
diff changeset
37 }
kono
parents:
diff changeset
38 int base_;
kono
parents:
diff changeset
39 int &m_fn2 ();
kono
parents:
diff changeset
40 };
kono
parents:
diff changeset
41
kono
parents:
diff changeset
42 class B
kono
parents:
diff changeset
43 {
kono
parents:
diff changeset
44 void m_fn3 (const int &, const int &);
kono
parents:
diff changeset
45 multi_array _bookingSnapshotBlock;
kono
parents:
diff changeset
46 };
kono
parents:
diff changeset
47 void B::m_fn3 (const int &, const int &) { _bookingSnapshotBlock.m_fn1 (); }