diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.mike/p9206.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.mike/p9206.C | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p9206.C b/gcc/testsuite/g++.old-deja/g++.mike/p9206.C new file mode 100644 index 000000000..a5452e133 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.mike/p9206.C @@ -0,0 +1,22 @@ +// { dg-do run } +// prms-id: 9206 + +class X { +public: + void xtest() { } +}; + +class Y { }; + +typedef void (X::*Xptr)(); +typedef void (Y::*Yptr)(); + +int main() { + X xx; + + Xptr xp = &X::xtest; + Yptr yp = reinterpret_cast<Yptr>(xp); + xp = reinterpret_cast<Xptr>(yp); + + (xx.*xp)(); +} |