summaryrefslogtreecommitdiff
path: root/libgfortran/ChangeLog
blob: 94c7e0f105da0c348281bd9891802d427e3bcf15 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
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.