1 /* { dg-do run } */
2
3 extern void abort(void);
4 extern int rand(void);
5
copy(int * r,int * a,int na)6 static void copy(int *r,int *a,int na)
7 {
8 int i;
9 for( i = 0 ; i < na ; i++ )
10 r[i] = a[i];
11 }
12
foo(int * a,int na)13 static void foo(int *a,int na)
14 {
15 int i;
16 for( i = 0 ; i < na ; i++ )
17 a[i] = rand();
18 }
19
cmp(int * a,int * b,int n)20 static int cmp(int *a,int *b,int n)
21 {
22 int i;
23 for( i = 0 ; i < n ; i++ )
24 if ( a[i] != b[i] )
25 return -1;
26 return 0;
27 }
28
29 void __attribute__((noinline,noclone))
test(int sz,int comm)30 test(int sz,int comm)
31 {
32 int j,n;
33 int v[64],w[64];
34 for( j = 1 ; j <= sz ; j++ )
35 {
36 n = (2 * j - 1) * (2 * j - 1);
37 foo(w,n);
38 copy(v,w,n);
39 if ( comm )
40 if ( cmp(v,w,n) ) abort ();
41 }
42 }
43
main()44 int main()
45 {
46 test(2,1);
47 return 0;
48 }
49