]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - libgfortran/ChangeLog
Daily bump.
[thirdparty/gcc.git] / libgfortran / ChangeLog
index 437431424439ea8fe7eaa279a1ef9bc1a377cb41..8423825df4731b7d3c8176c05f30896c54369465 100644 (file)
-2021-07-28  Sandra Loosemore  <sandra@codesourcery.com>
-
-       PR libfortran/101317
-       * runtime/ISO_Fortran_binding.c: Include <inttypes.h>.
-       (CFI_address): Tidy error messages and comments.
-       (CFI_allocate): Likewise.
-       (CFI_deallocate): Likewise.
-       (CFI_establish): Likewise.  Add new checks for validity of
-       elem_len when it's used, plus type argument and extents.
-       (CFI_is_contiguous): Tidy error messages and comments.
-       (CFI_section): Likewise.  Refactor some repetitive code to
-       make it more understandable.
-       (CFI_select_part): Likewise.
-       (CFI_setpointer): Likewise.  Check that source is not an
-       unallocated allocatable array or an assumed-size array.
-
-2021-07-28  Sandra Loosemore  <sandra@codesourcery.com>
-
-       PR libfortran/101310
-       * runtime/ISO_Fortran_binding.c (CFI_section): Fix the base
-       address computation and simplify the code.
-
-2021-07-28  Sandra Loosemore  <sandra@codesourcery.com>
-
-       PR libfortran/101305
-       * runtime/ISO_Fortran_binding.c (CFI_establish): Special-case
-       CFI_type_cptr and CFI_type_cfunptr.  Correct size of long double
-       on targets where it has kind 10.
-
-2021-07-28  Sandra Loosemore  <sandra@codesourcery.com>
-           Tobias Burnus  <tobias@codesourcery.com>
-
-       PR libfortran/101305
-       * ISO_Fortran_binding.h: Fix hard-coded sizes and split into...
-       * ISO_Fortran_binding-1-tmpl.h: New file.
-       * ISO_Fortran_binding-2-tmpl.h: New file.
-       * ISO_Fortran_binding-3-tmpl.h: New file.
-       * Makefile.am: Add rule for generating ISO_Fortran_binding.h.
-       Adjust pathnames to that file.
+2022-10-12  Martin Liska  <mliska@suse.cz>
+
+       * configure: Regenerate.
+
+2022-10-11  Olivier Hainque  <hainque@adacore.com>
+           Olivier Hainque  <hainque@adacore.com>
+
+       * configure: Regenerate.
+
+2022-10-10  LIU Hao  <lh_mouse@126.com>
+
+       * io/async.h (struct async_unit): Use `__gthread_t` instead
+       of `pthread_t`.
+
+2022-09-21  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * ieee/ieee_arithmetic.F90 (IEEE_SET_ROUNDING_MODE): Handle
+       RADIX argument better.
+
+2022-09-21  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * gfortran.map: Add symbols for IEEE_GET_MODES
+       and IEEE_SET_MODES.
+
+2022-09-19  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * ieee/ieee_exceptions.F90: Add IEEE_MODES_TYPE, IEEE_GET_MODES
+       and IEEE_SET_MODES.
+       * ieee/ieee_arithmetic.F90: Make them public in IEEE_ARITHMETIC
+       as well.
+
+2022-09-19  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * ieee/ieee_arithmetic.F90: Add RADIX argument to
+       IEEE_SET_ROUNDING_MODE and IEEE_GET_ROUNDING_MODE.
+       * config/fpu-387.h: Add IEEE_AWAY mode.
+       * config/fpu-aarch64.h: Add IEEE_AWAY mode.
+       * config/fpu-aix.h: Add IEEE_AWAY mode.
+       * config/fpu-generic.h: Add IEEE_AWAY mode.
+       * config/fpu-glibc.h: Add IEEE_AWAY mode.
+       * config/fpu-sysv.h: Add IEEE_AWAY mode.
+
+2022-09-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/95644
+       * ieee/ieee_arithmetic.F90: Add IEEE_SIGNBIT and IEEE_FMA.
+
+2022-08-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/106579
+       * ieee/ieee_helper.c (IEEE_OTHER_VALUE, IEEE_SIGNALING_NAN,
+       IEEE_QUIET_NAN, IEEE_NEGATIVE_INF, IEEE_NEGATIVE_NORMAL,
+       IEEE_NEGATIVE_DENORMAL, IEEE_NEGATIVE_SUBNORMAL,
+       IEEE_NEGATIVE_ZERO, IEEE_POSITIVE_ZERO, IEEE_POSITIVE_DENORMAL,
+       IEEE_POSITIVE_SUBNORMAL, IEEE_POSITIVE_NORMAL, IEEE_POSITIVE_INF):
+       Move to gcc/fortran/libgfortran.h.
+
+2022-08-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/105105
+       * ieee/ieee_helper.c: Don't include issignaling_fallback.h.
+       (CLASSMACRO): Use __builtin_issignaling instead of issignaling.
+       * ieee/issignaling_fallback.h: Removed.
+
+2022-08-17  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/46539
+       * acinclude.m4 (LIBQUADSPEC): From $FC -static-libgfortran -###
+       output determine -Bstatic/-Bdynamic, -bstatic/-bdynamic,
+       -aarchive_shared/-adefault linker support or Darwin remapping
+       of -lgfortran to libgfortran.a%s and use that around or instead
+       of -lquadmath in LIBQUADSPEC.
+       * configure: Regenerated.
+
+2022-08-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libfortran/106079
+       * io/transfer.c (formatted_transfer_scalar_read,
+       formatted_transfer_scalar_write): For type BT_REAL with kind 17
+       change kind to 16 before calling read_radix or write_{b,o,z}.
+
+2022-06-29  Jakub Jelinek  <jakub@redhat.com>
+
+       * mk-kinds-h.sh: Change __float128 to _Float128 in a comment.
+       * acinclude.m4 (LIBGFOR_CHECK_MATH_IEEE128): Use _Float128 instead of
+       __float128.
+       * libgfortran.h (isnan): Change __float128 to _Float128 in a comment.
+       (__acoshieee128, __acosieee128, __asinhieee128, __asinieee128,
+       __atan2ieee128, __atanhieee128, __atanieee128, __copysignieee128,
+       __coshieee128, __cosieee128, __erfcieee128, __erfieee128,
+       __expieee128, __fabsieee128, __fmaieee128, __fmodieee128, __jnieee128,
+       __log10ieee128, __logieee128, __powieee128, __sinhieee128,
+       __sinieee128, __sqrtieee128, __tanhieee128, __tanieee128,
+       __ynieee128, __strtoieee128): Use _Float128 instead of __float128.
+       * configure: Regenerated.
+
+2022-06-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/106137
+       * acinclude.m4 (LIBGFOR_CHECK_FLOAT128): Adjust comment.
+       Also test for __float128.
+       (HAVE_FLOAT128): Adjust description.
+       * config.h.in: Regenerated.
+       * configure: Regenerated.
+
+2022-06-28  Jakub Jelinek  <jakub@redhat.com>
+
+       * configure.ac: Check for strtof128 and strfromf128.
+       Check for math and complex *f128 functions.  Set
+       have_iec_60559_libc_support to yes if *f128 support is around, for
+       --enable-libquadmath-support default to "default" rather than yes if
+       have_iec_60559_libc_support is yes.
+       * acinclude.m4 (LIBGFOR_CHECK_FLOAT128): Test
+       _Float128/_Complex _Float128 rather than __float128 and
+       _Complex float __attribute__((mode(TC))).  If libquadmath support
+       is defaulted and have_iec_60559_libc_support is yes, define and subst
+       USE_IEC_60559.  Remove unused LIBGFOR_BUILD_QUAD conditional.
+       * Makefile.am (kinds.h): Pass @USE_IEC_60559@ as an extra
+       mk-kinds-h.sh argument.
+       * mk-kinds-h.sh: Accept 4th use_iec_60559 argument.  Use
+       _Float128/_Complex _Float128 types instead of __float128 and
+       _Complex float __attribute__((mode(TC))), and if use_iec_60559 is yes,
+       use f128 suffix instead of q and define GFC_REAL_16_USE_IEC_60559.
+       * kinds-override.h: Use _Float128/_Complex _Float128 types instead of
+       __float128 and _Complex float __attribute__((mode(TC))), if
+       USE_IEC_60559 is defined, use f128 suffixes instead of q and
+       define GFC_REAL_17_USE_IEC_60559.
+       * libgfortran.h: Don't include quadmath_weak.h if USE_IEC_60559 is
+       defined.
+       (GFC_REAL_16_INFINITY, GFC_REAL_16_QUIET_NAN): Define
+       for GFC_REAL_16_USE_IEC_60559 differently.
+       * caf/single.c (convert_type): Use _Float128/_Complex _Float128
+       instead of __float128 and _Complex float __attribute__((mode(TC))).
+       For HAVE_GFC_REAL_10 when HAVE_GFC_REAL_16 isn't defined use
+       _Complex long double instead of long double.
+       * ieee/issignaling_fallback.h (ieee854_float128_shape_type): Use
+       _Float128 instead of __float128.
+       (__issignalingf128): Change argument type to _Float128.
+       (issignaling): Use _Float128 instead of __float128 in _Generic.
+       * intrinsics/cshift0.c (cshift0): Use _Float128 instead of __float128
+       in a comment.  Fix a comment typo, logn double -> long double.
+       * intrinsics/erfc_scaled.c (_THRESH, _M_2_SQRTPI, _INF, _ERFC, _EXP):
+       Use different definitions if GFC_REAL_16_USE_IEC_60559.
+       (_THRESH, _M_2_SQRTPI): Use GFC_REAL_17_LITERAL macro.
+       (_ERFC, _EXP): Use different definitions if GFC_REAL_17_USE_IEC_60559.
+       * intrinsics/spread_generic.c (spread, spread_scalar): Use _Float128
+       instead of __float128 in a comment.  Fix a comment typo,
+       logn double -> long double.
+       * intrinsics/trigd.c (ENABLE_SIND, ENABLE_COSD, ENABLE_TAND): Handle
+       GFC_REAL_16_USE_IEC_60559.
+       * intrinsics/pack_generic.c (pack): Use _Float128 instead of
+       __float128 in a comment.  Fix a comment typo, logn double ->
+       long double.
+       * intrinsics/unpack_generic.c (unpack1, unpack0): Likewise.
+       * runtime/in_pack_generic.c (internal_pack): Likewise.
+       * runtime/in_unpack_generic.c (internal_unpack): Likewise.
+       * io/read.c (convert_real, convert_infnan): Handle
+       GFC_REAL_16_USE_IEC_60559 and GFC_REAL_17_USE_IEC_60559.
+       * io/transfer128.c (tmp1, tmp2): Don't define if libquadmath
+       isn't needed.
+       * io/write_float.def (gfor_strfromf128): New function.
+       (DTOA2Q, FDTOA2Q): Define differently if
+       GFC_REAL_16_USE_IEC_60559 or GFC_REAL_17_USE_IEC_60559.
+       * m4/mtype.m4: Use different suffix if GFC_REAL_16_USE_IEC_60559
+       or GFC_REAL_17_USE_IEC_60559.
+       * config.h.in: Regenerated.
+       * configure: Regenerated.
        * Makefile.in: Regenerated.
