1/* { dg-do run } */
2/* { dg-options "-fcilkplus" } */
3
4#include <stdlib.h>
5
6int main2 (char **argv);
7int main(void)
8{
9  int x = 0;
10  const char *array[] = {"a.out", "5"};
11  x = main2 ((char **)array);
12  return x;
13}
14
15int main2 (char **argv)
16{
17  int argc = 2;
18  int array[10], array2[10], ii = 0, x = 2, z= 0 , y = 0 ;
19  __asm volatile ("" : "+r" (argc));
20  for (ii = 0; ii < 10; ii++)
21    array[ii] = 10;
22
23  for (ii = 0; ii < 10; ii++)
24    array2[ii] = 1;
25
26  array[0:10:1] = (array[:], 15);
27
28  for (ii = 0; ii < 10; ii++)
29    if (array[ii] != 15)
30      return 1;
31  array[0:5:2] = (argc+2, 20);
32
33  for (ii = 0; ii < 10; ii += 2)
34    if (array[ii] != 20)
35      return 2;
36
37
38  x = atoi(argv[1]);
39  z = (10-atoi(argv[1]))/atoi(argv[1]);
40
41  array[x:5:z] = 50;
42
43  array[:]  = (atoi(argv[1]), (array2[0:10]+5));
44
45  for (ii = 0; ii < 10; ii++)
46    if (array[ii] != 6)
47      return (3);
48
49  array[:] = (atoi(argv[1]), (array2[0:10]+array2[0:10]));
50  for (ii = 0; ii < 10; ii++)
51    if (array[ii] != 2)
52      return 4;
53
54  return 0;
55}
56