While working on the libcilkrts SPARC port from PR target/68945, I noticed that the Cilk Plus testsuite has massive need for and potential of cleanup to easily accomodate non-x86 targets:
* Every single execution test explicitly lists the targets to run on, often even twice (in the dg-do target selector and then again when adding -lcilkrts via dg-options). This is completely unmaintainable and should be replaced by a target selector. I'm using the current check_libcilkrts_available, renamed to cilkplus_runtime, for that purpose. There's no need to add -lcilkrts at all; -fcilkplus already does this when linking. * Two tests (c-c++-common/cilk-plus/CK/pr63307.c and c-c++-common/cilk-plus/SE/ef_error3.c) are pure compile tests and don't need a target selector at all. * This only leaves us with c-c++-common/cilk-plus/SE/ef_error2.c, where the expected warning is x86-specific, thus the target selector needs to stay. There's much opportunity for additional cleanup, already mentioned in the PR, but the current set is enough to successfully run the testsuite on Solaris/SPARC with the preliminary patch in PR target/68945. I'll address the rest in a follow-up. Tested with the appropriate runtest invocations on i386-pc-solaris2.12 and x86_64-pc-linux-gnu (and also on sparc-sun-solaris2.12 with the libcilkrts port): with the exception of a line number change for c-c++-common/cilk-plus/SE/ef_error2.c, results without and with the patch are identical. Will commit to mainline in a day or two, giving interested parties an opportunity to comment. Rainer 2016-04-05 Rainer Orth <r...@cebitec.uni-bielefeld.de> gcc: PR testsuite/70595 * doc/sourcebuild.texi (Effective-Target Keywords, Other attributes): Document cilkplus_runtime. gcc/testsuite: PR testsuite/70595 * lib/target-supports.exp (check_libcilkrts_available): Rename to ... (check_effective_target_cilkplus_runtime): ... this. * g++.dg/cilk-plus/cilk-plus.exp: Adapt to it. * gcc.dg/cilk-plus/cilk-plus.exp: Likewise. * c-c++-common/cilk-plus/CK/cilk-for-2.c: Remove dg-do target selector. Require cilkplus_runtime. Don't add -lcilkrts. * c-c++-common/cilk-plus/CK/cilk-fors.c: Likewise. * c-c++-common/cilk-plus/CK/cilk_for_grain.c: Likewise. * c-c++-common/cilk-plus/CK/cilk_for_ptr_iter.c: Likewise. * c-c++-common/cilk-plus/CK/fib.c: Likewise. * c-c++-common/cilk-plus/CK/fib_init_expr_xy.c: Likewise. * c-c++-common/cilk-plus/CK/fib_no_return.c: Likewise. * c-c++-common/cilk-plus/CK/fib_no_sync.c: Likewise. * c-c++-common/cilk-plus/CK/nested_cilk_for.c: Likewise. * c-c++-common/cilk-plus/CK/pr60586.c: Likewise. * c-c++-common/cilk-plus/CK/pr69826-1.c: Likewise. * c-c++-common/cilk-plus/CK/pr69826-2.c: Likewise. * c-c++-common/cilk-plus/CK/spawnee_inline.c: Likewise. * c-c++-common/cilk-plus/CK/spawner_inline.c: Likewise. * c-c++-common/cilk-plus/CK/spawning_arg.c: Likewise. * c-c++-common/cilk-plus/CK/steal_check.c: Likewise. * c-c++-common/cilk-plus/CK/varargs_test.c: Likewise. * g++.dg/cilk-plus/CK/catch_exc.cc: Likewise. * g++.dg/cilk-plus/CK/cilk-for-tplt.cc: Likewise. * g++.dg/cilk-plus/CK/const_spawn.cc: Likewise. * g++.dg/cilk-plus/CK/fib-opr-overload.cc: Likewise. * g++.dg/cilk-plus/CK/fib-tplt.cc: Likewise. * g++.dg/cilk-plus/CK/for1.cc: Likewise. * g++.dg/cilk-plus/CK/lambda_spawns.cc: Likewise. * g++.dg/cilk-plus/CK/lambda_spawns_tplt.cc: Likewise. * g++.dg/cilk-plus/CK/pr60586.cc: Likewise. * g++.dg/cilk-plus/CK/pr66326.cc: Likewise. * g++.dg/cilk-plus/CK/stl_iter.cc: Likewise. * g++.dg/cilk-plus/CK/stl_rev_iter.cc: Likewise. * g++.dg/cilk-plus/CK/stl_test.cc: Likewise. * c-c++-common/cilk-plus/CK/pr63307.c: Remove dg-do target selector. * c-c++-common/cilk-plus/SE/ef_error3.c: Likewise. * c-c++-common/cilk-plus/SE/ef_error2.c: Explain target selector. * c-c++-common/cilk-plus/CK/test__cilk.c: Run if cilkplus_runtime.
# HG changeset patch # Parent f4df0fe5be5412270363b803d28085c2e12e6017 Simplify Cilk+ testsuite diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi --- a/gcc/doc/sourcebuild.texi +++ b/gcc/doc/sourcebuild.texi @@ -1878,6 +1878,9 @@ Target supports wide characters. @item automatic_stack_alignment Target supports automatic stack alignment. +@item cilkplus_runtime +Target supports the Cilk Plus runtime library. + @item cxa_atexit Target uses @code{__cxa_atexit}. diff --git a/gcc/testsuite/c-c++-common/cilk-plus/CK/cilk-for-2.c b/gcc/testsuite/c-c++-common/cilk-plus/CK/cilk-for-2.c --- a/gcc/testsuite/c-c++-common/cilk-plus/CK/cilk-for-2.c +++ b/gcc/testsuite/c-c++-common/cilk-plus/CK/cilk-for-2.c @@ -1,7 +1,7 @@ -/* { dg-do run { target { i?86-*-* x86_64-*-* } } } */ +/* { dg-do run } */ +/* { dg-require-effective-target cilkplus_runtime } */ /* { dg-options "-fcilkplus" } */ /* { dg-additional-options "-std=gnu99" { target c } } */ -/* { dg-additional-options "-lcilkrts" { target { i?86-*-* x86_64-*-* } } } */ int msk; diff --git a/gcc/testsuite/c-c++-common/cilk-plus/CK/cilk-fors.c b/gcc/testsuite/c-c++-common/cilk-plus/CK/cilk-fors.c --- a/gcc/testsuite/c-c++-common/cilk-plus/CK/cilk-fors.c +++ b/gcc/testsuite/c-c++-common/cilk-plus/CK/cilk-fors.c @@ -1,7 +1,7 @@ -/* { dg-do run { target { i?86-*-* x86_64-*-* } } } */ +/* { dg-do run } */ +/* { dg-require-effective-target cilkplus_runtime } */ /* { dg-options "-fcilkplus" } */ /* { dg-additional-options "-std=gnu99" { target c } } */ -/* { dg-additional-options "-lcilkrts" { target { i?86-*-* x86_64-*-* } } } */ #if HAVE_IO #include <stdio.h> diff --git a/gcc/testsuite/c-c++-common/cilk-plus/CK/cilk_for_grain.c b/gcc/testsuite/c-c++-common/cilk-plus/CK/cilk_for_grain.c --- a/gcc/testsuite/c-c++-common/cilk-plus/CK/cilk_for_grain.c +++ b/gcc/testsuite/c-c++-common/cilk-plus/CK/cilk_for_grain.c @@ -1,7 +1,7 @@ -/* { dg-do run { target { i?86-*-* x86_64-*-* } } } */ +/* { dg-do run } */ +/* { dg-require-effective-target cilkplus_runtime } */ /* { dg-options "-fcilkplus" } */ /* { dg-additional-options "-std=gnu99" { target c } } */ -/* { dg-additional-options "-lcilkrts" { target { i?86-*-* x86_64-*-* } } } */ int grain_value = 2; diff --git a/gcc/testsuite/c-c++-common/cilk-plus/CK/cilk_for_ptr_iter.c b/gcc/testsuite/c-c++-common/cilk-plus/CK/cilk_for_ptr_iter.c --- a/gcc/testsuite/c-c++-common/cilk-plus/CK/cilk_for_ptr_iter.c +++ b/gcc/testsuite/c-c++-common/cilk-plus/CK/cilk_for_ptr_iter.c @@ -1,7 +1,7 @@ -/* { dg-do run { target { i?86-*-* x86_64-*-* } } } */ +/* { dg-do run } */ +/* { dg-require-effective-target cilkplus_runtime } */ /* { dg-options "-fcilkplus" } */ /* { dg-additional-options "-std=gnu99" { target c } } */ -/* { dg-additional-options "-lcilkrts" { target { i?86-*-* x86_64-*-* } } } */ diff --git a/gcc/testsuite/c-c++-common/cilk-plus/CK/fib.c b/gcc/testsuite/c-c++-common/cilk-plus/CK/fib.c --- a/gcc/testsuite/c-c++-common/cilk-plus/CK/fib.c +++ b/gcc/testsuite/c-c++-common/cilk-plus/CK/fib.c @@ -1,6 +1,6 @@ +/* { dg-do run } */ +/* { dg-require-effective-target cilkplus_runtime } */ /* { dg-options "-fcilkplus" } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-fcilkplus -lcilkrts" { target { i?86-*-* x86_64-*-* } } } */ #if HAVE_IO #include <stdio.h> diff --git a/gcc/testsuite/c-c++-common/cilk-plus/CK/fib_init_expr_xy.c b/gcc/testsuite/c-c++-common/cilk-plus/CK/fib_init_expr_xy.c --- a/gcc/testsuite/c-c++-common/cilk-plus/CK/fib_init_expr_xy.c +++ b/gcc/testsuite/c-c++-common/cilk-plus/CK/fib_init_expr_xy.c @@ -1,6 +1,6 @@ +/* { dg-do run } */ +/* { dg-require-effective-target cilkplus_runtime } */ /* { dg-options "-fcilkplus" } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-fcilkplus -lcilkrts" { target { i?86-*-* x86_64-*-* } } } */ #if HAVE_IO #include <stdio.h> diff --git a/gcc/testsuite/c-c++-common/cilk-plus/CK/fib_no_return.c b/gcc/testsuite/c-c++-common/cilk-plus/CK/fib_no_return.c --- a/gcc/testsuite/c-c++-common/cilk-plus/CK/fib_no_return.c +++ b/gcc/testsuite/c-c++-common/cilk-plus/CK/fib_no_return.c @@ -1,6 +1,6 @@ +/* { dg-do run } */ +/* { dg-require-effective-target cilkplus_runtime } */ /* { dg-options "-fcilkplus" } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-fcilkplus -lcilkrts" { target { i?86-*-* x86_64-*-* } } } */ #if HAVE_IO #include <stdio.h> diff --git a/gcc/testsuite/c-c++-common/cilk-plus/CK/fib_no_sync.c b/gcc/testsuite/c-c++-common/cilk-plus/CK/fib_no_sync.c --- a/gcc/testsuite/c-c++-common/cilk-plus/CK/fib_no_sync.c +++ b/gcc/testsuite/c-c++-common/cilk-plus/CK/fib_no_sync.c @@ -1,6 +1,6 @@ +/* { dg-do run } */ +/* { dg-require-effective-target cilkplus_runtime } */ /* { dg-options "-fcilkplus" } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-fcilkplus -lcilkrts" { target { i?86-*-* x86_64-*-* } } } */ #if HAVE_IO #include <stdio.h> diff --git a/gcc/testsuite/c-c++-common/cilk-plus/CK/nested_cilk_for.c b/gcc/testsuite/c-c++-common/cilk-plus/CK/nested_cilk_for.c --- a/gcc/testsuite/c-c++-common/cilk-plus/CK/nested_cilk_for.c +++ b/gcc/testsuite/c-c++-common/cilk-plus/CK/nested_cilk_for.c @@ -1,7 +1,7 @@ -/* { dg-do run { target { i?86-*-* x86_64-*-* } } } */ +/* { dg-do run } */ +/* { dg-require-effective-target cilkplus_runtime } */ /* { dg-options "-fcilkplus" } */ /* { dg-additional-options "-std=gnu99" { target c } } */ -/* { dg-additional-options "-lcilkrts" { target { i?86-*-* x86_64-*-* } } } */ #if HAVE_IO #include <stdio.h> diff --git a/gcc/testsuite/c-c++-common/cilk-plus/CK/pr60586.c b/gcc/testsuite/c-c++-common/cilk-plus/CK/pr60586.c --- a/gcc/testsuite/c-c++-common/cilk-plus/CK/pr60586.c +++ b/gcc/testsuite/c-c++-common/cilk-plus/CK/pr60586.c @@ -1,6 +1,6 @@ -/* { dg-do run { target { i?86-*-* x86_64-*-* } } } */ +/* { dg-do run } */ +/* { dg-require-effective-target cilkplus_runtime } */ /* { dg-options "-fcilkplus -O2" } */ -/* { dg-additional-options "-lcilkrts" { target { i?86-*-* x86_64-*-* } } } */ int noop(int x) { diff --git a/gcc/testsuite/c-c++-common/cilk-plus/CK/pr63307.c b/gcc/testsuite/c-c++-common/cilk-plus/CK/pr63307.c --- a/gcc/testsuite/c-c++-common/cilk-plus/CK/pr63307.c +++ b/gcc/testsuite/c-c++-common/cilk-plus/CK/pr63307.c @@ -1,4 +1,4 @@ /* { dg-options "-fcilkplus -fcompare-debug" } */ -/* { dg-do compile { target i?86-*-* x86_64-*-* } } */ +/* { dg-do compile } */ #include "fib_no_return.c" diff --git a/gcc/testsuite/c-c++-common/cilk-plus/CK/pr69826-1.c b/gcc/testsuite/c-c++-common/cilk-plus/CK/pr69826-1.c --- a/gcc/testsuite/c-c++-common/cilk-plus/CK/pr69826-1.c +++ b/gcc/testsuite/c-c++-common/cilk-plus/CK/pr69826-1.c @@ -1,7 +1,7 @@ -/* { dg-do run { target { i?86-*-* x86_64-*-* } } } */ +/* { dg-do run } */ +/* { dg-require-effective-target cilkplus_runtime } */ /* { dg-options "-fcilkplus" } */ /* { dg-additional-options "-std=gnu99" { target c } } */ -/* { dg-additional-options "-lcilkrts" { target { i?86-*-* x86_64-*-* } } } */ #define GRAINSIZE 2 diff --git a/gcc/testsuite/c-c++-common/cilk-plus/CK/pr69826-2.c b/gcc/testsuite/c-c++-common/cilk-plus/CK/pr69826-2.c --- a/gcc/testsuite/c-c++-common/cilk-plus/CK/pr69826-2.c +++ b/gcc/testsuite/c-c++-common/cilk-plus/CK/pr69826-2.c @@ -1,6 +1,6 @@ -/* { dg-do run { target { i?86-*-* x86_64-*-* } } } */ +/* { dg-do run } */ +/* { dg-require-effective-target cilkplus_runtime } */ /* { dg-options "-fcilkplus -save-temps" } */ /* { dg-additional-options "-std=gnu99" { target c } } */ -/* { dg-additional-options "-lcilkrts" { target { i?86-*-* x86_64-*-* } } } */ #include "pr69826-1.c" diff --git a/gcc/testsuite/c-c++-common/cilk-plus/CK/spawnee_inline.c b/gcc/testsuite/c-c++-common/cilk-plus/CK/spawnee_inline.c --- a/gcc/testsuite/c-c++-common/cilk-plus/CK/spawnee_inline.c +++ b/gcc/testsuite/c-c++-common/cilk-plus/CK/spawnee_inline.c @@ -1,6 +1,6 @@ -/* { dg-do run { target { i?86-*-* x86_64-*-* } } } */ +/* { dg-do run } */ +/* { dg-require-effective-target cilkplus_runtime } */ /* { dg-options "-fcilkplus -w" } */ -/* { dg-additional-options "-lcilkrts" { target { i?86-*-* x86_64-*-* } } } */ #include <stdio.h> #include <stdlib.h> diff --git a/gcc/testsuite/c-c++-common/cilk-plus/CK/spawner_inline.c b/gcc/testsuite/c-c++-common/cilk-plus/CK/spawner_inline.c --- a/gcc/testsuite/c-c++-common/cilk-plus/CK/spawner_inline.c +++ b/gcc/testsuite/c-c++-common/cilk-plus/CK/spawner_inline.c @@ -1,6 +1,6 @@ -/* { dg-do run { target { i?86-*-* x86_64-*-* } } } */ +/* { dg-do run } */ +/* { dg-require-effective-target cilkplus_runtime } */ /* { dg-options "-fcilkplus" } */ -/* { dg-additional-options "-lcilkrts" { target { i?86-*-* x86_64-*-* } } } */ #include <stdlib.h> #define DEFAULT_VALUE 30 diff --git a/gcc/testsuite/c-c++-common/cilk-plus/CK/spawning_arg.c b/gcc/testsuite/c-c++-common/cilk-plus/CK/spawning_arg.c --- a/gcc/testsuite/c-c++-common/cilk-plus/CK/spawning_arg.c +++ b/gcc/testsuite/c-c++-common/cilk-plus/CK/spawning_arg.c @@ -1,6 +1,6 @@ -/* { dg-do run { target { i?86-*-* x86_64-*-* } } } */ +/* { dg-do run } */ +/* { dg-require-effective-target cilkplus_runtime } */ /* { dg-options "-fcilkplus" } */ -/* { dg-additional-options "-lcilkrts" { target { i?86-*-* x86_64-*-* } } } */ #ifdef __cplusplus extern "C" { diff --git a/gcc/testsuite/c-c++-common/cilk-plus/CK/steal_check.c b/gcc/testsuite/c-c++-common/cilk-plus/CK/steal_check.c --- a/gcc/testsuite/c-c++-common/cilk-plus/CK/steal_check.c +++ b/gcc/testsuite/c-c++-common/cilk-plus/CK/steal_check.c @@ -1,6 +1,6 @@ -/* { dg-do run { target { i?86-*-* x86_64-*-* } } } */ +/* { dg-do run } */ +/* { dg-require-effective-target cilkplus_runtime } */ /* { dg-options "-fcilkplus" } */ -/* { dg-additional-options "-lcilkrts" { target { i?86-*-* x86_64-*-* } } } */ #ifdef __cplusplus extern "C" { diff --git a/gcc/testsuite/c-c++-common/cilk-plus/CK/test__cilk.c b/gcc/testsuite/c-c++-common/cilk-plus/CK/test__cilk.c --- a/gcc/testsuite/c-c++-common/cilk-plus/CK/test__cilk.c +++ b/gcc/testsuite/c-c++-common/cilk-plus/CK/test__cilk.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-do run { target { i?86-*-* x86_64-*-* } } } */ +/* { dg-do run { target cilkplus_runtime } } */ /* { dg-options "-fcilkplus" } */ int main (void) diff --git a/gcc/testsuite/c-c++-common/cilk-plus/CK/varargs_test.c b/gcc/testsuite/c-c++-common/cilk-plus/CK/varargs_test.c --- a/gcc/testsuite/c-c++-common/cilk-plus/CK/varargs_test.c +++ b/gcc/testsuite/c-c++-common/cilk-plus/CK/varargs_test.c @@ -1,6 +1,6 @@ -/* { dg-do run { target { i?86-*-* x86_64-*-* } } } */ +/* { dg-do run } */ +/* { dg-require-effective-target cilkplus_runtime } */ /* { dg-options "-fcilkplus" } */ -/* { dg-additional-options "-lcilkrts" { target { i?86-*-* x86_64-*-* } } } */ #include <stdarg.h> #include <stdlib.h> diff --git a/gcc/testsuite/c-c++-common/cilk-plus/SE/ef_error2.c b/gcc/testsuite/c-c++-common/cilk-plus/SE/ef_error2.c --- a/gcc/testsuite/c-c++-common/cilk-plus/SE/ef_error2.c +++ b/gcc/testsuite/c-c++-common/cilk-plus/SE/ef_error2.c @@ -1,3 +1,4 @@ +/* The warning is x86-only. */ /* { dg-do compile { target { i?86-*-* x86_64-*-* } } } */ /* { dg-options "-fcilkplus -Wall" } */ diff --git a/gcc/testsuite/c-c++-common/cilk-plus/SE/ef_error3.c b/gcc/testsuite/c-c++-common/cilk-plus/SE/ef_error3.c --- a/gcc/testsuite/c-c++-common/cilk-plus/SE/ef_error3.c +++ b/gcc/testsuite/c-c++-common/cilk-plus/SE/ef_error3.c @@ -1,4 +1,4 @@ -/* { dg-do compile { target { i?86-*-* x86_64-*-* } } } */ +/* { dg-do compile } */ /* { dg-options "-fcilkplus -Wall" } */ __attribute__((vector (linear (x:y)))) /* { dg-message "parameter" "" { target c++ } } */ diff --git a/gcc/testsuite/g++.dg/cilk-plus/CK/catch_exc.cc b/gcc/testsuite/g++.dg/cilk-plus/CK/catch_exc.cc --- a/gcc/testsuite/g++.dg/cilk-plus/CK/catch_exc.cc +++ b/gcc/testsuite/g++.dg/cilk-plus/CK/catch_exc.cc @@ -1,6 +1,6 @@ /* { dg-options "-fcilkplus" } */ -/* { dg-do run { target i?86-*-* x86_64-*-* arm*-*-* } } */ -/* { dg-options "-fcilkplus -lcilkrts" { target { i?86-*-* x86_64-*-* arm*-*-* } } } */ +/* { dg-do run } */ +/* { dg-require-effective-target cilkplus_runtime } */ #include <assert.h> #include <unistd.h> diff --git a/gcc/testsuite/g++.dg/cilk-plus/CK/cilk-for-tplt.cc b/gcc/testsuite/g++.dg/cilk-plus/CK/cilk-for-tplt.cc --- a/gcc/testsuite/g++.dg/cilk-plus/CK/cilk-for-tplt.cc +++ b/gcc/testsuite/g++.dg/cilk-plus/CK/cilk-for-tplt.cc @@ -1,6 +1,6 @@ -/* { dg-do run { target { i?86-*-* x86_64-*-* } } } */ +/* { dg-do run } */ +/* { dg-require-effective-target cilkplus_runtime } */ /* { dg-options "-fcilkplus" } */ -/* { dg-options "-lcilkrts" { target { i?86-*-* x86_64-*-* } } } */ #define SIZE 100 #define CHECK_VALUE 5 diff --git a/gcc/testsuite/g++.dg/cilk-plus/CK/const_spawn.cc b/gcc/testsuite/g++.dg/cilk-plus/CK/const_spawn.cc --- a/gcc/testsuite/g++.dg/cilk-plus/CK/const_spawn.cc +++ b/gcc/testsuite/g++.dg/cilk-plus/CK/const_spawn.cc @@ -1,6 +1,6 @@ +/* { dg-do run } */ +/* { dg-require-effective-target cilkplus_runtime } */ /* { dg-options "-fcilkplus" } */ -/* { dg-do run { target i?86-*-* x86_64-*-* arm*-*-* } } */ -/* { dg-options "-fcilkplus -lcilkrts" { target { i?86-*-* x86_64-*-* arm*-*-* } } } */ class Rectangle { diff --git a/gcc/testsuite/g++.dg/cilk-plus/CK/fib-opr-overload.cc b/gcc/testsuite/g++.dg/cilk-plus/CK/fib-opr-overload.cc --- a/gcc/testsuite/g++.dg/cilk-plus/CK/fib-opr-overload.cc +++ b/gcc/testsuite/g++.dg/cilk-plus/CK/fib-opr-overload.cc @@ -1,6 +1,6 @@ +/* { dg-do run } */ +/* { dg-require-effective-target cilkplus_runtime } */ /* { dg-options "-fcilkplus" } */ -/* { dg-do run { target i?86-*-* x86_64-*-* arm*-*-* } } */ -/* { dg-options "-fcilkplus -lcilkrts" { target { i?86-*-* x86_64-*-* arm*-*-* } } } */ #if HAVE_IO #include <iostream> diff --git a/gcc/testsuite/g++.dg/cilk-plus/CK/fib-tplt.cc b/gcc/testsuite/g++.dg/cilk-plus/CK/fib-tplt.cc --- a/gcc/testsuite/g++.dg/cilk-plus/CK/fib-tplt.cc +++ b/gcc/testsuite/g++.dg/cilk-plus/CK/fib-tplt.cc @@ -1,6 +1,6 @@ +/* { dg-do run } */ +/* { dg-require-effective-target cilkplus_runtime } */ /* { dg-options "-fcilkplus" } */ -/* { dg-do run { target i?86-*-* x86_64-*-* arm*-*-* } } */ -/* { dg-options "-fcilkplus -lcilkrts" { target { i?86-*-* x86_64-*-* arm*-*-*-* } } } */ struct fib_struct { diff --git a/gcc/testsuite/g++.dg/cilk-plus/CK/for1.cc b/gcc/testsuite/g++.dg/cilk-plus/CK/for1.cc --- a/gcc/testsuite/g++.dg/cilk-plus/CK/for1.cc +++ b/gcc/testsuite/g++.dg/cilk-plus/CK/for1.cc @@ -1,6 +1,6 @@ -/* { dg-do run { target { i?86-*-* x86_64-*-* } } } */ +/* { dg-do run } */ +/* { dg-require-effective-target cilkplus_runtime } */ /* { dg-options "-fcilkplus" } */ -/* { dg-additional-options "-lcilkrts" { target { i?86-*-* x86_64-*-* } } } */ #if HAVE_IO #include <cstdio> diff --git a/gcc/testsuite/g++.dg/cilk-plus/CK/lambda_spawns.cc b/gcc/testsuite/g++.dg/cilk-plus/CK/lambda_spawns.cc --- a/gcc/testsuite/g++.dg/cilk-plus/CK/lambda_spawns.cc +++ b/gcc/testsuite/g++.dg/cilk-plus/CK/lambda_spawns.cc @@ -1,7 +1,8 @@ +/* { dg-do run } */ +/* { dg-require-effective-target cilkplus_runtime } */ +/* { dg-require-effective-target c++11 } */ /* { dg-options "-fcilkplus" } */ -/* { dg-do run { target i?86-*-* x86_64-*-* arm*-*-* } } */ -// { dg-require-effective-target c++11 } -/* { dg-options "-fcilkplus -lcilkrts" { target { i?86-*-* x86_64-*-* arm*-*-* } } } */ + #define FIRST_NUMBER 5 #define SECOND_NUMBER 3 #define HAVE_IO 0 diff --git a/gcc/testsuite/g++.dg/cilk-plus/CK/lambda_spawns_tplt.cc b/gcc/testsuite/g++.dg/cilk-plus/CK/lambda_spawns_tplt.cc --- a/gcc/testsuite/g++.dg/cilk-plus/CK/lambda_spawns_tplt.cc +++ b/gcc/testsuite/g++.dg/cilk-plus/CK/lambda_spawns_tplt.cc @@ -1,7 +1,7 @@ +/* { dg-do run } */ +/* { dg-require-effective-target cilkplus_runtime } */ +/* { dg-require-effective-target c++11 } */ /* { dg-options "-fcilkplus" } */ -/* { dg-do run { target i?86-*-* x86_64-*-* arm*-*-* } } */ -// { dg-require-effective-target c++11 } -/* { dg-options "-fcilkplus -lcilkrts" { target { i?86-*-* x86_64-*-* arm*-*-* } } } */ #define FIRST_NUMBER 5 #define SECOND_NUMBER 3 diff --git a/gcc/testsuite/g++.dg/cilk-plus/CK/pr60586.cc b/gcc/testsuite/g++.dg/cilk-plus/CK/pr60586.cc --- a/gcc/testsuite/g++.dg/cilk-plus/CK/pr60586.cc +++ b/gcc/testsuite/g++.dg/cilk-plus/CK/pr60586.cc @@ -1,6 +1,6 @@ +/* { dg-do run } */ +/* { dg-require-effective-target cilkplus_runtime } */ /* { dg-options "-fcilkplus" } */ -/* { dg-do run { target i?86-*-* x86_64-*-* arm*-*-* } } */ -/* { dg-options "-fcilkplus -lcilkrts" { target { i?86-*-* x86_64-*-* arm*-*-* } } } */ class Rectangle { diff --git a/gcc/testsuite/g++.dg/cilk-plus/CK/pr66326.cc b/gcc/testsuite/g++.dg/cilk-plus/CK/pr66326.cc --- a/gcc/testsuite/g++.dg/cilk-plus/CK/pr66326.cc +++ b/gcc/testsuite/g++.dg/cilk-plus/CK/pr66326.cc @@ -1,6 +1,6 @@ +/* { dg-do run } */ +/* { dg-require-effective-target cilkplus_runtime } */ /* { dg-options "-fcilkplus" } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-fcilkplus -lcilkrts" { target { i?86-*-* x86_64-*-* } } } */ #include <vector> #include <random> diff --git a/gcc/testsuite/g++.dg/cilk-plus/CK/stl_iter.cc b/gcc/testsuite/g++.dg/cilk-plus/CK/stl_iter.cc --- a/gcc/testsuite/g++.dg/cilk-plus/CK/stl_iter.cc +++ b/gcc/testsuite/g++.dg/cilk-plus/CK/stl_iter.cc @@ -1,6 +1,6 @@ -/* { dg-do run { target { i?86-*-* x86_64-*-* } } } */ +/* { dg-do run } */ +/* { dg-require-effective-target cilkplus_runtime } */ /* { dg-options "-fcilkplus" } */ -/* { dg-options "-lcilkrts" { target { i?86-*-* x86_64-*-* } } } */ #include <vector> #include <cstdio> diff --git a/gcc/testsuite/g++.dg/cilk-plus/CK/stl_rev_iter.cc b/gcc/testsuite/g++.dg/cilk-plus/CK/stl_rev_iter.cc --- a/gcc/testsuite/g++.dg/cilk-plus/CK/stl_rev_iter.cc +++ b/gcc/testsuite/g++.dg/cilk-plus/CK/stl_rev_iter.cc @@ -1,6 +1,6 @@ -/* { dg-do run { target { i?86-*-* x86_64-*-* } } } */ +/* { dg-do run } */ +/* { dg-require-effective-target cilkplus_runtime } */ /* { dg-options "-fcilkplus" } */ -/* { dg-options "-lcilkrts" { target { i?86-*-* x86_64-*-* } } } */ #include <vector> diff --git a/gcc/testsuite/g++.dg/cilk-plus/CK/stl_test.cc b/gcc/testsuite/g++.dg/cilk-plus/CK/stl_test.cc --- a/gcc/testsuite/g++.dg/cilk-plus/CK/stl_test.cc +++ b/gcc/testsuite/g++.dg/cilk-plus/CK/stl_test.cc @@ -1,6 +1,6 @@ -/* { dg-do run { target { i?86-*-* x86_64-*-* } } } */ +/* { dg-do run } */ +/* { dg-require-effective-target cilkplus_runtime } */ /* { dg-options "-fcilkplus" } */ -/* { dg-options "-lcilkrts" { target { i?86-*-* x86_64-*-* } } } */ #include <iostream> diff --git a/gcc/testsuite/g++.dg/cilk-plus/cilk-plus.exp b/gcc/testsuite/g++.dg/cilk-plus/cilk-plus.exp --- a/gcc/testsuite/g++.dg/cilk-plus/cilk-plus.exp +++ b/gcc/testsuite/g++.dg/cilk-plus/cilk-plus.exp @@ -55,7 +55,7 @@ if [cilkplus_init] { dg-runtest [lsort [glob -nocomplain $srcdir/g++.dg/cilk-plus/AN/*.cc]] " -g -O3 -fcilkplus" " " dg-runtest [lsort [glob -nocomplain $srcdir/g++.dg/cilk-plus/AN/*.cc]] " -O3 -ftree-vectorize -fcilkplus -g" " " - if { [check_libcilkrts_available] } { + if { [check_effective_target_cilkplus_runtime] } { dg-runtest [lsort [glob -nocomplain $srcdir/g++.dg/cilk-plus/CK/*.cc]] " -O1 -fcilkplus" " " dg-runtest [lsort [glob -nocomplain $srcdir/g++.dg/cilk-plus/CK/*.cc]] " -O3 -fcilkplus" " " dg-runtest [lsort [glob -nocomplain $srcdir/g++.dg/cilk-plus/CK/*.cc]] " -g -fcilkplus" " " diff --git a/gcc/testsuite/gcc.dg/cilk-plus/cilk-plus.exp b/gcc/testsuite/gcc.dg/cilk-plus/cilk-plus.exp --- a/gcc/testsuite/gcc.dg/cilk-plus/cilk-plus.exp +++ b/gcc/testsuite/gcc.dg/cilk-plus/cilk-plus.exp @@ -44,7 +44,7 @@ if [cilkplus_init] { 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 -O0 -std=c99" " " - if { [check_libcilkrts_available] } { + if { [check_effective_target_cilkplus_runtime] } { dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -g " " " dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O1 " " " dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cilk-plus/CK/*.c]] " -O2 -std=c99 " " " diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -1279,8 +1279,8 @@ proc check_iconv_available { test_what } } # Return true if Cilk Library is supported on the target. -proc check_libcilkrts_available { } { - return [ check_no_compiler_messages_nocache libcilkrts_available executable { +proc check_effective_target_cilkplus_runtime { } { + return [ check_no_compiler_messages_nocache cilkplus_runtime executable { #ifdef __cplusplus extern "C" #endif
-- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University