Fix type in the changelog entry,
[official-gcc.git] / gcc / testsuite / g++.dg / ipa / pr61160-2.C
blobdd925d25c255676188a0c0bd0807b6c034d4ae40
1 /* { dg-do run } */
2 /* { dg-options "-O3 --param ipa-cp-eval-threshold=1"  } */
4 extern "C" void abort (void);
6 struct CBase {
7   virtual void BaseFunc () {}
8 };
10 struct MMixin {
11   virtual void * MixinFunc (int, void *) = 0;
14 struct CExample: CBase, public MMixin
16   int stuff, magic, more_stuff;
18   CExample ()
19   {
20     stuff = 0;
21     magic = 0xbeef;
22     more_stuff = 0;
23   }
24   void *MixinFunc (int arg, void *arg2)
25   {
26     if (arg != 1 || arg2)
27       return 0;
28     if (magic != 0xbeef)
29       abort();
30     return this;
31   }
34 void *test (MMixin & anExample)
36   return anExample.MixinFunc (1, 0);
39 int main ()
41   CExample c;
42   test (c);
43   return 0;