annotate gcc/testsuite/g++.dg/pr58389.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 } */
kono
parents:
diff changeset
2 /* { dg-options "-O2" } */
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 template <typename _RandomAccessIterator, typename _Compare>
kono
parents:
diff changeset
5 void __insertion_sort(_RandomAccessIterator, _Compare);
kono
parents:
diff changeset
6 template <typename _RandomAccessIterator, typename _Compare>
kono
parents:
diff changeset
7 void __final_insertion_sort(_RandomAccessIterator p1, _Compare p2) {
kono
parents:
diff changeset
8 _RandomAccessIterator a;
kono
parents:
diff changeset
9 if (p1 - a)
kono
parents:
diff changeset
10 ;
kono
parents:
diff changeset
11 else
kono
parents:
diff changeset
12 std:
kono
parents:
diff changeset
13 __insertion_sort(0, p2);
kono
parents:
diff changeset
14 }
kono
parents:
diff changeset
15 template <typename _RandomAccessIterator, typename _Size, typename _Compare>
kono
parents:
diff changeset
16 void __introsort_loop(_RandomAccessIterator, _Size, _Compare);
kono
parents:
diff changeset
17 template <typename _RandomAccessIterator, typename _Compare>
kono
parents:
diff changeset
18 void sort(_RandomAccessIterator, _RandomAccessIterator p2, _Compare p3) {
kono
parents:
diff changeset
19 std:
kono
parents:
diff changeset
20 __introsort_loop(0, 0, p3);
kono
parents:
diff changeset
21 __final_insertion_sort(p2, p3);
kono
parents:
diff changeset
22 }
kono
parents:
diff changeset
23 class A {
kono
parents:
diff changeset
24 public:
kono
parents:
diff changeset
25 int m_fn1();
kono
parents:
diff changeset
26 void __lg();
kono
parents:
diff changeset
27 class B {
kono
parents:
diff changeset
28 public:
kono
parents:
diff changeset
29 int i;
kono
parents:
diff changeset
30 int operator-(B);
kono
parents:
diff changeset
31 };
kono
parents:
diff changeset
32 };
kono
parents:
diff changeset
33 class C;
kono
parents:
diff changeset
34 class D {
kono
parents:
diff changeset
35 public:
kono
parents:
diff changeset
36 C *operator->();
kono
parents:
diff changeset
37 };
kono
parents:
diff changeset
38 class F {
kono
parents:
diff changeset
39 A m_fn1() const;
kono
parents:
diff changeset
40 D d_ptr;
kono
parents:
diff changeset
41 };
kono
parents:
diff changeset
42 class C {
kono
parents:
diff changeset
43 friend F;
kono
parents:
diff changeset
44 void m_fn1();
kono
parents:
diff changeset
45 A children;
kono
parents:
diff changeset
46 };
kono
parents:
diff changeset
47 void qt_notclosestLeaf();
kono
parents:
diff changeset
48 inline void C::m_fn1() {
kono
parents:
diff changeset
49 A::B b, c;
kono
parents:
diff changeset
50 if (children.m_fn1()) {
kono
parents:
diff changeset
51 sort(c, b, qt_notclosestLeaf);
kono
parents:
diff changeset
52 }
kono
parents:
diff changeset
53 }
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
54 A F::m_fn1() const { const_cast<F *>(this)->d_ptr->m_fn1(); return A(); }