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