-       * mk-kinds-h.sh: New file.
-       * runtime/ISO_Fortran_binding.c: Fix include path.
+       * generated/bessel_r16.c: Regenerated.
+       * generated/bessel_r17.c: Regenerated.
+       * generated/norm2_r16.c: Regenerated.
+       * generated/norm2_r17.c: Regenerated.
 
-2021-07-26  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
-           Tobias Burnus  <tobias@codesourcery.com>
+2022-01-26  Francois-Xavier Coudert  <fxcoudert@gmail.com>
 
-       PR fortran/93308
-       PR fortran/93963
-       PR fortran/94327
-       PR fortran/94331
-       PR fortran/97046
-       * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Add code
-       to verify the descriptor. Correct bounds calculation.
-       (gfc_desc_to_cfi_desc): Add code to verify the descriptor.
+       PR libfortran/104233
+       * ieee/issignaling_fallback.h: Check GFC_REAL_16_IS_FLOAT128
+       instead of __FLT128_IS_IEC_60559__.
 
-2021-07-22  Sandra Loosemore  <sandra@codesourcery.com>
+2022-01-25  Francois-Xavier Coudert  <fxcoudert@gmail.com>
 
-       * runtime/ISO_Fortran_binding.c (CFI_allocate): Don't use elem_len
-       for CFI_type_signed_char.
-       (CFI_select_part): Likewise.
+       * ieee/issignaling_fallback.h: Fix GCC-specific preprocessor
+       macros.
 
