Revert insiduous suppression of the -fopenmp flag in the LAPACK subtree
authorMartin Kroeker <martin@ruby.chemie.uni-freiburg.de>
Tue, 13 Feb 2018 21:44:45 +0000 (22:44 +0100)
committerGitHub <noreply@github.com>
Tue, 13 Feb 2018 21:44:45 +0000 (22:44 +0100)
This was added in #1046 citing a problem with mingw, but in effect it quietly reduces thread safety on all non-Windows platforms (while -fopenmp is already disabled for Windows builds through the toplevel Makefile.system). Removing the filter fixes #1425

lapack-netlib/SRC/Makefile

index 9cc2ea5..531cb51 100644 (file)
@@ -533,7 +533,9 @@ ZLASRC = $(filter-out $(ZLAPACKOBJS),$(ZLASRC_O))
 DSLASRC = $(filter-out $(SLAPACKOBJS),$(DSLASRC_O))
 ZCLASRC = $(filter-out $(CLAPACKOBJS),$(ZCLASRC_O))
 
-OPTS1 = $(filter-out -fopenmp, $(OPTS))
+#from commit 1046, supposedly related to mingw but breaks thread safety
+#in insiduous ways on all platforms when used in place of OPTS below
+#OPTS1 = $(filter-out -fopenmp, $(OPTS))
 #end filter out
 
 
@@ -597,10 +599,10 @@ clean:
        rm -f *.o DEPRECATED/*.o
 
 .f.o:
-       $(FORTRAN) $(OPTS1) -c -o $@ $<
+       $(FORTRAN) $(OPTS) -c -o $@ $<
 
 .F.o:
-       $(FORTRAN) $(OPTS1) -c $< -o $@
+       $(FORTRAN) $(OPTS) -c $< -o $@
        
 slaruv.o: slaruv.f ; $(FORTRAN) $(NOOPT) -c -o $@ $<
 dlaruv.o: dlaruv.f ; $(FORTRAN) $(NOOPT) -c -o $@ $<