-2020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
+2022-10-12 Martin Liska <mliska@suse.cz>
- PR libfortran/95119
- * io/close.c (close_status): Add CLOSE_INVALID.
- (st_close): Return early on invalid STATUS parameter.
+ * configure: Regenerate.
-2020-05-14 H.J. Lu <hongjiu.lu@intel.com>
+2022-10-11 Olivier Hainque <hainque@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
- * configure: Regenerated.
+ * configure: Regenerate.
-2020-05-14 H.J. Lu <hongjiu.lu@intel.com>
+2022-10-10 LIU Hao <lh_mouse@126.com>
- * configure: Regenerated.
+ * 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>
-2020-05-06 Uroš Bizjak <ubizjak@gmail.com>
+ * gfortran.map: Add symbols for IEEE_GET_MODES
+ and IEEE_SET_MODES.
- * config/fpu-387.h (__math_force_eval): Remove.
- (__math_force_eval_div): New define.
- (local_feraiseexcept): Use __math_force_eval_div to use
- generic division to generate INVALID, DIVZERO and INEXACT
- exceptions.
- (struct fenv): Define named struct instead of typedef.
+2022-09-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-2020-05-01 Uroš Bizjak <ubizjak@gmail.com>
+ * 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.
- * config/fpu-387.h (__math_force_eval): New define.
- (local_feraiseexcept): Use __math_force_eval to evaluate
- generic division to generate INVALID and DIVZERO exceptions.
+2022-09-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-2020-04-22 Fritz Reese <foreese@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.
- * intrinsics/trigd.c, intrinsics/trigd_lib.inc, intrinsics/trigd.inc:
- Guard against unavailable math functions.
- Use suffixes from kinds.h based on the REAL kind.
+2022-09-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-2020-04-22 Jakub Jelinek <jakub@redhat.com>
+ PR fortran/95644
+ * ieee/ieee_arithmetic.F90: Add IEEE_SIGNBIT and IEEE_FMA.
- PR libfortran/94694
- PR libfortran/94586
- * configure.ac: Add math func checks for fmaf, fma and fmal. Add
- HAVE_INLINE_BUILTIN_COPYSIGN check.
- * c99_protos.h (copysign, fmaf, fma, fmal): Provide fallback
- prototypes.
- (HAVE_COPYSIGN, HAVE_FMAF, HAVE_FMA, HAVE_FMAL): Define if not
- defined and fallback version is provided.
- * intrinsics/c99_functions.c (copysign, fmaf, fma, fmal): Provide
- fallback implementations if possible
+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.
- * config.h.in: Regenerated.
-2020-04-19 Uroš Bizjak <ubizjak@gmail.com>
-
- * config/fpu-387.h (local_feraiseexcept) [__SSE_MATH__]:
- Remove unneeded assignments to volatile memory.
-
-2020-04-01 Fritz Reese <foreese@gcc.gnu.org>
- Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/93871
- * Makefile.am, Makefile.in: New make rule for intrinsics/trigd.c.
- * gfortran.map: New routines for {sind, cosd, tand}X{r4, r8, r10, r16}.
- * intrinsics/trigd.c, intrinsics/trigd_lib.inc, intrinsics/trigd.inc:
- New files. Defines native degree-valued trig functions.
-
-2020-02-18 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/93599
- * io/async.c (destroy_adv_cond): Do not destroy lock.
- (async_io): Make sure au->lock is locked for finishing of thread.
- Do not lock/unlock around signalling emptysignal. Unlock au->lock
- before return.
- (init_adv_cond): Do not initialize lock.
- (enqueue_transfer): Unlock after signal.
- (enqueue_done_id): Likewise.
- (enqueue_done): Likewise.
- (enqueue_close): Likewise.
- (enqueue_data_transfer): Likewise.
- (async_wait_id): Do not lock/unlock around signalling au->work.
- (async_wait): Unlock after signal.
- * io/async.h (SIGNAL): Add comment about needed au->lock.
- Remove locking/unlocking of advcond->lock.
- (WAIT_SIGNAL_MUTEX): Add comment. Remove locking/unlocking of
- advcond->lock. Unlock mutex only at the end. Loop on
- __ghread_cond_wait returning zero.
- (REVOKE_SIGNAL): Add comment. Remove locking/unlocking of
- advcond->lock.
- (struct adv_cond): Remove mutex from struct.
-
-2020-02-12 Sandra Loosemore <sandra@codesourcery.com>
-
- PR libstdc++/79193
- PR libstdc++/88999
+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.
-2020-01-24 Maciej W. Rozycki <macro@wdc.com>
+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.
+ * generated/bessel_r16.c: Regenerated.
+ * generated/bessel_r17.c: Regenerated.
+ * generated/norm2_r16.c: Regenerated.
+ * generated/norm2_r17.c: Regenerated.
- * configure.ac: Handle `--with-toolexeclibdir='.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
+2022-01-26 Francois-Xavier Coudert <fxcoudert@gmail.com>
+
+ PR libfortran/104233
+ * ieee/issignaling_fallback.h: Check GFC_REAL_16_IS_FLOAT128
+ instead of __FLT128_IS_IEC_60559__.
+
+2022-01-25 Francois-Xavier Coudert <fxcoudert@gmail.com>
+
+ * ieee/issignaling_fallback.h: Fix GCC-specific preprocessor
+ macros.
+
+2022-01-25 Jakub Jelinek <jakub@redhat.com>
+
+ * ieee/issignaling_fallback.h (__issignalingl): Define for
+ IBM extended long double are returning __issignaling on the
+ first double.
+
+2022-01-25 Francois-Xavier Coudert <fxcoudert@gmail.com>
+
+ * ieee/issignaling_fallback.h: fix preprocessor condition.
-2020-01-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+2022-01-24 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
- PR libfortran/93234
- * io/unit.c (set_internal_unit): Set round and sign flags
- correctly.
+ * ieee/issignaling_fallback.h: New file.
+ * ieee/ieee_helper.c: Include issignaling_fallback.h when target
+ does not define issignaling macro.
-2020-01-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+2022-01-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
- PR libfortran/90374
- * io/format.c (parse_format_list): Zero width not allowed with
- FMT_D.
- * io/write_float.def (build_float_string): Include range of
- higher exponent values that require wider width.
+ * ieee/issignaling_fallback.h: Remove file.
-2020-01-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+2022-01-17 Thomas Koenig <tkoenig@gcc.gnu.org>
- PR libfortran/90374
- * io/format.c (parse_format_list): Implement the E0 exponent
- width to provide smallest possible width for exponent fields.
- Refactor code for correct parsing and better readability of the
- code.
- * io/io.h (write_real_w0): Change interface to pass in pointer
- to fnode.
- * io/transfer.c: Update all calls to write_real_w0 to use the
- new interface.
- * io/write.c ((write_real_w0): Use the new interface with fnode
- to access both the decimal precision and exponent widths used in
- build_float_string.
- * io/write_float.def (build_float_string): Use the passed in
- exponent width to calculate the used width in the case of E0.
+ * runtime/environ.c: Allow for multiple default values so that
+ separate default specifications for IBM long double format and
+ endianness are possible.
-2020-01-01 Jakub Jelinek <jakub@redhat.com>
+2022-01-16 Francois-Xavier Coudert <fxcoudert@gmail.com>
+
+ * ieee/issignaling_fallback.h: New file.
+
+2022-01-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ 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.
+
+2022-01-14 Jakub Jelinek <jakub@redhat.com>
+
+ 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>
+
+ * libgfortran.h (POWER_IEEE128): Use __GLIBC_PREREQ in a separate
+ #if directive inside of #if ... && defined __GLIBC_PREREQ.
+
+2022-01-11 Jakub Jelinek <jakub@redhat.com>
+
+ * io/transfer.c (unformatted_read, unformatted_write): When
+ byteswapping IBM extended real(kind=16), handle it as byteswapping
+ two real(kind=8) values.
+
+2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * 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.
+
+2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * 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.
+
+2022-01-11 Jakub Jelinek <jakub@redhat.com>
+
+ * Makefile.am (AM_FCFLAGS): Add -fbuilding-libgfortran after
+ -fallow-leading-underscore.
+ * Makefile.in: Regenerated.
+
+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.
+
+2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * Makefile.am: Fix pattern substitution for _r17 and _c17.
+ * Makefile.in: Regenerate.
+
+2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * 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.
- Update copyright years.
\f
-Copyright (C) 2020 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