OSDN Git Service

PR c++/44157
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / opt / ptrmem6.C
1 // PR tree-opt/18040
2 // { dg-do compile }
3 // { dg-options "-O3" }
4
5 int PyObject_IsTrue();
6 struct object_base
7 {
8   void ptr() const;
9   void ptr1() const;
10 };
11 struct object : public object_base
12 {
13   typedef void (object::*bool_type)() const;
14   inline operator bool_type() const
15     { return PyObject_IsTrue()
16        ? &object_base::ptr : &object::ptr1; }
17 };
18 void f();
19 void g (void)
20 {
21     for (unsigned n = 0; n < 100; ++n)
22     {
23         object kv;
24         if (kv)
25           f();
26     }
27 }
28