-2021-07-01  Tobias Burnus  <tobias@codesourcery.com>
-           Sandra Loosemore  <sandra@codesourcery.com>
+2022-01-25  Jakub Jelinek  <jakub@redhat.com>
 
-       * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc):
-       Initialize version field to 0.
-       (gfc_desc_to_cfi_desc): Initialize version field to CFI_VERSION.
+       * ieee/issignaling_fallback.h (__issignalingl): Define for
+       IBM extended long double are returning __issignaling on the
+       first double.
 
-2021-06-29  Julian Brown  <julian@codesourcery.com>
+2022-01-25  Francois-Xavier Coudert  <fxcoudert@gmail.com>
 
-       PR target/96306
-       * configure.ac: Remove stanza that removes KIND=16 integers for AMD GCN.
-       * configure: Regenerate.
+       * ieee/issignaling_fallback.h: fix preprocessor condition.
+
+2022-01-24  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
 
-2021-06-22  Sandra Loosemore  <sandra@codesourcery.com>
-           Tobias Burnus  <tobias@codesourcery.com>
-
-       PR fortran/93524
-       * runtime/ISO_Fortran_binding.c (CFI_allocate): Fix
-       sm computation.
-
-2021-06-08  Martin Liska  <mliska@suse.cz>
-
-       * intrinsics/chmod.c (chmod_internal): Fix typo.
-       * io/transfer.c (read_sf): Likewise.
-
-2021-06-05  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
+       * ieee/issignaling_fallback.h: New file.
+       * ieee/ieee_helper.c: Include issignaling_fallback.h when target
+       does not define issignaling macro.
 
