d3a1459cd4
Introduce math_force_eval_div to use generic division to generate INEXACT as well as INVALID and DIVZERO exceptions. libgcc/ChangeLog: * config/i386/sfp-exceptions.c (__math_force_eval): Remove. (__math_force_eval_div): New define. (__sfp_handle_exceptions): Use __math_force_eval_div to use generic division to generate INVALID, DIVZERO and INEXACT exceptions. libatomic/ChangeLog: * config/x86/fenv.c (__math_force_eval): Remove. (__math_force_eval_div): New define. (__atomic_deraiseexcept): Use __math_force_eval_div to use generic division to generate INVALID, DIVZERO and INEXACT exceptions. libgfortran/ChangeLog: * 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.
129 lines
4.4 KiB
Plaintext
129 lines
4.4 KiB
Plaintext
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 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
* 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.
|
||
|
||
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.
|
||
|
||
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 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
|
||
|
||
* configure: Regenerated.
|
||
|
||
2020-01-24 Maciej W. Rozycki <macro@wdc.com>
|
||
|
||
* configure.ac: Handle `--with-toolexeclibdir='.
|
||
* Makefile.in: Regenerate.
|
||
* aclocal.m4: Regenerate.
|
||
* configure: Regenerate.
|
||
|
||
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 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-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 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Update copyright years.
|
||
|
||
Copyright (C) 2020 Free Software Foundation, Inc.
|
||
|
||
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.
|