3fe1910509
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. asdf
79 lines
2.6 KiB
Plaintext
79 lines
2.6 KiB
Plaintext
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.
|