• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* { dg-do run } */
2 
3 #include "check.h"
4 
5 #ifndef ALIGNMENT
6 #define ALIGNMENT       64
7 #endif
8 
9 typedef int t_align __attribute__((aligned(ALIGNMENT)));
10 
11 
12 int global, global2;
bar()13 void bar()
14 {
15 	volatile t_align a = 1;
16         int i,j,k;
17         i=j=k=0;
18   	for (i=0; i < global; i++)
19 	  for (j=0; j < i; j++)
20      		global2 = k;
21 	throw 0;
22 	if (check_int ((int *) &a,  __alignof__(a)) != a)
23 	  abort ();
24 }
25 
main()26 int main()
27 {
28 	int ll = 1;
29         int i = 0,j = 1,k = 2,l = 3,m = 4,n = 5;
30 	try {
31   	  for (; i < global; i++)
32 	  for (; j < i; j++)
33 	  for (; k < j; k++)
34 	  for (; l < k; l++)
35 	  for (; m < l; m++)
36 	  for (; n < m; n++)
37      		global2 = k;
38 	  bar ();
39 	}
40 	catch (...)
41 	{
42 	}
43 	ll = i+j+k+l+m+n;
44 	if (ll != 15)
45 	{
46 #ifdef DEBUG
47 		printf("FAIL: sum %d != 15\n", ll);
48 #endif
49 		abort();
50 	}
51 	return 0;
52 }
53