Home | History | Annotate | Download | only in jni
      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;
     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 	    {
     21 	      global2 = k;
     22 	      throw 0;
     23 	    }
     24 	if (check_int ((int *) &a,  __alignof__(a)) != a)
     25 	  abort ();
     26 }
     27 
     28 int main()
     29 {
     30 	int ll = 1;
     31         int i = 0,j = 1,k = 2,l = 3,m = 4,n = 5;
     32 	try {
     33   	  for (; i < global; i++)
     34 	  for (; j < i; j++)
     35 	  for (; k < j; k++)
     36 	  for (; l < k; l++)
     37 	  for (; m < l; m++)
     38 	  for (; n < m; n++)
     39      		global2 = k;
     40 	  bar ();
     41 	}
     42 	catch (...)
     43 	{
     44 	}
     45 	ll = i+j+k+l+m+n;
     46 	if (ll != 15)
     47 	{
     48 #ifdef DEBUG
     49 		printf("FAIL: sum %d != 15\n", ll);
     50 #endif
     51 		abort();
     52 	}
     53 	return 0;
     54 }
     55