https://gcc.gnu.org/g:673822455ed8b68559e13aef149163294490c69e

commit r15-3766-g673822455ed8b68559e13aef149163294490c69e
Author: GCC Administrator <gccadmin@gcc.gnu.org>
Date:   Sun Sep 22 00:17:59 2024 +0000

    Daily bump.

Diff:
---
 gcc/ChangeLog           |   5 +++
 gcc/DATESTAMP           |   2 +-
 gcc/fortran/ChangeLog   | 102 ++++++++++++++++++++++++++++++++++++++++++++++++
 gcc/m2/ChangeLog        |   7 ++++
 gcc/testsuite/ChangeLog |  38 ++++++++++++++++++
 libstdc++-v3/ChangeLog  |  40 +++++++++++++++++++
 6 files changed, 193 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0e5be6c46367..b7934c534e8a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2024-09-21  Mikael Morin  <mik...@gcc.gnu.org>
+
+       PR fortran/90608
+       * flag-types.h (enum gfc_inlineable_intrinsics): New type.
+
 2024-09-20  David Malcolm  <dmalc...@redhat.com>
 
        PR other/116613
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 6df304d1af83..c43582073d8a 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20240921
+20240922
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index e2a81c74c908..0e1ff28bdfd4 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,105 @@
+2024-09-21  Mikael Morin  <mik...@gcc.gnu.org>
+
+       PR fortran/90608
+       * invoke.texi(finline-intrinsics): Document new flag.
+       * lang.opt (finline-intrinsics, finline-intrinsics=,
+       fno-inline-intrinsics): New flags.
+       * options.cc (gfc_post_options): If the option variable controlling
+       the inlining of MAXLOC (respectively MINLOC) has not been set, set
+       it or clear it depending on the optimization option variables.
+       * trans-intrinsic.cc (gfc_inline_intrinsic_function_p): Return false
+       if inlining for the intrinsic is disabled according to the option
+       variable.
+
+2024-09-21  Mikael Morin  <mik...@gcc.gnu.org>
+
+       PR fortran/90608
+       * trans-intrinsic.cc (gfc_conv_intrinsic_minmaxloc): Generate a set
+       of index variables.  Set them using the loop indexes before leaving
+       the first set of loops.  Generate a new loop entry predicate.
+       Initialize it.  Set it before leaving the first set of loops.  Clear
+       it in the body of the second set of loops.  For the second set of
+       loops, update each loop lower bound to use the corresponding index
+       variable if the predicate variable is set.
+
+2024-09-21  Mikael Morin  <mik...@gcc.gnu.org>
+
+       PR fortran/90608
+       * trans-intrinsic.cc (gfc_conv_intrinsic_minmaxloc): Initialize
+       and update all the variables.  Put the label and goto in the
+       outermost scalarizer loop.  Don't start the second loop where the
+       first stopped.
+       (gfc_inline_intrinsic_function_p): Also return TRUE for array MASK
+       or for any REAL type.
+
+2024-09-21  Mikael Morin  <mik...@gcc.gnu.org>
+
+       PR fortran/90608
+       * trans-intrinsic.cc (gfc_conv_intrinsic_minmaxloc): Generate
+       variable initialization for each dimension in the else branch of
+       the toplevel condition.
+       (gfc_inline_intrinsic_function_p): Return TRUE for scalar MASK.
+
+2024-09-21  Mikael Morin  <mik...@gcc.gnu.org>
+
+       PR fortran/90608
+       * trans-array.cc (gfc_conv_ss_startstride): Set the MINLOC/MAXLOC
+       result upper bound using the rank of the ARRAY argument.  Ajdust
+       the error message for intrinsic result arrays.  Only check array
+       bounds for array references.  Move bound check decision code...
+       (bounds_check_needed): ... here as a new predicate.  Allow bound
+       check for MINLOC/MAXLOC intrinsic results.
+       * trans-intrinsic.cc (gfc_conv_intrinsic_minmaxloc): Change the
+       result array upper bound to the rank of ARRAY.  Update the NONEMPTY
+       variable to depend on the non-empty extent of every dimension.  Use
+       one variable per dimension instead of a single variable for the
+       position and the offset.  Update their declaration, initialization,
+       and update to affect the variable of each dimension.  Use the first
+       variable only in areas only accessed with rank 1 ARRAY argument.
+       Set every element of the result using its corresponding variable.
+       (gfc_inline_intrinsic_function_p): Return true for integral ARRAY
+       and absent DIM and MASK.
+
+2024-09-21  Mikael Morin  <mik...@gcc.gnu.org>
+
+       * trans-array.cc (gfc_conv_ss_startstride): Move array bound check
+       generation code...
+       (add_check_section_in_array_bounds): ... here as a new function.
+
+2024-09-21  Mikael Morin  <mik...@gcc.gnu.org>
+
+       * frontend-passes.cc (optimize_minmaxloc): Remove.
+       (optimize_expr): Remove dispatch to optimize_minmaxloc.
+
+2024-09-21  Mikael Morin  <mik...@gcc.gnu.org>
+
+       PR fortran/90608
+       * trans-array.cc (gfc_conv_ss_startstride): Set the scalarization
+       rank based on the MINLOC/MAXLOC rank if needed.  Call the inline
+       code generation and setup the scalarizer array descriptor info
+       in the MINLOC and MAXLOC cases.
+       * trans-intrinsic.cc (gfc_conv_intrinsic_minmaxloc): Return the
+       result array element if the scalarizer is setup and we are inside
+       the loops.  Restrict library function call dispatch to the case
+       where inline expansion is not supported.  Declare an array result
+       if the expression isn't scalar.  Initialize the array result single
+       element and return the result variable if the expression isn't
+       scalar.
+       (walk_inline_intrinsic_minmaxloc): New function.
+       (walk_inline_intrinsic_function): Add MINLOC and MAXLOC cases,
+       dispatching to walk_inline_intrinsic_minmaxloc.
+       (gfc_add_intrinsic_ss_code): Add MINLOC and MAXLOC cases.
+       (gfc_inline_intrinsic_function_p): Return true if ARRAY has rank 1,
+       regardless of DIM.
+
+2024-09-21  Mikael Morin  <mik...@gcc.gnu.org>
+
+       PR fortran/90608
+       * frontend-passes.cc (optimize_minmaxloc): Skip if we can generate
+       inline code for the unmodified expression.
+       * trans-intrinsic.cc (gfc_inline_intrinsic_function_p): Add
+       MINLOC and MAXLOC cases.
+
 2024-09-20  David Malcolm  <dmalc...@redhat.com>
 
        PR other/116613
