Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/gcc.dg/pr21041.c @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 | |
2 /* { dg-do compile { target fpic } } */ | |
3 /* { dg-options "-O2 -fPIC" } */ | |
4 | |
5 struct args | |
6 { | |
7 short int matrix[8][8]; | |
8 char **current; | |
9 }; | |
10 | |
11 int test (struct args *args, char *init, int a, int b) | |
12 { | |
13 int i, j, k; | |
14 | |
15 if (!args || a > b || a < 0) | |
16 return -1; | |
17 | |
18 for (i = 0; i < 2; i++) | |
19 { | |
20 char *dest = *args->current; | |
21 char *p = dest; | |
22 | |
23 for (j = 0; j < 8; j++) | |
24 *p++ = *init++; | |
25 | |
26 for (k = 0; k < 8; k++) | |
27 { | |
28 short int *blockvals = &args->matrix[k][0]; | |
29 dest[0] += blockvals[0]; | |
30 dest[1] += blockvals[1]; | |
31 dest[2] += blockvals[2]; | |
32 dest[3] += blockvals[3]; | |
33 dest[4] += blockvals[4]; | |
34 dest[5] += blockvals[5]; | |
35 dest[6] += blockvals[6]; | |
36 dest[7] += blockvals[7]; | |
37 } | |
38 } | |
39 | |
40 return 1; | |
41 } | |
42 |