Hi!

As discussed earlier, all other -static-lib* options are Driver only,
these 2 are Driver in common.opt and Fortran in lang.opt.

The spec files never pass the -static-lib* options down to any compiler
(f951 etc.), so the 2 errors below are reported only when one
runs ./f951 -static-libgfortran by hand.

The following patch just removes f951 support of these options, the
gfortran driver behavior remains as before.  For other -static-lib*
option (and even these because it is never passed to f951) we never
error if we can't support those options, and e.g. Darwin is actually
able to handle those options through other means.

Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?

2022-08-20  Jakub Jelinek  <ja...@redhat.com>

        PR fortran/46539
        * lang.opt (static-libgfortran, static-libquadmath): Change Fortran
        to Driver.
        * options.cc (gfc_handle_option): Don't handle OPT_static_libgfortran
        nor OPT_static_libquadmath here.

--- gcc/fortran/lang.opt.jj     2022-08-17 17:00:28.558530108 +0200
+++ gcc/fortran/lang.opt        2022-08-19 18:09:23.505859992 +0200
@@ -860,11 +860,11 @@ Fortran Joined Separate
 ; Documented in common.opt
 
 static-libgfortran
-Fortran
+Driver
 Statically link the GNU Fortran helper library (libgfortran).
 
 static-libquadmath
-Fortran
+Driver
 Statically link the GCC Quad-Precision Math Library (libquadmath).
 
 std=f2003
--- gcc/fortran/options.cc.jj   2022-08-17 17:00:28.559530096 +0200
+++ gcc/fortran/options.cc      2022-08-19 18:05:32.153797148 +0200
@@ -685,20 +685,6 @@ gfc_handle_option (size_t scode, const c
       gfc_option.source_form = FORM_FREE;
       break;
 
-    case OPT_static_libgfortran:
-#ifndef HAVE_LD_STATIC_DYNAMIC
-      gfc_fatal_error ("%<-static-libgfortran%> is not supported in this "
-                      "configuration");
-#endif
-      break;
-
-    case OPT_static_libquadmath:
-#ifndef HAVE_LD_STATIC_DYNAMIC
-      gfc_fatal_error ("%<-static-libquadmath%> is not supported in this "
-                      "configuration");
-#endif
-      break;
-
     case OPT_fintrinsic_modules_path:
     case OPT_fintrinsic_modules_path_:
 

        Jakub

Reply via email to