diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/g++.dg/tree-ssa/pr35144.C')
-rw-r--r-- | gcc-4.9/gcc/testsuite/g++.dg/tree-ssa/pr35144.C | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/g++.dg/tree-ssa/pr35144.C b/gcc-4.9/gcc/testsuite/g++.dg/tree-ssa/pr35144.C new file mode 100644 index 000000000..f0bb7bb63 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/g++.dg/tree-ssa/pr35144.C @@ -0,0 +1,30 @@ +// PR c++/35144 +// { dg-do compile } +// { dg-options "-O2" } + +struct A +{ + int baz (); +}; + +typedef int (A::*P) (); + +struct B +{ + B (); + int foo (P x, int y = 0); +}; + +struct C +{ + typedef int (B::*Q) (P, int); + void bar (Q x) { c = x; } + Q c; +}; + +extern C c; + +B::B () +{ + c.bar ((C::Q) &B::foo); +} |