-       PR fortran/100120
-       * intrinsics/associated.c (associated): have associated verify if
-       the "span" matches insted of the "elem_len".
-       * libgfortran.h (GFC_DESCRIPTOR_SPAN): add macro to retrive the
-       descriptor "span".
+2022-01-17  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
 
-2021-05-22  Andre Vehreschild  <vehre@gcc.gnu.org>
+       * ieee/issignaling_fallback.h: Remove file.
 
-       PR fortran/98301
-       * caf/libcaf.h (_gfortran_caf_random_init): New function.
-       * caf/single.c (_gfortran_caf_random_init): New function.
-       * gfortran.map: Added fndecl.
-       * intrinsics/random_init.f90: Implement random_init.
+2022-01-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
 
-2021-05-05  Tobias Burnus  <tobias@codesourcery.com>
+       * runtime/environ.c: Allow for multiple default values so that
+       separate default specifications for IBM long double format and
+       endianness are possible.
 
-       * intrinsics/chmod.c (chmod_internal): Only declare mode_mask var
-       if HAVE_UMASK.
+2022-01-16  Francois-Xavier Coudert  <fxcoudert@gmail.com>
 
-2021-05-02  Tobias Burnus  <tobias@codesourcery.com>
+       * ieee/issignaling_fallback.h: New file.
 
-       PR libgomp/100352
-       * io/transfer.c (st_read_done_worker, st_write_done_worker): Add new
-       arg whether to unlock unit.
-       (st_read_done, st_write_done): Call it with true.
-       * io/async.c (async_io): Call it with false.
-       * io/io.h (st_write_done_worker, st_read_done_worker): Update prototype.
+2022-01-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
 
-2021-03-12  Tobias Burnus  <tobias@codesourcery.com>
+       PR fortran/82207
+       * mk-kinds-h.sh: Add values for TINY.
+       * ieee/ieee_arithmetic.F90: Call C helper functions for
+       IEEE_VALUE.
+       * ieee/ieee_helper.c: New functions ieee_value_helper_N for each
+       floating-point type.
 
-       * io/transfer.c (st_read_done_worker, st_write_done_worker):
-       Call unlock_unit here, add unit_lock lock around newunit_free call.
-       (st_read_done, st_write_done): Only call unlock_unit when not
-       calling the worker function.
-       * io/unit.c (set_internal_unit): Don't reset the unit_number
-       to the same number as this cause race warnings.
+2022-01-14  Jakub Jelinek  <jakub@redhat.com>
 
-2021-03-05  Harald Anlauf  <anlauf@gmx.de>
+       PR libfortran/104006
+       * Makefile.am (BUILT_SOURCES): Don't include $(version_dep).
+       (clean-local): Remove $(version_dep).
+       * Makefile.in: Regenerated.
+
+2022-01-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libfortran/104006
+       * Makefile.am (gfortran.map-sun): Rename target to ...
+       (gfortran.ver-sun): ... this.
+       * Makefile.in: Regenerated.
+
+2022-01-12  Jakub Jelinek  <jakub@redhat.com>
 
