1 // { dg-do compile }
2 // { dg-options "-fprefetch-loop-arrays -w" }
3 
4 class ggPoint3 {
5 public:
6     ggPoint3();
x()7     inline double &x() {
8 	return e[0];
9     }
y()10     inline double &y() {
11 	return e[1];
12     }
13     ggPoint3(const ggPoint3 &p);
14     double e[3];
15 };
16 class ggBox3 {
17 public:
18     ggPoint3 min() const;
19 };
20 class ggHAffineMatrix3;
21 ggPoint3 operator*(const ggHAffineMatrix3 &m, const ggPoint3 &v);
22 void foo (ggPoint3 *);
SetMatrix(ggHAffineMatrix3 & toworld,ggBox3 & box)23 void SetMatrix(ggHAffineMatrix3& toworld, ggBox3& box)
24 {
25   ggPoint3 p[2][2][2];
26   int i, j, k;
27   for (i = 0; i < 2; j++)
28     for (k = 0; k < 2; k++)
29       {
30 	if (i == 0)
31 	  p[i][j][k].x() = box.min().x();
32 	if (j == 0)
33 	  p[i][j][k].y() = box.min().y();
34 	p[i][j][k] = toworld * p[i][j][k];
35       }
36   foo (&p[0][0][0]);
37 }
38