00001
00002
00003
00004 extern void abort (void);
00005
00006 double d[1024], e[1024];
00007 int f[1024], g[1024];
00008
00009 double __attribute__((noinline))
00010 foo (void)
00011 {
00012 double s = 0.0;
00013 int i;
00014 for (i = 0; i < 1024; i++)
00015 s += d[i] - e[i];
00016 return s;
00017 }
00018
00019 int __attribute__((noinline))
00020 bar (void)
00021 {
00022 int s = 0, i;
00023 for (i = 0; i < 1024; i++)
00024 s += f[i] - g[i];
00025 return s;
00026 }
00027
00028 int
00029 main (void)
00030 {
00031 int i;
00032 for (i = 0; i < 1024; i++)
00033 {
00034 d[i] = i * 2;
00035 e[i] = i;
00036 f[i] = i * 2;
00037 g[i] = i;
00038 }
00039 if (foo () != 1023 * 1024 / 2)
00040 abort ();
00041 if (bar () != 1023 * 1024 / 2)
00042 abort ();
00043 return 0;
00044 }