/* { dg-do run } */
/* { dg-options "-O3" } */

void abort();
char a[7];
char b[10][7];
char r[10][7] = { {0,0,0,0,0,0,0},
		  {0,0,0,0,0,0,0},
		  {0,0,0,0,0,0,0},
		  {0,0,0,0,0,0,0},
		  {0,0,0,0,0,0,0},
		  {0,0,0,0,0,0,0},
		  {0,0,0,0,0,0,0},
		  {0,0,1,1,1,1,1},
		  {0,0,1,1,1,1,1},
		  {0,0,1,1,1,1,1}};
short c;
int d, e, f, g;
int main() {
  for (; d <= 4; d++) {
    e = 0;
    for (; e <= 6; e++) {
      if (a[c])
        b[e + 3][d + 2] = 1;
      a[0] = 5;
      b[e][d + 2] = 0;
    }
  }
  for (; f < 10; f++) {
    g = 0;
    for (; g < 7; g++)
      if (b[f][g] != r[f][g])
        abort ();
  }
  return 0;
}
