Index: gcc.dg/cilk-plus/cilk-plus.exp
===================================================================
--- gcc.dg/cilk-plus/cilk-plus.exp	(revision 204396)
+++ gcc.dg/cilk-plus/cilk-plus.exp	(working copy)
@@ -33,52 +33,27 @@
 
 dg-init
 dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -fcilkplus" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -O0 -fcilkplus" " "
 dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -O1 -fcilkplus" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -O2 -ftree-vectorize -fcilkplus" " "
+dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -O2 -fcilkplus" " "
 dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -O3 -fcilkplus" " "
 dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -g -fcilkplus" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -g -O0 -fcilkplus" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -g -O1 -fcilkplus" " "
 dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -g -O2 -ftree-vectorize -fcilkplus" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -g -O3 -fcilkplus" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -O3 -ftree-vectorize -fcilkplus -g" " "
 dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -fcilkplus -std=c99" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -fcilkplus -O0 -std=c99" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -fcilkplus -O1 -std=c99" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -fcilkplus -O2 -ftree-vectorize -std=c99" " "
+dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -fcilkplus -O2 -std=c99" " "
 dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -fcilkplus -O3 -std=c99" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -fcilkplus -g -std=c99" " "
 dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -fcilkplus -g -O0 -std=c99" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -fcilkplus -g -O1 -std=c99" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -fcilkplus -g -O2 -ftree-vectorize -std=c99" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -fcilkplus -g -O3 -std=c99" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/AN/*.c]] " -O3 -ftree-vectorize -std=c99 -g -fcilkplus" " "
 
 
 dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -fcilkplus $ALWAYS_CFLAGS " " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O0 -fcilkplus $ALWAYS_CFLAGS" " "
 dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O1 -fcilkplus $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O2 -ftree-vectorize -fcilkplus $ALWAYS_CFLAGS" " "
+dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O2 -fcilkplus $ALWAYS_CFLAGS" " "
 dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O3 -fcilkplus $ALWAYS_CFLAGS" " "
 dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -g -fcilkplus $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -g -O0 -fcilkplus $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -g -O1 -fcilkplus $ALWAYS_CFLAGS" " "
 dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -g -O2 -ftree-vectorize -fcilkplus $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -g -O3 -fcilkplus $ALWAYS_CFLAGS"  " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O3 -ftree-vectorize -fcilkplus -g $ALWAYS_CFLAGS" " "
 dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -fcilkplus -std=c99 $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -fcilkplus -O0 -std=c99 $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -fcilkplus -O1 -std=c99 $ALWAYS_CFLAGS" " "
 dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -fcilkplus -O2 -ftree-vectorize -std=c99 $ALWAYS_CFLAGS" " "
 dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -fcilkplus -O3 -std=c99 $ALWAYS_CFLAGS"  " "
 dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -fcilkplus -g -std=c99 $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -fcilkplus -g -O0 -std=c99 $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -fcilkplus -g -O1 -std=c99 $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -fcilkplus -g -O2 -ftree-vectorize -std=c99 $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -fcilkplus -g -O3 -std=c99 $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O3 -ftree-vectorize -std=c99 -g -fcilkplus $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O0 -flto -g -fcilkplus $ALWAYS_CFLAGS" " "
-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O2 -flto -g -fcilkplus $ALWAYS_CFLAGS" " "
+dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -fcilkplus -g -O2 -std=c99 $ALWAYS_CFLAGS" " "
 dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O3  -flto -g -fcilkplus $ALWAYS_CFLAGS" " "
 dg-finish
Index: c-c++-common/cilk-plus/CK/fib.c
===================================================================
--- c-c++-common/cilk-plus/CK/fib.c	(revision 204396)
+++ c-c++-common/cilk-plus/CK/fib.c	(working copy)
@@ -9,27 +9,31 @@
 int fib        (int);
 int fib_serial (int);
 
+#define FIB_ITERATION  30
+
 int main(void)
 {
   int ii = 0, error = 0;
-  int fib_result[41], fib_serial_result[41];
+  int fib_result[FIB_ITERATION+1], fib_serial_result[FIB_ITERATION+1];
 #if HAVE_IO
 
-  for (ii = 0; ii <= 40; ii++)
+  for (ii = 0; ii <= 30; ii++)
     printf("fib (%2d) = %10d\n", ii, fib (ii));
 #else
-  for (ii = 0; ii <= 40; ii++)
+  for (ii = 0; ii <= 30; ii++)
     {
       fib_result[ii]        = fib (ii);
       fib_serial_result[ii] = fib_serial (ii);
     }
 
-  for (ii = 0; ii <= 40; ii++)
+  for (ii = 0; ii <= 30; ii++)
     {
       if (fib_result[ii] != fib_serial_result[ii])
 	error = 1;
     }
 #endif
+  if (error != 0)
+    __builtin_abort ();
   return error;
 }
 
@@ -40,8 +44,8 @@
     return n;
   else
     {
-      x = fib (n-1);
-      y = fib (n-2);
+      x = fib_serial (n-1);
+      y = fib_serial (n-2);
       return (x+y);
     }
 }
Index: c-c++-common/cilk-plus/CK/fib_init_expr_xy.c
===================================================================
--- c-c++-common/cilk-plus/CK/fib_init_expr_xy.c	(revision 204396)
+++ c-c++-common/cilk-plus/CK/fib_init_expr_xy.c	(working copy)
@@ -9,27 +9,31 @@
 int fib        (int);
 int fib_serial (int);
 
+#define FIB_ITERATION 30
+
 int main(void)
 {
   int ii = 0, error = 0;
-  int fib_result[41], fib_serial_result[41];
+  int fib_result[FIB_ITERATION+1], fib_serial_result[FIB_ITERATION+1];
 #if HAVE_IO
 
-  for (ii = 0; ii <= 40; ii++)
+  for (ii = 0; ii <= FIB_ITERATION; ii++)
     printf("fib (%2d) = %10d\n", ii, fib (ii));
 #else
-  for (ii = 0; ii <= 40; ii++)
+  for (ii = 0; ii <= FIB_ITERATION; ii++)
     {
       fib_result[ii]        = fib (ii);
       fib_serial_result[ii] = fib_serial (ii);
     }
 
-  for (ii = 0; ii <= 40; ii++)
+  for (ii = 0; ii <= FIB_ITERATION; ii++)
     {
       if (fib_result[ii] != fib_serial_result[ii])
 	error = 1;
     }
 #endif
+  if (error != 0)
+    __builtin_abort ();
   return error;
 }
 
@@ -40,8 +44,8 @@
     return n;
   else
     {
-      x = fib (n-1);
-      y = fib (n-2);
+      x = fib_serial (n-1);
+      y = fib_serial (n-2);
       return (x+y);
     }
 }
Index: c-c++-common/cilk-plus/CK/fib_no_sync.c
===================================================================
--- c-c++-common/cilk-plus/CK/fib_no_sync.c	(revision 204396)
+++ c-c++-common/cilk-plus/CK/fib_no_sync.c	(working copy)
@@ -6,30 +6,34 @@
 #include <stdio.h>
 #endif
 
+#define FIB_ITERATION 30
+
 int fib        (int);
 int fib_serial (int);
 
 int main(void)
 {
   int ii = 0, error = 0;
-  int fib_result[41], fib_serial_result[41];
+  int fib_result[FIB_ITERATION+1], fib_serial_result[FIB_ITERATION+1];
 #if HAVE_IO
 
-  for (ii = 0; ii <= 40; ii++)
+  for (ii = 0; ii <= FIB_ITERATION; ii++)
     printf("fib (%2d) = %10d\n", ii, fib (ii));
 #else
-  for (ii = 0; ii <= 40; ii++)
+  for (ii = 0; ii <= FIB_ITERATION; ii++)
     {
       fib_result[ii]        = fib (ii);
       fib_serial_result[ii] = fib_serial (ii);
     }
 
-  for (ii = 0; ii <= 40; ii++)
+  for (ii = 0; ii <= FIB_ITERATION; ii++)
     {
       if (fib_result[ii] != fib_serial_result[ii])
 	error = 1;
     }
 #endif
+  if (error != 0)
+    __builtin_abort ();
   return error;
 }
 
@@ -40,8 +44,8 @@
     return n;
   else
     {
-      x = fib (n-1);
-      y = fib (n-2);
+      x = fib_serial (n-1);
+      y = fib_serial (n-2);
       return (x+y);
     }
 }
Index: c-c++-common/cilk-plus/CK/fib_no_return.c
===================================================================
--- c-c++-common/cilk-plus/CK/fib_no_return.c	(revision 204396)
+++ c-c++-common/cilk-plus/CK/fib_no_return.c	(working copy)
@@ -6,34 +6,39 @@
 #include <stdio.h>
 #endif
 
+#define FIB_ITERATION 30
+
 void fib        (int *, int);
 int fib_serial (int);
 
 int main(void)
 {
   int ii = 0, error = 0;
-  int fib_result[41], fib_serial_result[41];
+  int fib_result[FIB_ITERATION+1], fib_serial_result[FIB_ITERATION+1];
 
 #if HAVE_IO
-  for (ii = 0; ii <= 40; ii++)
+  for (ii = 0; ii <= FIB_ITERATION; ii++)
     {
       int result = 0;
       fib (&result, ii); 
       printf("fib (%2d) = %10d\n", ii, result);
     }
 #else
-  for (ii = 0; ii <= 40; ii++)
+  for (ii = 0; ii <= FIB_ITERATION; ii++)
     {
       fib (&fib_result[ii], ii);
       fib_serial_result[ii] = fib_serial (ii);
     }
 
-  for (ii = 0; ii <= 40; ii++)
+  for (ii = 0; ii <= FIB_ITERATION; ii++)
     {
       if (fib_result[ii] != fib_serial_result[ii])
 	error = 1;
     }
 #endif
+  
+  if (error != 0)
+    __builtin_abort ();
   return error;
 }
 
@@ -44,8 +49,8 @@
     return n;
   else
     {
-      fib (&x, n-1);
-      fib (&y, n-2);
+      x = fib_serial (n-1);
+      y = fib_serial (n-2);
       return (x+y);
     }
 }