-       PR libfortran/99218
-       * m4/matmul_internal.m4: Invoke tuned matmul only for rank(b)>1.
-       * generated/matmul_c10.c: Regenerated.
-       * generated/matmul_c16.c: Likewise.
-       * generated/matmul_c4.c: Likewise.
-       * generated/matmul_c8.c: Likewise.
-       * generated/matmul_i1.c: Likewise.
-       * generated/matmul_i16.c: Likewise.
-       * generated/matmul_i2.c: Likewise.
-       * generated/matmul_i4.c: Likewise.
-       * generated/matmul_i8.c: Likewise.
-       * generated/matmul_r10.c: Likewise.
-       * generated/matmul_r16.c: Likewise.
-       * generated/matmul_r4.c: Likewise.
-       * generated/matmul_r8.c: Likewise.
-       * generated/matmulavx128_c10.c: Likewise.
-       * generated/matmulavx128_c16.c: Likewise.
-       * generated/matmulavx128_c4.c: Likewise.
-       * generated/matmulavx128_c8.c: Likewise.
-       * generated/matmulavx128_i1.c: Likewise.
-       * generated/matmulavx128_i16.c: Likewise.
-       * generated/matmulavx128_i2.c: Likewise.
-       * generated/matmulavx128_i4.c: Likewise.
-       * generated/matmulavx128_i8.c: Likewise.
-       * generated/matmulavx128_r10.c: Likewise.
-       * generated/matmulavx128_r16.c: Likewise.
-       * generated/matmulavx128_r4.c: Likewise.
-       * generated/matmulavx128_r8.c: Likewise.
+       * libgfortran.h (POWER_IEEE128): Use __GLIBC_PREREQ in a separate
+       #if directive inside of #if ... && defined __GLIBC_PREREQ.
 
-2021-03-03  Vittorio Zecca  <zeccav@gmail.com>
-           Tobias Burnus  <tobias@codesourcery.com>
+2022-01-11  Jakub Jelinek  <jakub@redhat.com>
 
-       PR libfortran/81986
-       * runtime/string.c (gfc_itoa): Cast to unsigned before
-       negating.
+       * io/transfer.c (unformatted_read, unformatted_write): When
+       byteswapping IBM extended real(kind=16), handle it as byteswapping
+       two real(kind=8) values.
 
-2021-02-12  Steve Kargl  <sgk@troutmask.apl.washington.edu>
+2022-01-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
 
-       PR libfortran/95647
-       * ieee/ieee_arithmetic.F90: Flip interfaces of operators .eq. to
-       == and .ne. to /= .
+       * runtime/environ.c (R16_IEEE): New macro.
+       (R16_IBM): New macro.
+       (next_token): Handle IBM R16 conversion cases.
+       (push_token): Likewise.
+       (mark_single): Likewise.
+       (do_parse): Likewise, initialize endian.
 
-2021-02-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+2022-01-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
 
-       PR libfortran/98825
-       * io/transfer.c (next_record_w): Insert check for seen_dollar and if
-       so, skip issueing next record.
+       * Makefile.in: Regenerate.
+       * io/file_pos.c (unformatted_backspace): Mask off
+       R16 parts for convert.
+       * io/inquire.c (inquire_via_unit): Add cases for
+       R16 parts.
+       * io/open.c (st_open): Add cases for R16 conversion.
+       * io/transfer.c (unformatted_read): Adjust for R16 conversions.
+       (unformatted_write): Likewise.
+       (us_read): Mask of R16 bits.
+       (data_transfer_init): Likewiese.
+       (write_us_marker): Likewise.
 
-2021-01-27  Harris Snyder  <hsnyder@structura.bio>
+2022-01-11  Jakub Jelinek  <jakub@redhat.com>
 
-       * runtime/ISO_Fortran_binding.c (CFI_establish): fixed
-       strides for rank >2 arrays.
+       * Makefile.am (AM_FCFLAGS): Add -fbuilding-libgfortran after
+       -fallow-leading-underscore.
+       * Makefile.in: Regenerated.
 
