Mercurial > hg > CbC > CbC_gcc
annotate gcc/testsuite/g++.dg/opt/ptrmem6.C @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
rev | line source |
---|---|
111 | 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 |