Hi Dominique,
> Any reason why the dg-additional-options "*-lcilkrts" have been removed?
> AFAICT they are needed for darwin.
-fcilkplus does (and should) include -lcilkrts when linking. It
certainly does on Solaris and Linux. Everything else is a usability
nightmare: you don't need to link Fortran programs with
$ gfortran -lgfortran -lquadmath
do you?
gcc.c (LINK_COMMAND_SPEC) has
%{fcilkplus:%:include(libcilkrts.spec)%(link_cilkrts)}\
and the generated libcilkrts.spec on Darwin has
*link_cilkrts: -lcilkrts %{static: }
Unfortunately, the darwin.h almost-copy of LINK_COMMAND_SPEC lacks
this. We should really find a way to better modularize this (and other)
specs to avoid this error-prone duplication.
The following patch (completely untested) adds the above line to its
darwin.h counterpart. I'll give it a whirl myself in this weekend's
bootstraps. Sorry about the breakage.
Rainer
2016-04-29 Rainer Orth <[email protected]>
* config/darwin.h (LINK_COMMAND_SPEC_A): Handle -fcilkplus.
# HG changeset patch
# Parent 297a270669c098610ed0f7333b9a11ab4d3ef2bd
Handle -fcilkplus in Mac OS X LINK_COMMAND_SPEC
diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h
--- a/gcc/config/darwin.h
+++ b/gcc/config/darwin.h
@@ -179,6 +179,7 @@ extern GTY(()) int darwin_ms_struct;
%{L*} %(link_libgcc) %o %{fprofile-arcs|fprofile-generate*|coverage:-lgcov} \
%{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1): \
%{static|static-libgcc|static-libstdc++|static-libgfortran: libgomp.a%s; : -lgomp } } \
+ %{fcilkplus:%:include(libcilkrts.spec)%(link_cilkrts)}\
%{fgnu-tm: \
%{static|static-libgcc|static-libstdc++|static-libgfortran: libitm.a%s; : -litm } } \
%{!nostdlib:%{!nodefaultlibs:\
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University