2015-03-24 Paolo Carlini <paolo.carlini@oracle.com>
[official-gcc.git] / gcc / testsuite / g++.dg / ipa / pr60640-1.C
blob7a0b91893f8d4cf580eb004b68ea59d52cdae9e5
1 // { dg-do compile }
2 // { dg-options "-O3" }
4 class ASN1Object
6 public:
7   virtual ~ASN1Object ();
8 };
9 class A
11   virtual unsigned m_fn1 () const;
13 class B
15 public:
16   ASN1Object Element;
17   virtual unsigned m_fn1 (bool) const;
19 template <class BASE> class C : public BASE
23 class D : ASN1Object, public B
26 class G : public D
28   unsigned m_fn1 (bool) const {}
30 class F : A
32 public:
33   F (A);
34   unsigned m_fn1 () const
35   {
36     int a;
37     a = m_fn2 ().m_fn1 (0);
38     return a;
39   }
40   const B &m_fn2 () const { return m_groupParameters; }
41   C<G> m_groupParameters;
43 template <class D> void BenchMarkKeyAgreement (int *, int *, int)
45   A f;
46   D d (f);
49 void BenchmarkAll2 () { BenchMarkKeyAgreement<F>(0, 0, 0); }