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