aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2022-08-18 15:35:14 +0200
committerMartin Liska <mliska@suse.cz>2022-08-18 15:35:14 +0200
commitc4cf402822be5b52516a727e6b2abc923d1a9d52 (patch)
treed97b4c3407d27282cc3bcfda5a0052d37a325580 /gcc/fortran
parent87e8197e4012801477e3743601d6d6ead64e851c (diff)
parent03119249b9cfedb48e910b8df6a832b206cced2b (diff)
downloadgcc-c4cf402822be5b52516a727e6b2abc923d1a9d52.zip
gcc-c4cf402822be5b52516a727e6b2abc923d1a9d52.tar.gz
gcc-c4cf402822be5b52516a727e6b2abc923d1a9d52.tar.bz2
Merge branch 'master' into devel/sphinx
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/ChangeLog20
-rw-r--r--gcc/fortran/invoke.texi16
-rw-r--r--gcc/fortran/lang.opt4
-rw-r--r--gcc/fortran/openmp.cc10
-rw-r--r--gcc/fortran/options.cc7
5 files changed, 53 insertions, 4 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 74968c9..678059b 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,23 @@
+2022-08-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/46539
+ * lang.opt (static-libquadmath): New option.
+ * invoke.texi (-static-libquadmath): Document it.
+ * options.cc (gfc_handle_option): Error out if -static-libquadmath
+ is passed but we do not support it.
+
+2022-08-17 Tobias Burnus <tobias@codesourcery.com>
+
+ PR fortran/106566
+ * openmp.cc (gfc_match_omp_clauses): Fix setting linear-step value
+ to 1 when not specified.
+ (gfc_match_omp_declare_simd): Accept module procedures.
+
+2022-08-16 Martin Liska <mliska@suse.cz>
+
+ * gfortran.texi: Fix link destination to a valid URL.
+
2022-07-31 Harald Anlauf <anlauf@gmx.de>
Steven G. Kargl <kargl@gcc.gnu.org>
diff --git a/gcc/fortran/invoke.texi b/gcc/fortran/invoke.texi
index 251e151..0d0343d 100644
--- a/gcc/fortran/invoke.texi
+++ b/gcc/fortran/invoke.texi
@@ -138,7 +138,7 @@ and warnings}.
@item Link Options
@xref{Link Options,,Options for influencing the linking step}.
-@gccoptlist{-static-libgfortran}
+@gccoptlist{-static-libgfortran -static-libquadmath}
@item Runtime Options
@xref{Runtime Options,,Options for influencing runtime behavior}.
@@ -1393,6 +1393,20 @@ configured, this option has no effect.
@end table
+@table @gcctabopt
+@item -static-libquadmath
+@opindex @code{static-libquadmath}
+On systems that provide @file{libquadmath} as a shared and a static
+library, this option forces the use of the static version. If no
+shared version of @file{libquadmath} was built when the compiler was
+configured, this option has no effect.
+
+Please note that the @file{libquadmath} runtime library is licensed under the
+GNU Lesser General Public License (LGPL), and linking it statically introduces
+requirements when redistributing the resulting binaries.
+@end table
+
+
@node Runtime Options
@section Influencing runtime behavior
@cindex options, runtime
diff --git a/gcc/fortran/lang.opt b/gcc/fortran/lang.opt
index cf39712..e8cd735 100644
--- a/gcc/fortran/lang.opt
+++ b/gcc/fortran/lang.opt
@@ -863,6 +863,10 @@ static-libgfortran
Fortran
Statically link the GNU Fortran helper library (libgfortran).
+static-libquadmath
+Fortran
+Statically link the GCC Quad-Precision Math Library (libquadmath).
+
std=f2003
Fortran
Conform to the ISO Fortran 2003 standard.
diff --git a/gcc/fortran/openmp.cc b/gcc/fortran/openmp.cc
index a7eb6c3..5949077 100644
--- a/gcc/fortran/openmp.cc
+++ b/gcc/fortran/openmp.cc
@@ -2480,7 +2480,7 @@ gfc_match_omp_clauses (gfc_omp_clauses **cp, const omp_mask mask,
goto error;
}
}
- else
+ if (step == NULL)
{
step = gfc_get_constant_expr (BT_INTEGER,
gfc_default_integer_kind,
@@ -4213,9 +4213,13 @@ gfc_match_omp_declare_simd (void)
gfc_omp_declare_simd *ods;
bool needs_space = false;
- switch (gfc_match (" ( %s ) ", &proc_name))
+ switch (gfc_match (" ( "))
{
- case MATCH_YES: break;
+ case MATCH_YES:
+ if (gfc_match_symbol (&proc_name, /* host assoc = */ true) != MATCH_YES
+ || gfc_match (" ) ") != MATCH_YES)
+ return MATCH_ERROR;
+ break;
case MATCH_NO: proc_name = NULL; needs_space = true; break;
case MATCH_ERROR: return MATCH_ERROR;
}
diff --git a/gcc/fortran/options.cc b/gcc/fortran/options.cc
index d0fa634..38249d6 100644
--- a/gcc/fortran/options.cc
+++ b/gcc/fortran/options.cc
@@ -692,6 +692,13 @@ gfc_handle_option (size_t scode, const char *arg, HOST_WIDE_INT value,
#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_: