PR inline-asm/84742
[official-gcc.git] / gcc / testsuite / g++.dg / pr58389.C
blob8c98b67076baf043e8e8e2b1e4d0735506760d3a
1 /* { dg-do compile } */
2 /* { dg-options "-O2" } */
4 template <typename _RandomAccessIterator, typename _Compare>
5 void __insertion_sort(_RandomAccessIterator, _Compare);
6 template <typename _RandomAccessIterator, typename _Compare>
7 void __final_insertion_sort(_RandomAccessIterator p1, _Compare p2) {
8   _RandomAccessIterator a;
9   if (p1 - a)
10     ;
11   else
12   std:
13   __insertion_sort(0, p2);
15 template <typename _RandomAccessIterator, typename _Size, typename _Compare>
16 void __introsort_loop(_RandomAccessIterator, _Size, _Compare);
17 template <typename _RandomAccessIterator, typename _Compare>
18 void sort(_RandomAccessIterator, _RandomAccessIterator p2, _Compare p3) {
19 std:
20   __introsort_loop(0, 0, p3);
21   __final_insertion_sort(p2, p3);
23 class A {
24 public:
25   int m_fn1();
26   void __lg();
27   class B {
28   public:
29     int i;
30     int operator-(B);
31   };
33 class C;
34 class D {
35 public:
36   C *operator->();
38 class F {
39   A m_fn1() const;
40   D d_ptr;
42 class C {
43   friend F;
44   void m_fn1();
45   A children;
47 void qt_notclosestLeaf();
48 inline void C::m_fn1() {
49   A::B b, c;
50   if (children.m_fn1()) {
51     sort(c, b, qt_notclosestLeaf);
52   }
54 A F::m_fn1() const { const_cast<F *>(this)->d_ptr->m_fn1(); return A(); }