annotate gcc/testsuite/c-c++-common/cilk-plus/AN/comma_exp.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* { dg-do run } */
kono
parents:
diff changeset
2 /* { dg-options "-fcilkplus" } */
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 #include <stdlib.h>
kono
parents:
diff changeset
5
kono
parents:
diff changeset
6 int main2 (char **argv);
kono
parents:
diff changeset
7 int main(void)
kono
parents:
diff changeset
8 {
kono
parents:
diff changeset
9 int x = 0;
kono
parents:
diff changeset
10 const char *array[] = {"a.out", "5"};
kono
parents:
diff changeset
11 x = main2 ((char **)array);
kono
parents:
diff changeset
12 return x;
kono
parents:
diff changeset
13 }
kono
parents:
diff changeset
14
kono
parents:
diff changeset
15 int main2 (char **argv)
kono
parents:
diff changeset
16 {
kono
parents:
diff changeset
17 int argc = 2;
kono
parents:
diff changeset
18 int array[10], array2[10], ii = 0, x = 2, z= 0 , y = 0 ;
kono
parents:
diff changeset
19 __asm volatile ("" : "+r" (argc));
kono
parents:
diff changeset
20 for (ii = 0; ii < 10; ii++)
kono
parents:
diff changeset
21 array[ii] = 10;
kono
parents:
diff changeset
22
kono
parents:
diff changeset
23 for (ii = 0; ii < 10; ii++)
kono
parents:
diff changeset
24 array2[ii] = 1;
kono
parents:
diff changeset
25
kono
parents:
diff changeset
26 array[0:10:1] = (array[:], 15);
kono
parents:
diff changeset
27
kono
parents:
diff changeset
28 for (ii = 0; ii < 10; ii++)
kono
parents:
diff changeset
29 if (array[ii] != 15)
kono
parents:
diff changeset
30 return 1;
kono
parents:
diff changeset
31 array[0:5:2] = (argc+2, 20);
kono
parents:
diff changeset
32
kono
parents:
diff changeset
33 for (ii = 0; ii < 10; ii += 2)
kono
parents:
diff changeset
34 if (array[ii] != 20)
kono
parents:
diff changeset
35 return 2;
kono
parents:
diff changeset
36
kono
parents:
diff changeset
37
kono
parents:
diff changeset
38 x = atoi(argv[1]);
kono
parents:
diff changeset
39 z = (10-atoi(argv[1]))/atoi(argv[1]);
kono
parents:
diff changeset
40
kono
parents:
diff changeset
41 array[x:5:z] = 50;
kono
parents:
diff changeset
42
kono
parents:
diff changeset
43 array[:] = (atoi(argv[1]), (array2[0:10]+5));
kono
parents:
diff changeset
44
kono
parents:
diff changeset
45 for (ii = 0; ii < 10; ii++)
kono
parents:
diff changeset
46 if (array[ii] != 6)
kono
parents:
diff changeset
47 return (3);
kono
parents:
diff changeset
48
kono
parents:
diff changeset
49 array[:] = (atoi(argv[1]), (array2[0:10]+array2[0:10]));
kono
parents:
diff changeset
50 for (ii = 0; ii < 10; ii++)
kono
parents:
diff changeset
51 if (array[ii] != 2)
kono
parents:
diff changeset
52 return 4;
kono
parents:
diff changeset
53
kono
parents:
diff changeset
54 return 0;
kono
parents:
diff changeset
55 }