-2021-01-15  Harris Snyder  <hsnyder@structura.bio>
+2022-01-11  Jakub Jelinek  <jakub@redhat.com>
+
+       * libgfortran.h (__copysignieee128, __fmaieee128, __fmodieee128):
+       Declare.
+       * intrinsics/trigd.c (COPYSIGN, FMOD, FABS, FMA, SIN, COS, TAN): If
+       POWER_IEEE128 is defined, define these for kind 17 include.
+       * intrinsics/trigd_lib.inc (COPYSIGN, FMOD, FABS, FMA, SIN, COS, TAN):
+       Don't define if COPYSIGN is already defined.
+
+2022-01-11  Jakub Jelinek  <jakub@redhat.com>
+
+       * libgfortran.h (GFC_REAL_17_INFINITY, GFC_REAL_17_QUIET_NAN): Define.
+       (__erfcieee128): Declare.
+       * intrinsics/trigd.c (_gfortran_sind_r17, _gfortran_cosd_r17,
+       _gfortran_tand_r17): Define for HAVE_GFC_REAL_17.
+       * intrinsics/random.c (random_r17, arandom_r17, rnumber_17): Define.
+       * intrinsics/erfc_scaled.c (ERFC_SCALED): Define.
+       (erfc_scaled_r16): Use ERFC_SCALED macro.
+       (erfc_scaled_r17): Define.
+
+2022-01-11  Jakub Jelinek  <jakub@redhat.com>
+
+       * io/read.c (convert_real): Add missing break; for the
+       HAVE_GFC_REAL_17 case.
+
+2022-01-11  Jakub Jelinek  <jakub@redhat.com>
+
+       * io/write_float.def (CALCULATE_EXP): If HAVE_GFC_REAL_17, also use
+       CALCULATE_EXP(17).
+       (determine_en_precision): Use 17 instead of 16 as first EN_PREC
+       argument for kind 17.
+       (get_float_string): Use 17 instead of 16 as first FORMAT_FLOAT
+       argument for kind 17.
+
+2022-01-11  Jakub Jelinek  <jakub@redhat.com>
+
+       * libgfortran.h (__acoshieee128, __acosieee128, __asinhieee128,
+       __asinieee128, __atan2ieee128, __atanhieee128, __atanieee128,
+       __coshieee128, __cosieee128, __erfieee128, __expieee128,
+       __fabsieee128, __jnieee128, __log10ieee128, __logieee128,
+       __powieee128, __sinhieee128, __sinieee128, __sqrtieee128,
+       __tanhieee128, __tanieee128, __ynieee128): Formatting fixes.
+       (__strtoieee128, __snprintfieee128): Declare.
+       * io/io.h (default_width_for_float, default_precision_for_float):
+       Handle kind == 17.
+       * io/size_from_kind.c (size_from_real_kind, size_from_complex_kind):
+       Likewise.
+       * io/read.c (set_integer, si_max, convert_real, convert_infnan,
+       read_f): Likewise.
+       * io/write.c (extract_uint, size_from_kind, set_fnode_default):
+       Likewise.
+       * io/write_float.def (DTOA2Q, FDTOA2Q): Define for HAVE_GFC_REAL_17.
+       (determine_en_precision, get_float_string): Handle kind == 17.
+       * io/transfer128.c: Use also for HAVE_GFC_REAL_17, but don't drag in
+       libquadmath if POWER_IEEE128.
+       * Makefile.am (comma, PREPROCESS): New variables.
+       (gfortran.ver): New goal.
+       (version_arg, version_dep): Use gfortran.ver instead of
+       $(srcdir)/gfortran.map.
+       (gfortran.map-sun): Depend on and use gfortran.ver instead of
+       $(srcdir)/gfortran.map.
+       (BUILT_SOURCES): Add $(version_dep).
+       * Makefile.in: Regenerated.
+       * gfortran.map (GFORTRAN_8): Don't export
+       _gfortran_transfer_complex128, _gfortran_transfer_complex128_write,
+       _gfortran_transfer_real128 and _gfortran_transfer_real128_write if
+       HAVE_GFC_REAL_17 is defined.
+       (GFORTRAN_12): Export those here instead.
+
+2022-01-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       * Makefile.am: Correct files for compilation flags. Add
+       -D__powerpc64__ for Fortran sources.  Get kinds.inc from
+       grep of kinds.h and kinds-override.h.
+       * Makefile.in: Regenerate.
+       * config.h.in: Regenerate.
+       * configure: Regenerate.
+       * configure.ac: Add -mno-gnu-attribute to compile flags.
+       * generated/_abs_c17.F90: Regenerate.
+       * generated/_abs_r17.F90: Regenerate.
+       * generated/_acos_r17.F90: Regenerate.
+       * generated/_acosh_r17.F90: Regenerate.
+       * generated/_aimag_c17.F90: Regenerate.
+       * generated/_aint_r17.F90: Regenerate.
+       * generated/_anint_r17.F90: Regenerate.
+       * generated/_asin_r17.F90: Regenerate.
+       * generated/_asinh_r17.F90: Regenerate.
+       * generated/_atan2_r17.F90: Regenerate.
+       * generated/_atan_r17.F90: Regenerate.
+       * generated/_atanh_r17.F90: Regenerate.
+       * generated/_conjg_c17.F90: Regenerate.
+       * generated/_cos_c17.F90: Regenerate.
+       * generated/_cos_r17.F90: Regenerate.
+       * generated/_cosh_r17.F90: Regenerate.
+       * generated/_dim_r17.F90: Regenerate.
+       * generated/_exp_c17.F90: Regenerate.
+       * generated/_exp_r17.F90: Regenerate.
+       * generated/_log10_r17.F90: Regenerate.
+       * generated/_log_c17.F90: Regenerate.
+       * generated/_log_r17.F90: Regenerate.
+       * generated/_mod_r17.F90: Regenerate.
+       * generated/_sign_r17.F90: Regenerate.
+       * generated/_sin_c17.F90: Regenerate.
+       * generated/_sin_r17.F90: Regenerate.
+       * generated/_sinh_r17.F90: Regenerate.
+       * generated/_sqrt_c17.F90: Regenerate.
+       * generated/_sqrt_r17.F90: Regenerate.
+       * generated/_tan_r17.F90: Regenerate.
+       * generated/_tanh_r17.F90: Regenerate.
+       * kinds-override.h: Adjust to trunk.
+       Change condition to single line so it can be grepped.
+       * m4/specific.m4: Make sure that real=kind16 is used
+       for _r17.F90 and _c17.F90 files.
+       * m4/specific2.m4: Likewise.
+
+2022-01-11  Jakub Jelinek  <jakub@redhat.com>
+
+       * libgfortran.h (internal_pack_r17, internal_pack_c17,
+       internal_unpack_r17, internal_unpack_c17, pack_r17, pack_c17,
+       unpack0_r17, unpack0_c17, unpack1_r17, unpack1_c17, spread_r17,
+       spread_c17, spread_scalar_r17, spread_scalar_c17, cshift0_r17,
+       cshift0_c17, cshift1_4_r17, cshift1_8_r17, cshift1_16_r17,
+       cshift1_4_c17, cshift1_8_c17, cshift1_16_c17): Declare.
+       * gfortran.map (GFORTRAN_12): Export *_r17 and *_c17.
+
+2022-01-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       * acinclude.m4 (LIBGFOR_CHECK_MATH_IEEE128): New macro.
+       * configure.ac: Use it.
+       * config.h.in: Regenerate.
+       * configure: Regenerate.
 
