// { dg-do run  }
// prms-id: 789

extern "C" int printf (const char *, ...);
struct foo
{
  static int count;
  virtual void print (int i, int j) { printf ("foo[%d][%d] = %d\n", i, j, x); }
  int x;
  foo () { x = count++; }
};
int foo::count;
struct bar : virtual public foo
{
  virtual void print (int i, int j) { printf ("bar[%d][%d] = %d\n", i, j, x); }
};

// bar array[3][3];
foo array[3][3];

int main ()
{
  for (int i = 0; i < 3; i++)
    for (int j = 0; j < 3; j++) {
//      printf("&a[%d][%d] = %x\n", i, j, (void *)&array[i][j]);
      array[i][j].print (i, j);
    }
  return 0;
}
