2015-03-24 Paolo Carlini <paolo.carlini@oracle.com>
[official-gcc.git] / gcc / testsuite / g++.dg / ipa / pr63894.C
blob54409752758c294bd3cf075bd11dbb6c7ff8cd13
1 /* { dg-do compile } */
2 /* { dg-options "-O3" } */
4 struct A
6   void *operator new(__SIZE_TYPE__, int);
7 };
8 class C
10 public:
11   C (int);
13 class D
15 public:
16   enum Type
17   {
18     BOX
19   };
20   D (int, Type, C);
22 class F
24 public:
25   virtual void m_fn1 (int, D);
27 class G : public F, public A
30 class K : public G
32 public:
33   K (C, D);
35 class J
37   D m_fn2 (int);
38   bool m_fn3 (G *);
40 bool
41 J::m_fn3 (G *p1)
43   p1->m_fn1 (0, D (0, D::BOX, 0));
44   K *d = new (0) K (0, m_fn2 (0));
45   m_fn3 (d);