c2358cbe4e75172638ecb88503899de1c1292d07
[gcc.git] / libgfortran / ChangeLog
1 2020-06-01 Uroš Bizjak <ubizjak@gmail.com>
2
3 PR libfortran/95418
4 * config/fpu-387.h (struct fenv): Add __attribute__ ((gcc_struct)).
5
6 2020-05-29 H.J. Lu <hjl.tools@gmail.com>
7
8 PR bootstrap/95413
9 * configure: Regenerated.
10
11 2020-05-29 Jakub Jelinek <jakub@redhat.com>
12
13 PR libfortran/95390
14 * Makefile.am (i_findloc0_c): Add findloc0_i10.c.
15 (i_findloc1_c): Add findloc1_i10.c.
16 * gfortran.map (GFORTRAN_10.2): New symbol version, export
17 _gfortran_{,m,s}findloc{0,1}_c10 symbols.
18 * Makefile.in: Regenerated.
19 * generated/findloc0_c10.c: Generated.
20 * generated/findloc1_c10.c: Generated.
21
22 2020-05-28 Harald Anlauf <anlauf@gmx.de>
23
24 PR libfortran/95104
25 * io/unit.c (unlock_unit): Guard by check for NULL pointer.
26
27 2020-05-26 Harald Anlauf <anlauf@gmx.de>
28 Steven G. Kargl <kargl@gcc.gnu.org>
29
30 PR libfortran/95104
31 * io/transfer.c (st_wait_async): Do not dereference NULL pointer.
32
33 2020-05-26 Harald Anlauf <anlauf@gmx.de>
34
35 PR fortran/95195
36 * io/transfer.c (finalize_transfer): Generate runtime error for
37 namelist input/output to unformatted file.
38
39 2020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
40
41 PR libfortran/95191
42 * io/async.c (async_wait_id): Generate error if ID is higher
43 than the highest current ID.
44 * runtime/error.c (translate_error): Handle LIBERROR_BAD_WAIT_ID.
45
46 2020-05-21 H.J. Lu <hongjiu.lu@intel.com>
47
48 * m4/matmul.m4: Don't include <config/i386/cpuinfo.h>. Use
49 __builtin_cpu_is/__builtin_cpu_supports
50 * generated/matmul_c10.c: Regenerated.
51 * generated/matmul_c16.c: Likewise.
52 * generated/matmul_c4.c: Likewise.
53 * generated/matmul_c8.c: Likewise.
54 * generated/matmul_i1.c: Likewise.
55 * generated/matmul_i16.c: Likewise.
56 * generated/matmul_i2.c: Likewise.
57 * generated/matmul_i4.c: Likewise.
58 * generated/matmul_i8.c: Likewise.
59 * generated/matmul_r10.c: Likewise.
60 * generated/matmul_r16.c: Likewise.
61 * generated/matmul_r4.c: Likewise.
62 * generated/matmul_r8.c: Likewise.
63
64 2020-05-15 H.J. Lu <hongjiu.lu@intel.com>
65
66 PR bootstrap/95147
67 * configure: Regenerated.
68
69 2020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
70
71 PR libfortran/95119
72 * io/close.c (close_status): Add CLOSE_INVALID.
73 (st_close): Return early on invalid STATUS parameter.
74
75 2020-05-14 H.J. Lu <hongjiu.lu@intel.com>
76
77 * configure: Regenerated.
78
79 2020-05-06 Uroš Bizjak <ubizjak@gmail.com>
80
81 * config/fpu-387.h (__math_force_eval): Remove.
82 (__math_force_eval_div): New define.
83 (local_feraiseexcept): Use __math_force_eval_div to use
84 generic division to generate INVALID, DIVZERO and INEXACT
85 exceptions.
86 (struct fenv): Define named struct instead of typedef.
87
88 2020-05-01 Uroš Bizjak <ubizjak@gmail.com>
89
90 * config/fpu-387.h (__math_force_eval): New define.
91 (local_feraiseexcept): Use __math_force_eval to evaluate
92 generic division to generate INVALID and DIVZERO exceptions.
93
94 2020-04-22 Fritz Reese <foreese@gcc.gnu.org>
95
96 * intrinsics/trigd.c, intrinsics/trigd_lib.inc, intrinsics/trigd.inc:
97 Guard against unavailable math functions.
98 Use suffixes from kinds.h based on the REAL kind.
99
100 2020-04-22 Jakub Jelinek <jakub@redhat.com>
101
102 PR libfortran/94694
103 PR libfortran/94586
104 * configure.ac: Add math func checks for fmaf, fma and fmal. Add
105 HAVE_INLINE_BUILTIN_COPYSIGN check.
106 * c99_protos.h (copysign, fmaf, fma, fmal): Provide fallback
107 prototypes.
108 (HAVE_COPYSIGN, HAVE_FMAF, HAVE_FMA, HAVE_FMAL): Define if not
109 defined and fallback version is provided.
110 * intrinsics/c99_functions.c (copysign, fmaf, fma, fmal): Provide
111 fallback implementations if possible
112 * configure: Regenerated.
113 * config.h.in: Regenerated.
114
115 2020-04-19 Uroš Bizjak <ubizjak@gmail.com>
116
117 * config/fpu-387.h (local_feraiseexcept) [__SSE_MATH__]:
118 Remove unneeded assignments to volatile memory.
119
120 2020-04-01 Fritz Reese <foreese@gcc.gnu.org>
121 Steven G. Kargl <kargl@gcc.gnu.org>
122
123 PR fortran/93871
124 * Makefile.am, Makefile.in: New make rule for intrinsics/trigd.c.
125 * gfortran.map: New routines for {sind, cosd, tand}X{r4, r8, r10, r16}.
126 * intrinsics/trigd.c, intrinsics/trigd_lib.inc, intrinsics/trigd.inc:
127 New files. Defines native degree-valued trig functions.
128
129 2020-02-18 Thomas Koenig <tkoenig@gcc.gnu.org>
130
131 PR fortran/93599
132 * io/async.c (destroy_adv_cond): Do not destroy lock.
133 (async_io): Make sure au->lock is locked for finishing of thread.
134 Do not lock/unlock around signalling emptysignal. Unlock au->lock
135 before return.
136 (init_adv_cond): Do not initialize lock.
137 (enqueue_transfer): Unlock after signal.
138 (enqueue_done_id): Likewise.
139 (enqueue_done): Likewise.
140 (enqueue_close): Likewise.
141 (enqueue_data_transfer): Likewise.
142 (async_wait_id): Do not lock/unlock around signalling au->work.
143 (async_wait): Unlock after signal.
144 * io/async.h (SIGNAL): Add comment about needed au->lock.
145 Remove locking/unlocking of advcond->lock.
146 (WAIT_SIGNAL_MUTEX): Add comment. Remove locking/unlocking of
147 advcond->lock. Unlock mutex only at the end. Loop on
148 __ghread_cond_wait returning zero.
149 (REVOKE_SIGNAL): Add comment. Remove locking/unlocking of
150 advcond->lock.
151 (struct adv_cond): Remove mutex from struct.
152
153 2020-02-12 Sandra Loosemore <sandra@codesourcery.com>
154
155 PR libstdc++/79193
156 PR libstdc++/88999
157
158 * configure: Regenerated.
159
160 2020-01-24 Maciej W. Rozycki <macro@wdc.com>
161
162 * configure.ac: Handle `--with-toolexeclibdir='.
163 * Makefile.in: Regenerate.
164 * aclocal.m4: Regenerate.
165 * configure: Regenerate.
166
167 2020-01-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
168
169 PR libfortran/93234
170 * io/unit.c (set_internal_unit): Set round and sign flags
171 correctly.
172
173 2020-01-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
174
175 PR libfortran/90374
176 * io/format.c (parse_format_list): Zero width not allowed with
177 FMT_D.
178 * io/write_float.def (build_float_string): Include range of
179 higher exponent values that require wider width.
180
181 2020-01-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
182
183 PR libfortran/90374
184 * io/format.c (parse_format_list): Implement the E0 exponent
185 width to provide smallest possible width for exponent fields.
186 Refactor code for correct parsing and better readability of the
187 code.
188 * io/io.h (write_real_w0): Change interface to pass in pointer
189 to fnode.
190 * io/transfer.c: Update all calls to write_real_w0 to use the
191 new interface.
192 * io/write.c ((write_real_w0): Use the new interface with fnode
193 to access both the decimal precision and exponent widths used in
194 build_float_string.
195 * io/write_float.def (build_float_string): Use the passed in
196 exponent width to calculate the used width in the case of E0.
197
198 2020-01-01 Jakub Jelinek <jakub@redhat.com>
199
200 Update copyright years.
201 \f
202 Copyright (C) 2020 Free Software Foundation, Inc.
203
204 Copying and distribution of this file, with or without modification,
205 are permitted in any medium without royalty provided the copyright
206 notice and this notice are preserved.