Commit 5b00de71 by Janis Johnson Committed by Janis Johnson

re PR testsuite/18491 (testsuite failure: WARNING:…

re PR testsuite/18491 (testsuite failure: WARNING: g++.old-deja/g++.mike/p10769a.C compilation failed to produce executable)

	PR C++/18491
	* g++.old-deja/g++.mike/p10769a.C: Remove.

From-SVN: r94780
parent e3bb43c0
2005-02-09 Janis Johnson <janis187@us.ibm.com>
PR C++/18491
* g++.old-deja/g++.mike/p10769a.C: Remove.
2005-02-09 Roger Sayle <roger@eyesopen.com> 2005-02-09 Roger Sayle <roger@eyesopen.com>
* gcc.dg/builtins-48.c: New test case. * gcc.dg/builtins-48.c: New test case.
......
// { dg-do run }
// { dg-options "-Wno-pmf-conversions" }
// prms-id: 10769
#define PMF2PF(PMF) ((void (*)())(PMF))
int ok = 0;
class A {
public:
void f1a() { ok += 3; }
void f1b() { ok += 5; }
void f2a() { ok += 7; }
void f2b() { }
static void (*table[2][2])();
void main();
} a;
void (*A::table[2][2])()
= { { PMF2PF(&A::f1a), PMF2PF(&A::f1b) },
{ PMF2PF(&A::f2a), PMF2PF(&A::f1b) },
};
void
dispatch (A *obj, int i, int j)
{
(*(void (*)(A *))A::table[i][j])(obj);
}
void A::main() {
dispatch (&a, 0, 0);
void (A::*mPtr)() = &A::f1a;
(*(void (*)(A*))PMF2PF(mPtr))(&a);
(*(void (*)(A*))PMF2PF(f2a))(&a); // { dg-bogus "" "" { xfail *-*-* } }
}
int main() {
a.A::main();
dispatch (&a, 0, 1);
void (A::*mPtr)() = &A::f1b;
(*(void (*)(A*))PMF2PF(a.*mPtr))(&a);
(*(void (*)(A*))PMF2PF(a.f2a))(&a); // { dg-bogus "" "" { xfail *-*-* } }
return ok != 3+3+5+5+7+7;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment