2020-06-14 02:16:18 +02:00
|
|
|
|
2020-06-13 Thomas Koenig <tkoenig@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
PR libfortran/95313
|
|
|
|
|
* io/write.c (ztoa_big): Disable -Wstringop-overflow for one
|
|
|
|
|
line.
|
|
|
|
|
|
2020-06-09 02:16:47 +02:00
|
|
|
|
2020-06-08 Harald Anlauf <anlauf@gmx.de>
|
|
|
|
|
|
|
|
|
|
PR fortran/95091
|
|
|
|
|
* io/transfer.c (finalize_transfer): Fix type in error message.
|
|
|
|
|
|
2020-06-02 02:16:25 +02:00
|
|
|
|
2020-06-01 Uroš Bizjak <ubizjak@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR libfortran/95418
|
|
|
|
|
* config/fpu-387.h (struct fenv): Add __attribute__ ((gcc_struct)).
|
|
|
|
|
|
2020-05-30 02:16:27 +02:00
|
|
|
|
2020-05-29 H.J. Lu <hjl.tools@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR bootstrap/95413
|
|
|
|
|
* configure: Regenerated.
|
|
|
|
|
|
|
|
|
|
2020-05-29 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libfortran/95390
|
|
|
|
|
* Makefile.am (i_findloc0_c): Add findloc0_i10.c.
|
|
|
|
|
(i_findloc1_c): Add findloc1_i10.c.
|
|
|
|
|
* gfortran.map (GFORTRAN_10.2): New symbol version, export
|
|
|
|
|
_gfortran_{,m,s}findloc{0,1}_c10 symbols.
|
|
|
|
|
* Makefile.in: Regenerated.
|
|
|
|
|
* generated/findloc0_c10.c: Generated.
|
|
|
|
|
* generated/findloc1_c10.c: Generated.
|
|
|
|
|
|
2020-05-29 02:16:23 +02:00
|
|
|
|
2020-05-28 Harald Anlauf <anlauf@gmx.de>
|
|
|
|
|
|
|
|
|
|
PR libfortran/95104
|
|
|
|
|
* io/unit.c (unlock_unit): Guard by check for NULL pointer.
|
|
|
|
|
|
2020-05-27 09:45:56 +02:00
|
|
|
|
2020-05-26 Harald Anlauf <anlauf@gmx.de>
|
|
|
|
|
Steven G. Kargl <kargl@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
PR libfortran/95104
|
|
|
|
|
* io/transfer.c (st_wait_async): Do not dereference NULL pointer.
|
|
|
|
|
|
|
|
|
|
2020-05-26 Harald Anlauf <anlauf@gmx.de>
|
|
|
|
|
|
|
|
|
|
PR fortran/95195
|
|
|
|
|
* io/transfer.c (finalize_transfer): Generate runtime error for
|
|
|
|
|
namelist input/output to unformatted file.
|
|
|
|
|
|
2020-05-23 19:01:43 +02:00
|
|
|
|
2020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
PR libfortran/95191
|
|
|
|
|
* io/async.c (async_wait_id): Generate error if ID is higher
|
|
|
|
|
than the highest current ID.
|
|
|
|
|
* runtime/error.c (translate_error): Handle LIBERROR_BAD_WAIT_ID.
|
|
|
|
|
|
2020-05-21 12:54:32 +02:00
|
|
|
|
2020-05-21 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* m4/matmul.m4: Don't include <config/i386/cpuinfo.h>. Use
|
|
|
|
|
__builtin_cpu_is/__builtin_cpu_supports
|
|
|
|
|
* 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.
|
|
|
|
|
|
2020-05-15 18:06:50 +02:00
|
|
|
|
2020-05-15 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR bootstrap/95147
|
|
|
|
|
* configure: Regenerated.
|
|
|
|
|
|
2020-05-14 18:30:27 +02:00
|
|
|
|
2020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
PR libfortran/95119
|
|
|
|
|
* io/close.c (close_status): Add CLOSE_INVALID.
|
|
|
|
|
(st_close): Return early on invalid STATUS parameter.
|
|
|
|
|
|
|
|
|
|
2020-05-14 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* configure: Regenerated.
|
|
|
|
|
|
2020-05-06 23:01:32 +02:00
|
|
|
|
2020-05-06 Uroš Bizjak <ubizjak@gmail.com>
|
|
|
|
|
|
|
|
|
|
* 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.
|
|
|
|
|
|
2020-05-01 19:20:57 +02:00
|
|
|
|
2020-05-01 Uroš Bizjak <ubizjak@gmail.com>
|
|
|
|
|
|
|
|
|
|
* config/fpu-387.h (__math_force_eval): New define.
|
2020-05-06 23:01:32 +02:00
|
|
|
|
(local_feraiseexcept): Use __math_force_eval to evaluate
|
2020-05-01 19:20:57 +02:00
|
|
|
|
generic division to generate INVALID and DIVZERO exceptions.
|
|
|
|
|
|
2020-04-22 17:45:22 +02:00
|
|
|
|
2020-04-22 Fritz Reese <foreese@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
* 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.
|
|
|
|
|
|
libgfortran: Provide some further math library fallbacks [PR94694]
The following patch provides some further math library fallbacks.
fmaf can be implemented using fma if available, fma and fmal can use
x * y + z as fallback, it is not perfect, but e.g. glibc on various arches
has been using that as fallback for many years,
and copysign/copysignl/fabs/fabsl can be implemented using corresponding
__builtin_* if we make sure that gcc expands it inline instead of using
a library call (these days it is expanded inline on most targets).
2020-04-22 Jakub Jelinek <jakub@redhat.com>
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
* configure: Regenerated.
* config.h.in: Regenerated.
* math.m4 (GCC_CHECK_MATH_INLINE_BUILTIN_FALLBACK1,
GCC_CHECK_MATH_INLINE_BUILTIN_FALLBACK2): New.
2020-04-22 19:17:15 +02:00
|
|
|
|
2020-04-22 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
* configure: Regenerated.
|
|
|
|
|
* config.h.in: Regenerated.
|
|
|
|
|
|
2020-04-19 14:23:47 +02:00
|
|
|
|
2020-04-19 Uroš Bizjak <ubizjak@gmail.com>
|
|
|
|
|
|
|
|
|
|
* config/fpu-387.h (local_feraiseexcept) [__SSE_MATH__]:
|
|
|
|
|
Remove unneeded assignments to volatile memory.
|
|
|
|
|
|
Fix PR fortran/93871 and re-implement degree-valued trigonometric intrinsics.
2020-04-01 Fritz Reese <foreese@gcc.gnu.org>
Steven G. Kargl <kargl@gcc.gnu.org>
gcc/fortran/ChangeLog
PR fortran/93871
* gfortran.h (GFC_ISYM_ACOSD, GFC_ISYM_ASIND, GFC_ISYM_ATAN2D,
GFC_ISYM_ATAND, GFC_ISYM_COSD, GFC_ISYM_COTAND, GFC_ISYM_SIND,
GFC_ISYM_TAND): New.
* intrinsic.c (add_functions): Remove check for flag_dec_math.
Give degree trig functions simplification and name resolution
functions (e.g, gfc_simplify_atrigd () and gfc_resolve_atrigd ()).
(do_simplify): Remove special casing of degree trig functions.
* intrinsic.h (gfc_simplify_acosd, gfc_simplify_asind,
gfc_simplify_atand, gfc_simplify_cosd, gfc_simplify_cotand,
gfc_simplify_sind, gfc_simplify_tand, gfc_resolve_trigd2): Add new
prototypes.
(gfc_simplify_atrigd, gfc_simplify_trigd, gfc_resolve_cotan,
resolve_atrigd): Remove prototypes of deleted functions.
* iresolve.c (is_trig_resolved, copy_replace_function_shallow,
gfc_resolve_cotan, get_radians, get_degrees, resolve_trig_call,
gfc_resolve_atrigd, gfc_resolve_atan2d): Delete functions.
(gfc_resolve_trigd, gfc_resolve_trigd2): Resolve to library functions.
* simplify.c (rad2deg, deg2rad, gfc_simplify_acosd, gfc_simplify_asind,
gfc_simplify_atand, gfc_simplify_atan2d, gfc_simplify_cosd,
gfc_simplify_sind, gfc_simplify_tand, gfc_simplify_cotand): New
functions.
(gfc_simplify_atan2): Fix error message.
(simplify_trig_call, gfc_simplify_trigd, gfc_simplify_atrigd,
radians_f): Delete functions.
* trans-intrinsic.c: Add LIB_FUNCTION decls for sind, cosd, tand.
(rad2deg, gfc_conv_intrinsic_atrigd, gfc_conv_intrinsic_cotan,
gfc_conv_intrinsic_cotand, gfc_conv_intrinsic_atan2d): New functions.
(gfc_conv_intrinsic_function): Handle ACOSD, ASIND, ATAND, COTAN,
COTAND, ATAN2D.
* trigd_fe.inc: New file. Included by simplify.c to implement
simplify_sind, simplify_cosd, simplify_tand with code common to the
libgfortran implementation.
gcc/testsuite/ChangeLog
PR fortran/93871
* gfortran.dg/dec_math.f90: Extend coverage to real(10) and real(16).
* gfortran.dg/dec_math_2.f90: New test.
* gfortran.dg/dec_math_3.f90: Likewise.
* gfortran.dg/dec_math_4.f90: Likewise.
* gfortran.dg/dec_math_5.f90: Likewise.
libgfortran/ChangeLog
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-04-07 17:59:36 +02:00
|
|
|
|
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-13 22:22:04 +01:00
|
|
|
|
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 21:20:15 +01:00
|
|
|
|
2020-02-12 Sandra Loosemore <sandra@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/79193
|
|
|
|
|
PR libstdc++/88999
|
|
|
|
|
|
|
|
|
|
* configure: Regenerated.
|
|
|
|
|
|
2020-01-24 12:24:25 +01:00
|
|
|
|
2020-01-24 Maciej W. Rozycki <macro@wdc.com>
|
|
|
|
|
|
|
|
|
|
* configure.ac: Handle `--with-toolexeclibdir='.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
* aclocal.m4: Regenerate.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2020-01-18 04:36:03 +01:00
|
|
|
|
2020-01-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
PR libfortran/93234
|
|
|
|
|
* io/unit.c (set_internal_unit): Set round and sign flags
|
|
|
|
|
correctly.
|
|
|
|
|
|
2020-01-17 20:26:10 +01:00
|
|
|
|
2020-01-17 Jerry DeLisle <jvdelisle@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.
|
|
|
|
|
|
2020-01-02 01:57:31 +01:00
|
|
|
|
2020-01-01 Jerry DeLisle <jvdelisle@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.
|
|
|
|
|
|
2020-01-01 12:51:42 +01:00
|
|
|
|
2020-01-01 Jakub Jelinek <jakub@redhat.com>
|
2018-01-03 11:03:58 +01:00
|
|
|
|
|
|
|
|
|
Update copyright years.
|
2016-01-04 15:30:50 +01:00
|
|
|
|
|
2020-01-01 12:51:42 +01:00
|
|
|
|
Copyright (C) 2020 Free Software Foundation, Inc.
|
2010-01-04 09:59:59 +01:00
|
|
|
|
|
|
|
|
|
Copying and distribution of this file, with or without modification,
|
|
|
|
|
are permitted in any medium without royalty provided the copyright
|
|
|
|
|
notice and this notice are preserved.
|