3 // { dg-options "-O2" }
5 typedef long unsigned int size_t;
10 typedef enum { Zero = 0, One = 1 } tA;
20 void *operator new(size_t t) { return (void*)(42); };
26 virtual void ffff () = 0;
36 template<class T> class IIII: public T, public D
41 if (!m_i2) throw A(A::One);
46 if (m_i2) throw A(A::Zero);
52 if (m_i1 !=0) throw A(A::Zero);
64 static const size_t Max;
67 E& i(size_t a, size_t b, size_t c)
69 if ((a > Max) || (c > Max)) throw A(A::Zero );
70 if (a + b > m_e) throw A(A::One );
74 inline E& j(const E &s)
80 class F : public C { };
81 class G : public C { };
82 class HHHH : public B, public F, public G { };