Merge to HEAD at tree-cleanup-merge-20041024 .
[official-gcc.git] / gcc / testsuite / g++.old-deja / g++.mike / misc13.C
blobf85a4f408f6788dcc767c74cd9e6e09616061869
1 // { dg-do run  }
2 // GROUPS passed vtable
3 extern "C" int printf (const char *, ...);
4 enum E { vf_request, vf_event } want;
6 int errs = 0;
8 class ivResource {
9 public:
10   virtual ~ivResource () { }
13 class ivHandler   : public ivResource   {
14 public:
15   virtual void event() { }
18 class ivGlyph   : public ivResource   {
19 public:
20   virtual ~ivGlyph  () { }
21   virtual void request () {
22     if (want!=vf_request)
23       ++errs;
24   }
27 class ItemView : public ivGlyph, public ivHandler {
28 public:
29   virtual void event () {
30     if (want!=vf_event)
31       ++errs;
32   }
33 } a;
35 ivGlyph *bar() {
36   return &a;
39 ivHandler *bar2() {
40   return &a;
43 int main() {
44   want=vf_request;
45   bar()->request();
46   want=vf_event;
47   bar2()->event();
48   if (errs) {
49     printf("FAIL\n");
50     return 1;
51   }
52   printf("PASS\n");
53   return 0;