diff 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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gcc/testsuite/c-c++-common/cilk-plus/AN/comma_exp.c	Fri Oct 27 22:46:09 2017 +0900
@@ -0,0 +1,55 @@
+/* { dg-do run } */
+/* { dg-options "-fcilkplus" } */
+
+#include <stdlib.h>
+
+int main2 (char **argv);
+int main(void)
+{
+  int x = 0; 
+  const char *array[] = {"a.out", "5"};	     
+  x = main2 ((char **)array);
+  return x;
+}
+
+int main2 (char **argv)
+{
+  int argc = 2;
+  int array[10], array2[10], ii = 0, x = 2, z= 0 , y = 0 ;
+  __asm volatile ("" : "+r" (argc));
+  for (ii = 0; ii < 10; ii++)
+    array[ii] = 10;
+
+  for (ii = 0; ii < 10; ii++)
+    array2[ii] = 1;
+
+  array[0:10:1] = (array[:], 15);
+
+  for (ii = 0; ii < 10; ii++)
+    if (array[ii] != 15)
+      return 1;
+  array[0:5:2] = (argc+2, 20);
+
+  for (ii = 0; ii < 10; ii += 2)
+    if (array[ii] != 20)
+      return 2;
+
+
+  x = atoi(argv[1]);
+  z = (10-atoi(argv[1]))/atoi(argv[1]);
+
+  array[x:5:z] = 50;
+
+  array[:]  = (atoi(argv[1]), (array2[0:10]+5));
+
+  for (ii = 0; ii < 10; ii++)
+    if (array[ii] != 6)
+      return (3);
+
+  array[:] = (atoi(argv[1]), (array2[0:10]+array2[0:10]));
+  for (ii = 0; ii < 10; ii++)
+    if (array[ii] != 2)
+      return 4;
+  
+  return 0;
+}