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();
     ^~~~~~~~~~~~~

Reply via email to