diff --git a/gcc/m2/ChangeLog b/gcc/m2/ChangeLog
index da83d572fe42..a5d45ac3c448 100644
--- a/gcc/m2/ChangeLog
+++ b/gcc/m2/ChangeLog
@@ -1,3 +1,10 @@
+2024-09-21  Gaius Mulley  <gaiusm...@gmail.com>
+
+       * gm2-compiler/M2Comp.mod (GenerateDependencies): Remove
+       unused parameter.
+       (WriteDep): Remove parameter dep.
+       (WritePhoneDep): Ditto.
+
 2024-09-20  Gaius Mulley  <gaiusm...@gmail.com>
 
        * gm2-compiler/M2Check.mod (checkUnboundedArray): New
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 4a5f1db58473..9bed4d77384f 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,41 @@
+2024-09-21  Mikael Morin  <mik...@gcc.gnu.org>
+
+       PR fortran/90608
+       * gfortran.dg/minmaxloc_18.f90: New test.
+       * gfortran.dg/minmaxloc_18a.f90: New test.
+       * gfortran.dg/minmaxloc_18b.f90: New test.
+       * gfortran.dg/minmaxloc_18c.f90: New test.
+       * gfortran.dg/minmaxloc_18d.f90: New test.
+
+2024-09-21  Mikael Morin  <mik...@gcc.gnu.org>
+
+       PR fortran/90608
+       * gfortran.dg/maxloc_bounds_5.f90: Additionally accept error
+       messages reported by the scalarizer.
+       * gfortran.dg/maxloc_bounds_6.f90: Ditto.
+
+2024-09-21  Mikael Morin  <mik...@gcc.gnu.org>
+
+       PR fortran/90608
+       * gfortran.dg/maxloc_bounds_7.f90: Additionally accept the error message
+       reported by the scalarizer.
+
+2024-09-21  Mikael Morin  <mik...@gcc.gnu.org>
+
+       PR fortran/90608
+       * gfortran.dg/maxloc_bounds_4.f90: Additionally accept the error
+       message emitted by the scalarizer.
+
+2024-09-21  Mikael Morin  <mik...@gcc.gnu.org>
+
+       PR fortran/90608
+       * gfortran.dg/ieee/maxloc_nan_1.f90: New test.
+       * gfortran.dg/ieee/minloc_nan_1.f90: New test.
+       * gfortran.dg/maxloc_7.f90: New test.
+       * gfortran.dg/maxloc_with_mask_1.f90: New test.
+       * gfortran.dg/minloc_8.f90: New test.
+       * gfortran.dg/minloc_with_mask_1.f90: New test.
+
 2024-09-20  David Malcolm  <dmalc...@redhat.com>
 
        PR other/116792
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 425990135ae9..d4037cfab49c 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,43 @@
+2024-09-21  Jason Merrill  <ja...@redhat.com>
+
+       * include/c_compatibility/ctype.h
+       * include/c_compatibility/errno.h
+       * include/c_compatibility/float.h
+       * include/c_compatibility/iso646.h
+       * include/c_compatibility/limits.h
+       * include/c_compatibility/locale.h
+       * include/c_compatibility/setjmp.h
+       * include/c_compatibility/signal.h
+       * include/c_compatibility/stdarg.h
+       * include/c_compatibility/stdbool.h
+       * include/c_compatibility/stddef.h
+       * include/c_compatibility/stdio.h
+       * include/c_compatibility/string.h
+       * include/c_compatibility/tgmath.h
+       * include/c_compatibility/time.h
+       * include/c_compatibility/uchar.h
+       * include/c_compatibility/wchar.h
+       * include/c_compatibility/wctype.h
+       * include/c_global/ccomplex
+       * include/c_global/cctype
+       * include/c_global/cerrno
+       * include/c_global/cfloat
+       * include/c_global/climits
+       * include/c_global/clocale
+       * include/c_global/cmath
+       * include/c_global/csetjmp
+       * include/c_global/csignal
+       * include/c_global/cstdalign
+       * include/c_global/cstdarg
+       * include/c_global/cstdbool
+       * include/c_global/cstdio
+       * include/c_global/cstdlib
+       * include/c_global/cstring
+       * include/c_global/ctgmath
+       * include/c_global/ctime
+       * include/c_global/cwchar
+       * include/c_global/cwctype: Move header guard before #includes.
+
 2024-09-20  Jonathan Wakely  <jwak...@redhat.com>
 
        PR libstdc++/116529

Reply via email to