summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/m68k/crash1.c
blob: fdd737ab238129b846b6a2d3abc5dd1292b046a0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/* { dg-do compile } */
/* { dg-options "-Os -fomit-frame-pointer" } */

/* Caused an ICE because of forgotten auto increment.  */

register void *current __asm__("%a2");

struct kernel_stat
{
 long long user;
 long long nice;
 long long system;
 long long idle;
 long long steal;
 unsigned irqs[256];
};
extern struct kernel_stat per_cpu__kstat;

void show_stat(void)
{
  int i;
  long long user, nice, system, idle, steal;
  long long sum = 0;

  user = nice = system = idle = steal = 0;
  for (i = 0; i < 1; i++)
    {
      int j;
      user = user + per_cpu__kstat.user;
      nice = nice + per_cpu__kstat.nice;
      system = system + per_cpu__kstat.system;
      idle = idle + per_cpu__kstat.idle;
      steal = steal + per_cpu__kstat.steal;

      for (j = 0 ; j < 256 ; j++)
	sum += per_cpu__kstat.irqs[j];
    }
  seq_printf(user, nice, system, idle, steal);
  seq_printf(sum);
  for (i = 0; i < 256; i++)
    seq_printf (i);
}