1 /* PR rtl-optimization/34035 */
2 /* Origin: Janis Johnson <janis@gcc.gnu.org> */
3 
4 /* { dg-do compile } */
5 /* { dg-options "-O2 -fnon-call-exceptions -ffast-math -fno-gcse" } */
6 
7 class One {
8 public:
One()9     One () { e[0] = e[1] = 0.0; }
10     double e[2];
11 };
12 
13 template <class T>
14 class Two {
15 public:
16     Two();
17 private:
18     T *data;
19     int arraySize;
20 };
21 
22 template <class T>
Two()23 Two<T>::Two() {
24    data = new T[arraySize];
25 }
26 
27 class Three {
28 protected:
29   Two<One> data;
30 };
31 
32 class Four : public Three {
33 public:
34   Four ();
35   void Foo (int n);
36 };
37 
Four()38 Four :: Four (){
39    Foo (1);
40 }
41