Fix test-suite fallout of default -Wreturn-type.
[official-gcc.git] / gcc / testsuite / g++.dg / ipa / pr45875.C
blob34f02e300a2e87e8daa0fa2c04fe57c5eff7336a
1 /* { dg-do compile } */
2 /* { dg-options "-O3 -fno-early-inlining -fno-ipa-cp"  } */
4 extern "C" void abort (void);
6 class A
8 public:
9   virtual int foo (int i);
12 class B
14 public:
15   class A confusion;
18 int A::foo (int i)
20   return i + 1;
23 int __attribute__ ((noinline,noclone)) get_input(void)
25   return 1;
28 static int middleman_a (class A *obj, int i)
30   return obj->foo (i);
33 static int middleman_b (class B *obj, int i)
35   return middleman_a (&obj->confusion, i);
39 int main (int argc, char *argv[])
41   class B b;
42   int i, j = get_input ();
44   for (i = 0; i < j; i++)
45     if (middleman_b (&b, j) != 2)
46       abort ();
47   return 0;