-       * runtime/ISO_Fortran_binding.c (CFI_establish): Fixed signed
-         char arrays. Signed char or uint8_t arrays would cause
-         crashes unless an element size is specified.
+2022-01-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
 
-2021-01-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+       * Makefile.am: Fix pattern substitution for _r17 and _c17.
+       * Makefile.in: Regenerate.
 
-       * configure: Re-generate.
-
-2021-01-01  Jakub Jelinek  <jakub@redhat.com>
+2022-01-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
 
-       * ChangeLog-2020: Rotate ChangeLog.  New file.
+       * Makefile.am: Add _r17 and _c17 files.  Build them
+       with -mabi=ieeelongdouble on POWER.
+       * Makefile.in: Regenerate.
+       * configure: Regenerate.
+       * configure.ac: New flag HAVE_REAL_17.
+       * kinds-override.h: (HAVE_GFC_REAL_17): New macro.
+       (HAVE_GFC_COMPLEX_17): New macro.
+       (GFC_REAL_17_HUGE): New macro.
+       (GFC_REAL_17_LITERAL_SUFFIX): New macro.
+       (GFC_REAL_17_LITERAL): New macro.
+       (GFC_REAL_17_DIGITS): New macro.
+       (GFC_REAL_17_RADIX): New macro.
+       * libgfortran.h (POWER_IEEE128): New macro.
+       (gfc_array_r17): Typedef.
+       (GFC_DTYPE_REAL_17): New macro.
+       (GFC_DTYPE_COMPLEX_17): New macro.
+       (__acoshieee128): Prototype.
+       (__acosieee128): Prototype.
+       (__asinhieee128): Prototype.
+       (__asinieee128): Prototype.
+       (__atan2ieee128): Prototype.
+       (__atanhieee128): Prototype.
+       (__atanieee128): Prototype.
+       (__coshieee128): Prototype.
+       (__cosieee128): Prototype.
+       (__erfieee128): Prototype.
+       (__expieee128): Prototype.
+       (__fabsieee128): Prototype.
+       (__jnieee128): Prototype.
+       (__log10ieee128): Prototype.
+       (__logieee128): Prototype.
+       (__powieee128): Prototype.
+       (__sinhieee128): Prototype.
+       (__sinieee128): Prototype.
+       (__sqrtieee128): Prototype.
+       (__tanhieee128): Prototype.
+       (__tanieee128): Prototype.
+       (__ynieee128): Prototype.
+       * m4/mtype.m4: Make a bit more readable. Add KIND=17.
+       * generated/_abs_c17.F90: New file.
+       * generated/_abs_r17.F90: New file.
+       * generated/_acos_r17.F90: New file.
+       * generated/_acosh_r17.F90: New file.
+       * generated/_aimag_c17.F90: New file.
+       * generated/_aint_r17.F90: New file.
+       * generated/_anint_r17.F90: New file.
+       * generated/_asin_r17.F90: New file.
+       * generated/_asinh_r17.F90: New file.
+       * generated/_atan2_r17.F90: New file.
+       * generated/_atan_r17.F90: New file.
+       * generated/_atanh_r17.F90: New file.
+       * generated/_conjg_c17.F90: New file.
+       * generated/_cos_c17.F90: New file.
+       * generated/_cos_r17.F90: New file.
+       * generated/_cosh_r17.F90: New file.
+       * generated/_dim_r17.F90: New file.
+       * generated/_exp_c17.F90: New file.
+       * generated/_exp_r17.F90: New file.
+       * generated/_log10_r17.F90: New file.
+       * generated/_log_c17.F90: New file.
+       * generated/_log_r17.F90: New file.
+       * generated/_mod_r17.F90: New file.
+       * generated/_sign_r17.F90: New file.
+       * generated/_sin_c17.F90: New file.
+       * generated/_sin_r17.F90: New file.
+       * generated/_sinh_r17.F90: New file.
+       * generated/_sqrt_c17.F90: New file.
+       * generated/_sqrt_r17.F90: New file.
+       * generated/_tan_r17.F90: New file.
+       * generated/_tanh_r17.F90: New file.
+       * generated/bessel_r17.c: New file.
+       * generated/cshift0_c17.c: New file.
+       * generated/cshift0_r17.c: New file.
+       * generated/cshift1_16_c17.c: New file.
+       * generated/cshift1_16_r17.c: New file.
+       * generated/cshift1_4_c17.c: New file.
+       * generated/cshift1_4_r17.c: New file.
+       * generated/cshift1_8_c17.c: New file.
+       * generated/cshift1_8_r17.c: New file.
+       * generated/findloc0_c17.c: New file.
+       * generated/findloc0_r17.c: New file.
+       * generated/findloc1_c17.c: New file.
+       * generated/findloc1_r17.c: New file.
+       * generated/in_pack_c17.c: New file.
+       * generated/in_pack_r17.c: New file.
+       * generated/in_unpack_c17.c: New file.
+       * generated/in_unpack_r17.c: New file.
+       * generated/matmul_c17.c: New file.
+       * generated/matmul_r17.c: New file.
+       * generated/matmulavx128_c17.c: New file.
+       * generated/matmulavx128_r17.c: New file.
+       * generated/maxloc0_16_r17.c: New file.
+       * generated/maxloc0_4_r17.c: New file.
+       * generated/maxloc0_8_r17.c: New file.
+       * generated/maxloc1_16_r17.c: New file.
+       * generated/maxloc1_4_r17.c: New file.
+       * generated/maxloc1_8_r17.c: New file.
+       * generated/maxval_r17.c: New file.
+       * generated/minloc0_16_r17.c: New file.
+       * generated/minloc0_4_r17.c: New file.
+       * generated/minloc0_8_r17.c: New file.
+       * generated/minloc1_16_r17.c: New file.
+       * generated/minloc1_4_r17.c: New file.
+       * generated/minloc1_8_r17.c: New file.
+       * generated/minval_r17.c: New file.
+       * generated/norm2_r17.c: New file.
+       * generated/pack_c17.c: New file.
+       * generated/pack_r17.c: New file.
+       * generated/pow_c17_i16.c: New file.
+       * generated/pow_c17_i4.c: New file.
+       * generated/pow_c17_i8.c: New file.
+       * generated/pow_r17_i16.c: New file.
+       * generated/pow_r17_i4.c: New file.
+       * generated/pow_r17_i8.c: New file.
+       * generated/product_c17.c: New file.
+       * generated/product_r17.c: New file.
+       * generated/reshape_c17.c: New file.
+       * generated/reshape_r17.c: New file.
+       * generated/spread_c17.c: New file.
+       * generated/spread_r17.c: New file.
+       * generated/sum_c17.c: New file.
+       * generated/sum_r17.c: New file.
+       * generated/unpack_c17.c: New file.
+       * generated/unpack_r17.c: New file.
+       * m4/ifunc.m4: New file.
+
+2022-01-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/82207
+       * Makefile.am: Pass -fsignaling-nans for IEEE files.
+       * Makefile.in: Regenerate.
+       * ieee/ieee_helper.c: Use issignaling macro to recognized
+       signaling NaNs.
 
 \f
-Copyright (C) 2021 Free Software Foundation, Inc.
+Copyright (C) 2022 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright