https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71929
Bug ID: 71929 Summary: libcilkrts build failure because broken __cilkrts_yield and __cilkrts_idle Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: nsz at gcc dot gnu.org Target Milestone: --- os-unix.c is broken on *linux-musl targets. the portable way to yield is sched_yield, this should be called on all platforms including linux, except on systems where it does not exist (only __MIC__). pthread_yield should not be called on *linux-gnu either. sched_yield is declared in sched.h so it should be included on all targets. ../../../src_toolchain/libcilkrts/runtime/os-unix.c: In function '__cilkrts_yield': ../../../src_toolchain/libcilkrts/runtime/os-unix.c:471:5: warning: implicit declaration of function 'pthread_yield'; did you mean 'pthread_self'? [-Wimplicit-function-declaration] pthread_yield(); ^~~~~~~~~~~~~