1// { dg-do compile }
2// { dg-options "-fprefetch-loop-arrays -w" }
3
4class ggPoint3 {
5public:
6    ggPoint3();
7    inline double &x() {
8	return e[0];
9    }
10    inline double &y() {
11	return e[1];
12    }
13    ggPoint3(const ggPoint3 &p);
14    double e[3];
15};
16class ggBox3 {
17public:
18    ggPoint3 min() const;
19};
20class ggHAffineMatrix3;
21ggPoint3 operator*(const ggHAffineMatrix3 &m, const ggPoint3 &v);
22void foo (ggPoint3 *);
23void 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