aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p11116.C7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p11116.C b/gcc/testsuite/g++.old-deja/g++.mike/p11116.C
index 9beff46..ed670a1 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/p11116.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/p11116.C
@@ -2,6 +2,12 @@
// Special g++ Options: -Wno-pmf-conversions
// prms-id: 11116
+#if defined (__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100
+// This test tests the rather strange property afforded one by G++ to
+// peek inside a pointer-to-member, as if it were a structure. We
+// probably shouldn't allow that. In any case, under the new ABI,
+// the fields don't have the same names.
+#else
class Bar {
public:
int f(int a) { val = a; return val; }
@@ -20,3 +26,4 @@ void foo() {
p = (int (*)(void*,int))((void (*)())((bp).__pfn_or_delta2.__pfn));
a = (*p)(&bar, 4);
}
+#endif