OSDN Git Service

2007-08-17 Andrew Pinski <andrew_pinski@playstation.sony.com>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / expr / pr29066.C
1 // PR c++/29066
2 // Test pointer to member function comparison
3 // { dg-do run }
4
5 extern "C" void abort (void);
6
7 struct X
8 {
9   virtual void a(void)=0;
10 };
11
12 struct Z : public X
13 {
14   void a(void) {}
15 };
16
17
18 void f(X *obj)
19 {
20   void (X::*xp)(void) = 0;
21   void (X::*xp2)(void) = 0;
22
23   xp = &X::a;
24
25   if (xp == xp2)
26     {
27       abort(); 
28     } 
29
30   if (xp == 0)
31     {
32       abort();
33     }
34 }
35
36 int main(int argc, char* argv[])
37 {
38   Z myobj;
39
40   f(&myobj);
41   return 0;
42 }