ae50f915e7bbb404109293db8cecb0bb141db6ae
[gcc.git] / libgfortran / ChangeLog
1 2020-11-26 Maciej W. Rozycki <macro@linux-mips.org>
2
3 * io/io.h [HAVE_NEWLOCALE]: Also check for HAVE_FREELOCALE and
4 HAVE_USELOCALE.
5 [HAVE_FREELOCALE && HAVE_NEWLOCALE && HAVE_USELOCALE]
6 (HAVE_POSIX_2008_LOCALE): New macro.
7 (st_parameter_dt) [HAVE_NEWLOCALE]: Check for
8 HAVE_POSIX_2008_LOCALE instead.
9 * io/transfer.c (data_transfer_init_worker, finalize_transfer)
10 [HAVE_USELOCALE]: Check for HAVE_POSIX_2008_LOCALE instead.
11 * io/unit.c [HAVE_NEWLOCALE]: Likewise.
12 (init_units) [HAVE_NEWLOCALE]: Likewise.
13 (close_units) [HAVE_FREELOCALE]: Likewise.
14 * runtime/error.c (gf_strerror) [HAVE_USELOCALE]: Likewise.
15
16 2020-11-26 Maciej W. Rozycki <macro@linux-mips.org>
17
18 * libgfortran.h: Use #if rather than #ifdef with
19 __FLT_HAS_INFINITY__, __DBL_HAS_INFINITY__,
20 __LDBL_HAS_INFINITY__, __FLT_HAS_QUIET_NAN__,
21 __DBL_HAS_QUIET_NAN__, and __LDBL_HAS_QUIET_NAN__.
22
23 2020-11-21 Iain Sandoe <iain@sandoe.co.uk>
24
25 * intrinsics/execute_command_line.c (environ): Use
26 _NSGetEnviron to get the environment pointer on Darwin.
27
28 2020-10-30 Harald Anlauf <anlauf@gmx.de>
29
30 * intrinsics/random.c (SZ_IN_INT_4): Define size of state in int32_t.
31 (SZ_IN_INT_8): Define size of state in int64_t.
32 (SZ): Remove.
33 (random_seed_i4): Use size SZ_IN_INT_4 instead of SZ.
34 (random_seed_i8): Use size SZ_IN_INT_8 instead of SZ.
35
36 2020-10-18 Harald Anlauf <anlauf@gmx.de>
37
38 * m4/matmul_internal.m4: Move check for rank-1 times rank-2 before
39 checks on strides for rank-2 times rank-2.
40 * generated/matmul_c10.c: Regenerated.
41 * generated/matmul_c16.c: Likewise.
42 * generated/matmul_c4.c: Likewise.
43 * generated/matmul_c8.c: Likewise.
44 * generated/matmul_i1.c: Likewise.
45 * generated/matmul_i16.c: Likewise.
46 * generated/matmul_i2.c: Likewise.
47 * generated/matmul_i4.c: Likewise.
48 * generated/matmul_i8.c: Likewise.
49 * generated/matmul_r10.c: Likewise.
50 * generated/matmul_r16.c: Likewise.
51 * generated/matmul_r4.c: Likewise.
52 * generated/matmul_r8.c: Likewise.
53 * generated/matmulavx128_c10.c: Likewise.
54 * generated/matmulavx128_c16.c: Likewise.
55 * generated/matmulavx128_c4.c: Likewise.
56 * generated/matmulavx128_c8.c: Likewise.
57 * generated/matmulavx128_i1.c: Likewise.
58 * generated/matmulavx128_i16.c: Likewise.
59 * generated/matmulavx128_i2.c: Likewise.
60 * generated/matmulavx128_i4.c: Likewise.
61 * generated/matmulavx128_i8.c: Likewise.
62 * generated/matmulavx128_r10.c: Likewise.
63 * generated/matmulavx128_r16.c: Likewise.
64 * generated/matmulavx128_r4.c: Likewise.
65 * generated/matmulavx128_r8.c: Likewise.
66
67 2020-09-28 Tobias Burnus <tobias@codesourcery.com>
68
69 * m4/unpack.m4 (unpack0_'rtype_code`,
70 unpack1_'rtype_code`): Move 'rstride[0]' initialization outside
71 conditional branch to silence -Wmaybe-uninitialized.
72 * generated/unpack_c10.c: Regenerate.
73 * generated/unpack_c16.c: Regenerate.
74 * generated/unpack_c4.c: Regenerate.
75 * generated/unpack_c8.c: Regenerate.
76 * generated/unpack_i1.c: Regenerate.
77 * generated/unpack_i16.c: Regenerate.
78 * generated/unpack_i2.c: Regenerate.
79 * generated/unpack_i4.c: Regenerate.
80 * generated/unpack_i8.c: Regenerate.
81 * generated/unpack_r10.c: Regenerate.
82 * generated/unpack_r16.c: Regenerate.
83 * generated/unpack_r4.c: Regenerate.
84 * generated/unpack_r8.c: Regenerate.
85
86 2020-09-27 Clement Chigot <clement.chigot@atos.net>
87
88 * config/t-aix: Use $(AR) without -X32_64.
89
90 2020-09-03 Harald Anlauf <anlauf@gmx.de>
91
92 * m4/iall.m4: Initial value for result should be -1.
93 * generated/iall_i1.c (miall_i1): Generated.
94 * generated/iall_i16.c (miall_i16): Likewise.
95 * generated/iall_i2.c (miall_i2): Likewise.
96 * generated/iall_i4.c (miall_i4): Likewise.
97 * generated/iall_i8.c (miall_i8): Likewise.
98
99 2020-08-24 Mark Eggleston <markeggleston@gcc.gnu.org>
100
101 PR fortran/96486
102 * intrinsics/env.c: If value_len is > 0 blank the string.
103 Copy the result only if its length is > 0.
104
105 2020-08-20 Mark Eggleston <markeggleston@gcc.gnu.org>
106
107 PR fortran/96436
108 * io/format.c (parse_format_list): Add new local variable
109 "standard" to hold the required standard to check. If the
110 format width is zero select standard depending on descriptor.
111 Call notification_std using the new standard variable.
112
113 2020-08-17 David Edelsohn <dje.gcc@gmail.com>
114 Clement Chigot <clement.chigot@atos.net>
115
116 * config/t-aix: Add complementary mode object file to libcaf_single.a.
117
118 2020-08-03 Tobias Burnus <tobias@codesourcery.com>
119
120 * caf/single.c (_gfortran_caf_lock): Fix typo.
121
122 2020-07-26 Tobias Burnus <tobias@codesourcery.com>
123
124 PR target/96306
125 * configure.ac: Add LIBGOMP_CHECKED_INT_KINDS and
126 LIBGOMP_CHECKED_REAL_KINDS and use it for to skip
127 integer kind=16 checks for amdgcn.
128 * Makefile.am (kinds.h, selected_int_kind.inc,
129 selected_real_kind.inc): Pass them on.
130 * mk-kinds-h.sh: Takes to-be-check kinds as argument.
131 * mk-sik-inc.sh: Likewise.
132 * mk-srk-inc.sh: Likewise.
133 * Makefile.in: Regenerate.
134 * configure: Regenerate.
135
136 2020-07-24 Dominique d'Humieres <dhumieres.dominique@free.fr>
137
138 PR fortran/93567
139 * io/write_float.def (determine_en_precision): Fix switch between
140 FMT_E and FMT_F.
141
142 2020-07-24 Dominique d'Humieres <dhumieres.dominique@free.fr>
143
144 PR fortran/93592
145 * io/write_float.def (build_float_string): Do not reset
146 nbefore for FMT_F and FMT_EN.
147
148 2020-07-14 David Edelsohn <dje.gcc@gmail.com>
149
150 * config/t-aix: Set BITS from compiler cpp macro.
151
152 2020-06-22 David Edelsohn <dje.gcc@gmail.com>
153
154 * Makefile.am: Use -include.
155 * Makefile.in: Regenerate.
156
157 2020-06-21 David Edelsohn <dje.gcc@gmail.com>
158
159 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
160 * Makefile.in: Regenerate.
161 * configure.ac (tmake_file): Substitute.
162 * configure: Regenerate.
163 * configure.host: Add system configury stanza. Define tmake_file.
164 * config/t-aix: New file.
165
166 2020-06-13 Thomas Koenig <tkoenig@gcc.gnu.org>
167
168 PR libfortran/95313
169 * io/write.c (ztoa_big): Disable -Wstringop-overflow for one
170 line.
171
172 2020-06-08 Harald Anlauf <anlauf@gmx.de>
173
174 PR fortran/95091
175 * io/transfer.c (finalize_transfer): Fix type in error message.
176
177 2020-06-01 Uroš Bizjak <ubizjak@gmail.com>
178
179 PR libfortran/95418
180 * config/fpu-387.h (struct fenv): Add __attribute__ ((gcc_struct)).
181
182 2020-05-29 H.J. Lu <hjl.tools@gmail.com>
183
184 PR bootstrap/95413
185 * configure: Regenerated.
186
187 2020-05-29 Jakub Jelinek <jakub@redhat.com>
188
189 PR libfortran/95390
190 * Makefile.am (i_findloc0_c): Add findloc0_i10.c.
191 (i_findloc1_c): Add findloc1_i10.c.
192 * gfortran.map (GFORTRAN_10.2): New symbol version, export
193 _gfortran_{,m,s}findloc{0,1}_c10 symbols.
194 * Makefile.in: Regenerated.
195 * generated/findloc0_c10.c: Generated.
196 * generated/findloc1_c10.c: Generated.
197
198 2020-05-28 Harald Anlauf <anlauf@gmx.de>
199
200 PR libfortran/95104
201 * io/unit.c (unlock_unit): Guard by check for NULL pointer.
202
203 2020-05-26 Harald Anlauf <anlauf@gmx.de>
204 Steven G. Kargl <kargl@gcc.gnu.org>
205
206 PR libfortran/95104
207 * io/transfer.c (st_wait_async): Do not dereference NULL pointer.
208
209 2020-05-26 Harald Anlauf <anlauf@gmx.de>
210
211 PR fortran/95195
212 * io/transfer.c (finalize_transfer): Generate runtime error for
213 namelist input/output to unformatted file.
214
215 2020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
216
217 PR libfortran/95191
218 * io/async.c (async_wait_id): Generate error if ID is higher
219 than the highest current ID.
220 * runtime/error.c (translate_error): Handle LIBERROR_BAD_WAIT_ID.
221
222 2020-05-21 H.J. Lu <hongjiu.lu@intel.com>
223
224 * m4/matmul.m4: Don't include <config/i386/cpuinfo.h>. Use
225 __builtin_cpu_is/__builtin_cpu_supports
226 * generated/matmul_c10.c: Regenerated.
227 * generated/matmul_c16.c: Likewise.
228 * generated/matmul_c4.c: Likewise.
229 * generated/matmul_c8.c: Likewise.
230 * generated/matmul_i1.c: Likewise.
231 * generated/matmul_i16.c: Likewise.
232 * generated/matmul_i2.c: Likewise.
233 * generated/matmul_i4.c: Likewise.
234 * generated/matmul_i8.c: Likewise.
235 * generated/matmul_r10.c: Likewise.
236 * generated/matmul_r16.c: Likewise.
237 * generated/matmul_r4.c: Likewise.
238 * generated/matmul_r8.c: Likewise.
239
240 2020-05-15 H.J. Lu <hongjiu.lu@intel.com>
241
242 PR bootstrap/95147
243 * configure: Regenerated.
244
245 2020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
246
247 PR libfortran/95119
248 * io/close.c (close_status): Add CLOSE_INVALID.
249 (st_close): Return early on invalid STATUS parameter.
250
251 2020-05-14 H.J. Lu <hongjiu.lu@intel.com>
252
253 * configure: Regenerated.
254
255 2020-05-06 Uroš Bizjak <ubizjak@gmail.com>
256
257 * config/fpu-387.h (__math_force_eval): Remove.
258 (__math_force_eval_div): New define.
259 (local_feraiseexcept): Use __math_force_eval_div to use
260 generic division to generate INVALID, DIVZERO and INEXACT
261 exceptions.
262 (struct fenv): Define named struct instead of typedef.
263
264 2020-05-01 Uroš Bizjak <ubizjak@gmail.com>
265
266 * config/fpu-387.h (__math_force_eval): New define.
267 (local_feraiseexcept): Use __math_force_eval to evaluate
268 generic division to generate INVALID and DIVZERO exceptions.
269
270 2020-04-22 Fritz Reese <foreese@gcc.gnu.org>
271
272 * intrinsics/trigd.c, intrinsics/trigd_lib.inc, intrinsics/trigd.inc:
273 Guard against unavailable math functions.
274 Use suffixes from kinds.h based on the REAL kind.
275
276 2020-04-22 Jakub Jelinek <jakub@redhat.com>
277
278 PR libfortran/94694
279 PR libfortran/94586
280 * configure.ac: Add math func checks for fmaf, fma and fmal. Add
281 HAVE_INLINE_BUILTIN_COPYSIGN check.
282 * c99_protos.h (copysign, fmaf, fma, fmal): Provide fallback
283 prototypes.
284 (HAVE_COPYSIGN, HAVE_FMAF, HAVE_FMA, HAVE_FMAL): Define if not
285 defined and fallback version is provided.
286 * intrinsics/c99_functions.c (copysign, fmaf, fma, fmal): Provide
287 fallback implementations if possible
288 * configure: Regenerated.
289 * config.h.in: Regenerated.
290
291 2020-04-19 Uroš Bizjak <ubizjak@gmail.com>
292
293 * config/fpu-387.h (local_feraiseexcept) [__SSE_MATH__]:
294 Remove unneeded assignments to volatile memory.
295
296 2020-04-01 Fritz Reese <foreese@gcc.gnu.org>
297 Steven G. Kargl <kargl@gcc.gnu.org>
298
299 PR fortran/93871
300 * Makefile.am, Makefile.in: New make rule for intrinsics/trigd.c.
301 * gfortran.map: New routines for {sind, cosd, tand}X{r4, r8, r10, r16}.
302 * intrinsics/trigd.c, intrinsics/trigd_lib.inc, intrinsics/trigd.inc:
303 New files. Defines native degree-valued trig functions.
304
305 2020-02-18 Thomas Koenig <tkoenig@gcc.gnu.org>
306
307 PR fortran/93599
308 * io/async.c (destroy_adv_cond): Do not destroy lock.
309 (async_io): Make sure au->lock is locked for finishing of thread.
310 Do not lock/unlock around signalling emptysignal. Unlock au->lock
311 before return.
312 (init_adv_cond): Do not initialize lock.
313 (enqueue_transfer): Unlock after signal.
314 (enqueue_done_id): Likewise.
315 (enqueue_done): Likewise.
316 (enqueue_close): Likewise.
317 (enqueue_data_transfer): Likewise.
318 (async_wait_id): Do not lock/unlock around signalling au->work.
319 (async_wait): Unlock after signal.
320 * io/async.h (SIGNAL): Add comment about needed au->lock.
321 Remove locking/unlocking of advcond->lock.
322 (WAIT_SIGNAL_MUTEX): Add comment. Remove locking/unlocking of
323 advcond->lock. Unlock mutex only at the end. Loop on
324 __ghread_cond_wait returning zero.
325 (REVOKE_SIGNAL): Add comment. Remove locking/unlocking of
326 advcond->lock.
327 (struct adv_cond): Remove mutex from struct.
328
329 2020-02-12 Sandra Loosemore <sandra@codesourcery.com>
330
331 PR libstdc++/79193
332 PR libstdc++/88999
333
334 * configure: Regenerated.
335
336 2020-01-24 Maciej W. Rozycki <macro@wdc.com>
337
338 * configure.ac: Handle `--with-toolexeclibdir='.
339 * Makefile.in: Regenerate.
340 * aclocal.m4: Regenerate.
341 * configure: Regenerate.
342
343 2020-01-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
344
345 PR libfortran/93234
346 * io/unit.c (set_internal_unit): Set round and sign flags
347 correctly.
348
349 2020-01-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
350
351 PR libfortran/90374
352 * io/format.c (parse_format_list): Zero width not allowed with
353 FMT_D.
354 * io/write_float.def (build_float_string): Include range of
355 higher exponent values that require wider width.
356
357 2020-01-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
358
359 PR libfortran/90374
360 * io/format.c (parse_format_list): Implement the E0 exponent
361 width to provide smallest possible width for exponent fields.
362 Refactor code for correct parsing and better readability of the
363 code.
364 * io/io.h (write_real_w0): Change interface to pass in pointer
365 to fnode.
366 * io/transfer.c: Update all calls to write_real_w0 to use the
367 new interface.
368 * io/write.c ((write_real_w0): Use the new interface with fnode
369 to access both the decimal precision and exponent widths used in
370 build_float_string.
371 * io/write_float.def (build_float_string): Use the passed in
372 exponent width to calculate the used width in the case of E0.
373
374 2020-01-01 Jakub Jelinek <jakub@redhat.com>
375
376 Update copyright years.
377 \f
378 Copyright (C) 2020 Free Software Foundation, Inc.
379
380 Copying and distribution of this file, with or without modification,
381 are permitted in any medium without royalty provided the copyright
382 notice and this notice are preserved.