aboutsummaryrefslogtreecommitdiff
path: root/SingleSource/UnitTests/2008-04-18-LoopBug.c
blob: 21cfa21a284265e2a8d2650ffa4557698cb2b506 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
extern int printf(const char*, ...);
void foo( unsigned int i, int array[4]) __attribute__((noinline));
void foo( unsigned int i, int array[4]) {
  unsigned int j;
  for (j=3; j>i; j--)
    array[j] = array[j-1];
  printf("%d %d %d %d %d\n", i, array[0], array[1], array[2], array[3]);
}
main() {
  int array[4], i;
  for (i=0; i<5; i++) {
    array[0] = 5; array[1] = 6; array[2] = 7; array[3] = 8;
    foo(i, array);
  }
  array[0] = 5; array[1] = 6; array[2] = 7; array[3] = 8;
  foo(0xffffffffu, array);
  return 0;
}