Hi! On Mon, 28 Mar 2016 19:40:22 +0300, Ilya Verbin <iver...@gmail.com> wrote: > Do you plan to commit this patch? :)
Well, I'm also still waiting for you guys to merge (via the upstream Intel sources repository) my GNU Hurd portability patches; submitted to GCC in <http://news.gmane.org/find-root.php?message_id=%3C8738bae1mp.fsf%40kepler.schwinge.homeip.net%3E> and the following messages, dated 2014-09-26. Upon request of Barry M Tannenbaum then submitted to the Intel web site, and then never heard of again... ;-( > On Mon, Sep 29, 2014 at 09:24:40 -0600, Jeff Law wrote: > > On 09/29/14 08:26, Thomas Schwinge wrote: > > > Audit Cilk Plus tests for CILK_NWORKERS=1. > > > > > > gcc/testsuite/ > > > * c-c++-common/cilk-plus/CK/spawning_arg.c (main): Call > > > __cilkrts_set_param to set two workers. > > > * c-c++-common/cilk-plus/CK/steal_check.c (main): Likewise. > > > * g++.dg/cilk-plus/CK/catch_exc.cc (main): Likewise. Thanks for reminding me about this. I confirmed that the problem still reproduces, and the very same patch still fixes it; now committed in r234523: commit 4abd94105ecb1d026406648a37ff2fb43bb26d7c Author: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Tue Mar 29 14:39:33 2016 +0000 [PR testsuite/64177] Audit Cilk Plus tests for CILK_NWORKERS=1 PR testsuite/64177 gcc/testsuite/ * c-c++-common/cilk-plus/CK/spawning_arg.c (main): Call __cilkrts_set_param to set two workers. * c-c++-common/cilk-plus/CK/steal_check.c (main): Likewise. * g++.dg/cilk-plus/CK/catch_exc.cc (main): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234523 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/testsuite/ChangeLog | 8 ++++++++ .../c-c++-common/cilk-plus/CK/spawning_arg.c | 15 +++++++++++++++ gcc/testsuite/c-c++-common/cilk-plus/CK/steal_check.c | 17 ++++++++++++++--- gcc/testsuite/g++.dg/cilk-plus/CK/catch_exc.cc | 14 ++++++++++++++ 4 files changed, 51 insertions(+), 3 deletions(-) diff --git gcc/testsuite/ChangeLog gcc/testsuite/ChangeLog index 11d6863..f9b4b00 100644 --- gcc/testsuite/ChangeLog +++ gcc/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2016-03-29 Thomas Schwinge <tho...@codesourcery.com> + + PR testsuite/64177 + * c-c++-common/cilk-plus/CK/spawning_arg.c (main): Call + __cilkrts_set_param to set two workers. + * c-c++-common/cilk-plus/CK/steal_check.c (main): Likewise. + * g++.dg/cilk-plus/CK/catch_exc.cc (main): Likewise. + 2016-03-28 Dominique d'Humieres <domi...@lps.ens.fr> g++.dg/ext/fnname5.C: Update the test for Darwin. diff --git gcc/testsuite/c-c++-common/cilk-plus/CK/spawning_arg.c gcc/testsuite/c-c++-common/cilk-plus/CK/spawning_arg.c index 95e6cab..138b82c 100644 --- gcc/testsuite/c-c++-common/cilk-plus/CK/spawning_arg.c +++ gcc/testsuite/c-c++-common/cilk-plus/CK/spawning_arg.c @@ -2,6 +2,17 @@ /* { dg-options "-fcilkplus" } */ /* { dg-additional-options "-lcilkrts" { target { i?86-*-* x86_64-*-* } } } */ +#ifdef __cplusplus +extern "C" { +#endif + +extern int __cilkrts_set_param (const char *, const char *); + +#ifdef __cplusplus +} +#endif + + void f0(volatile int *steal_flag) { int i = 0; @@ -32,6 +43,10 @@ void f3() int main() { + /* Ensure more than one worker. */ + if (__cilkrts_set_param("nworkers", "2") != 0) + __builtin_abort(); + f3(); return 0; } diff --git gcc/testsuite/c-c++-common/cilk-plus/CK/steal_check.c gcc/testsuite/c-c++-common/cilk-plus/CK/steal_check.c index 6e28765..6b41c7f 100644 --- gcc/testsuite/c-c++-common/cilk-plus/CK/steal_check.c +++ gcc/testsuite/c-c++-common/cilk-plus/CK/steal_check.c @@ -2,8 +2,16 @@ /* { dg-options "-fcilkplus" } */ /* { dg-additional-options "-lcilkrts" { target { i?86-*-* x86_64-*-* } } } */ -// #include <cilk/cilk_api.h> -extern void __cilkrts_set_param (char *, char *); +#ifdef __cplusplus +extern "C" { +#endif + +extern int __cilkrts_set_param (const char *, const char *); + +#ifdef __cplusplus +} +#endif + void foo(volatile int *); @@ -11,7 +19,10 @@ void main2(void); int main(void) { - // __cilkrts_set_param ((char *)"nworkers", (char *)"2"); + /* Ensure more than one worker. */ + if (__cilkrts_set_param("nworkers", "2") != 0) + __builtin_abort(); + main2(); return 0; } diff --git gcc/testsuite/g++.dg/cilk-plus/CK/catch_exc.cc gcc/testsuite/g++.dg/cilk-plus/CK/catch_exc.cc index 0633d19..09ddf8b 100644 --- gcc/testsuite/g++.dg/cilk-plus/CK/catch_exc.cc +++ gcc/testsuite/g++.dg/cilk-plus/CK/catch_exc.cc @@ -10,6 +10,16 @@ #endif #include <cstdlib> +#ifdef __cplusplus +extern "C" { +#endif + +extern int __cilkrts_set_param (const char *, const char *); + +#ifdef __cplusplus +} +#endif + void func(int volatile* steal_me) { @@ -59,6 +69,10 @@ void my_test() int main() { + /* Ensure more than one worker. */ + if (__cilkrts_set_param("nworkers", "2") != 0) + __builtin_abort(); + my_test(); #if HAVE_IO printf("PASSED\n"); Grüße Thomas
signature.asc
Description: PGP signature