/* { dg-do compile } */
/* { dg-options "-O2 -fnon-call-exceptions -ffast-math -fsignaling-nans" } */
/* { dg-warning "'-fassociative-math' disabled" "" { target *-*-* } 0 } */
template <class T>
class ggStaticArray {
public:
  ~ggStaticArray();
};
template <class T>
class ggGrid {
public:
  ggGrid() : grid() { }
  ggStaticArray<T> grid;
};
class mrGrid {
public:
  mrGrid(void);
protected:
  ggGrid<int*> grid;
  double multiplier;
};
mrGrid::mrGrid(void)
{
  double xMeasure, yMeasure, zMeasure;
  double cellDimension;
  cellDimension = multiplier * (xMeasure * yMeasure * zMeasure);
}