[Ada] Refactor duplicated resolution of Count and Index attributes
[official-gcc.git] / libgfortran / ChangeLog-2021
blob2f9769e1f24c9dfefd76a2de2edcb9dba2a9da18
1 2021-12-31  Iain Sandoe  <iain@sandoe.co.uk>
3         * runtime/string.c (gfc_itoa): Use _Static_assert directly
4         instead of via the static_assert macro.
6 2021-12-29  Francois-Xavier Coudert  <fxcoudert@gmail.com>
8         * ieee/ieee_helper.c: Fix enum values.
10 2021-12-27  Francois-Xavier Coudert  <fxcoudert@gmail.com>
12         PR libfortran/98076
13         * runtime/string.c (gfc_itoa): Use two args for static_assert().
15 2021-12-26  Francois-Xavier Coudert  <fxcoudert@gmail.com>
17         PR libfortran/98076
18         * runtime/string.c (itoa64, itoa64_pad19): New helper functions.
19         (gfc_itoa): On targets with 128-bit integers, call fast
20         64-bit functions to avoid many slow divisions.
22 2021-12-25  Francois-Xavier Coudert  <fxcoudert@gmail.com>
24         PR libfortran/81986
25         PR libfortran/99191
26         * libgfortran.h: Remove gfc_xtoa(), adjust gfc_itoa() and
27         GFC_ITOA_BUF_SIZE.
28         * io/write.c (write_decimal): conversion parameter is always
29         gfc_itoa(), so remove it. Protect from overflow.
30         (xtoa): Move gfc_xtoa and update its name.
31         (xtoa_big): Renamed from ztoa_big for consistency.
32         (write_z): Adjust to new function names.
33         (write_i, write_integer): Remove last arg of write_decimal.
34         * runtime/backtrace.c (error_callback): Comment on the use of
35         gfc_itoa().
36         * runtime/error.c (gfc_xtoa): Move to io/write.c.
37         * runtime/string.c (gfc_itoa): Take an unsigned argument,
38         remove the handling of negative values.
40 2021-12-22  Francois-Xavier Coudert  <fxcoudert@gmail.com>
42         * kinds-override.h: Move GFC_REAL_16_IS_* macros...
43         * mk-kinds-h.sh: ... here.
45 2021-12-19  Francois-Xavier Coudert  <fxcoudert@gmail.com>
47         * configure.host: Add aarch64-apple-darwin support.
48         * config/fpu-aarch64.h: New file.
50 2021-12-18  François-Xavier Coudert  <fxcoudert@gcc.gnu.org>
52         * libgfortran.h: include ctype.h, provide safe macros.
53         * io/format.c: use safe macros.
54         * io/list_read.c: use safe macros.
55         * io/read.c: use safe macros.
56         * io/write.c: use safe macros.
57         * runtime/environ.c: use safe macros.
59 2021-12-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
61         * io/file_pos.c: Fix error code.
63 2021-12-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
65         * intrinsics/time_1.h: Prefer clock_gettime() over
66           gettimeofday().
67         * intrinsics/date_and_time.c: Fix timezone wrapping.
69 2021-12-14  Harald Anlauf  <anlauf@gmx.de>
71         PR libfortran/103634
72         * intrinsics/pack_generic.c (pack_internal): Handle case when the
73         array argument of PACK has one or more extents of size zero to
74         avoid invalid reads.
76 2021-10-18  Tobias Burnus  <tobias@codesourcery.com>
78         PR fortran/102086
79         PR fortran/92189
80         PR fortran/92621
81         PR fortran/101308
82         PR fortran/101309
83         PR fortran/101635
84         PR fortran/92482
85         * ISO_Fortran_binding.h (CFI_type_cfunptr): Make unique type again.
86         * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc,
87         gfc_desc_to_cfi_desc): Add comment that those are no longer called
88         by new code.
90 2021-09-27  Tobias Burnus  <tobias@codesourcery.com>
92         PR fortran/94070
93         * intrinsics/size.c (size0, size1): Comment that now not
94         used by newer compiler code.
96 2021-09-26  Tobias Burnus  <tobias@codesourcery.com>
98         PR fortran/101334
99         * intrinsics/associated.c (associated): Also check for same rank.
101 2021-09-22  Tobias Burnus  <tobias@codesourcery.com>
103         PR fortran/55534
104         * configure.ac (AM_FCFLAGS): Revert r12-3722 by removing
105         -Wno-missing-include-dirs.
106         * configure: Regenerate.
108 2021-09-21  Tobias Burnus  <tobias@codesourcery.com>
110         PR fortran/55534
111         * configure.ac (AM_FCFLAGS): Add -Wno-missing-include-dirs.
112         * configure: Regenerate.
114 2021-09-17  Sandra Loosemore  <sandra@codesourcery.com>
116         * ISO_Fortran_binding.h: Update comments.
117         * runtime/ISO_Fortran_binding.c: Likewise.
119 2021-09-17  Sandra Loosemore  <sandra@codesourcery.com>
120             Tobias Burnus  <tobias@codesourcery.com>
122         * ISO_Fortran_binding.h: Only include float.h if the C compiler
123         doesn't have predefined __LDBL_* and __DBL_* macros. Handle
124         LDBL_MANT_DIG == 53 for FreeBSD.
126 2021-09-13  Andreas Schwab  <schwab@linux-m68k.org>
128         * ISO_Fortran_binding.h (CFI_type_long_double)
129         (CFI_type_long_double_Complex) [LDBL_MANT_DIG == 64 &&
130         LDBL_MIN_EXP == -16382 && LDBL_MAX_EXP == 16384]: Define.
132 2021-09-07  Tobias Burnus  <tobias@codesourcery.com>
134         * Makefile.am (gfor_built_src): Depend on
135         include/ISO_Fortran_binding.h not on ISO_Fortran_binding.h.
136         (ISO_Fortran_binding.h): Rename make target to ...
137         (include/ISO_Fortran_binding.h): ... this.
138         * Makefile.in: Regenerate.
140 2021-09-07  Sandra Loosemore  <sandra@codesourcery.com>
142         * ISO_Fortran_binding-1-tmpl.h: Deleted.
143         * ISO_Fortran_binding-2-tmpl.h: Deleted.
144         * ISO_Fortran_binding-3-tmpl.h: Deleted.
145         * ISO_Fortran_binding.h: New file to replace the above.
146         * Makefile.am (gfor_cdir): Remove MULTISUBDIR.
147         (ISO_Fortran_binding.h): Simplify to just copy the file.
148         * Makefile.in: Regenerated.
149         * mk-kinds-h.sh: Revert pieces no longer needed for
150         ISO_Fortran_binding.h.
152 2021-09-02  Sandra Loosemore  <sandra@codesourcery.com>
153             José Rui Faustino de Sousa  <jrfsousa@gmail.com>
155         PR fortran/100907
156         PR fortran/100911
157         PR fortran/100914
158         PR fortran/100915
159         PR fortran/100917
160         * ISO_Fortran_binding-1-tmpl.h (CFI_type_cfunptr): Make equivalent
161         to CFI_type_cptr.
162         * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Fix
163         handling of CFI_type_cptr and CFI_type_cfunptr.  Additional error
164         checking and code cleanup.
165         (gfc_desc_to_cfi_desc): Likewise.  Also correct kind mapping
166         for character, complex, and long double types.
168 2021-08-27  Iain Sandoe  <iain@sandoe.co.uk>
170         * Makefile.am: Use configured libm availability.
171         * Makefile.in: Regenerate.
172         * configure: Regenerate.
173         * configure.ac: Use libtool macro to find libm availability.
174         * libgfortran.spec.in: Use configured libm availability.
176 2021-08-10  Tobias Burnus  <tobias@codesourcery.com>
178         PR libfortran/101305
179         PR fortran/101660
180         PR testsuite/101847
181         * Makefile.am (ISO_Fortran_binding.h): Create include/ in the build dir
182         and copy the include file to it.
183         (clean-local): Add for removing the 'include' directory.
184         * Makefile.in: Regenerate.
186 2021-07-28  Sandra Loosemore  <sandra@codesourcery.com>
188         PR libfortran/101317
189         * runtime/ISO_Fortran_binding.c: Include <inttypes.h>.
190         (CFI_address): Tidy error messages and comments.
191         (CFI_allocate): Likewise.
192         (CFI_deallocate): Likewise.
193         (CFI_establish): Likewise.  Add new checks for validity of
194         elem_len when it's used, plus type argument and extents.
195         (CFI_is_contiguous): Tidy error messages and comments.
196         (CFI_section): Likewise.  Refactor some repetitive code to
197         make it more understandable.
198         (CFI_select_part): Likewise.
199         (CFI_setpointer): Likewise.  Check that source is not an
200         unallocated allocatable array or an assumed-size array.
202 2021-07-28  Sandra Loosemore  <sandra@codesourcery.com>
204         PR libfortran/101310
205         * runtime/ISO_Fortran_binding.c (CFI_section): Fix the base
206         address computation and simplify the code.
208 2021-07-28  Sandra Loosemore  <sandra@codesourcery.com>
210         PR libfortran/101305
211         * runtime/ISO_Fortran_binding.c (CFI_establish): Special-case
212         CFI_type_cptr and CFI_type_cfunptr.  Correct size of long double
213         on targets where it has kind 10.
215 2021-07-28  Sandra Loosemore  <sandra@codesourcery.com>
216             Tobias Burnus  <tobias@codesourcery.com>
218         PR libfortran/101305
219         * ISO_Fortran_binding.h: Fix hard-coded sizes and split into...
220         * ISO_Fortran_binding-1-tmpl.h: New file.
221         * ISO_Fortran_binding-2-tmpl.h: New file.
222         * ISO_Fortran_binding-3-tmpl.h: New file.
223         * Makefile.am: Add rule for generating ISO_Fortran_binding.h.
224         Adjust pathnames to that file.
225         * Makefile.in: Regenerated.
226         * mk-kinds-h.sh: New file.
227         * runtime/ISO_Fortran_binding.c: Fix include path.
229 2021-07-26  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
230             Tobias Burnus  <tobias@codesourcery.com>
232         PR fortran/93308
233         PR fortran/93963
234         PR fortran/94327
235         PR fortran/94331
236         PR fortran/97046
237         * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Add code
238         to verify the descriptor. Correct bounds calculation.
239         (gfc_desc_to_cfi_desc): Add code to verify the descriptor.
241 2021-07-22  Sandra Loosemore  <sandra@codesourcery.com>
243         * runtime/ISO_Fortran_binding.c (CFI_allocate): Don't use elem_len
244         for CFI_type_signed_char.
245         (CFI_select_part): Likewise.
247 2021-07-01  Tobias Burnus  <tobias@codesourcery.com>
248             Sandra Loosemore  <sandra@codesourcery.com>
250         * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc):
251         Initialize version field to 0.
252         (gfc_desc_to_cfi_desc): Initialize version field to CFI_VERSION.
254 2021-06-29  Julian Brown  <julian@codesourcery.com>
256         PR target/96306
257         * configure.ac: Remove stanza that removes KIND=16 integers for AMD GCN.
258         * configure: Regenerate.
260 2021-06-22  Sandra Loosemore  <sandra@codesourcery.com>
261             Tobias Burnus  <tobias@codesourcery.com>
263         PR fortran/93524
264         * runtime/ISO_Fortran_binding.c (CFI_allocate): Fix
265         sm computation.
267 2021-06-08  Martin Liska  <mliska@suse.cz>
269         * intrinsics/chmod.c (chmod_internal): Fix typo.
270         * io/transfer.c (read_sf): Likewise.
272 2021-06-05  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
274         PR fortran/100120
275         * intrinsics/associated.c (associated): have associated verify if
276         the "span" matches insted of the "elem_len".
277         * libgfortran.h (GFC_DESCRIPTOR_SPAN): add macro to retrive the
278         descriptor "span".
280 2021-05-22  Andre Vehreschild  <vehre@gcc.gnu.org>
282         PR fortran/98301
283         * caf/libcaf.h (_gfortran_caf_random_init): New function.
284         * caf/single.c (_gfortran_caf_random_init): New function.
285         * gfortran.map: Added fndecl.
286         * intrinsics/random_init.f90: Implement random_init.
288 2021-05-05  Tobias Burnus  <tobias@codesourcery.com>
290         * intrinsics/chmod.c (chmod_internal): Only declare mode_mask var
291         if HAVE_UMASK.
293 2021-05-02  Tobias Burnus  <tobias@codesourcery.com>
295         PR libgomp/100352
296         * io/transfer.c (st_read_done_worker, st_write_done_worker): Add new
297         arg whether to unlock unit.
298         (st_read_done, st_write_done): Call it with true.
299         * io/async.c (async_io): Call it with false.
300         * io/io.h (st_write_done_worker, st_read_done_worker): Update prototype.
302 2021-03-12  Tobias Burnus  <tobias@codesourcery.com>
304         * io/transfer.c (st_read_done_worker, st_write_done_worker):
305         Call unlock_unit here, add unit_lock lock around newunit_free call.
306         (st_read_done, st_write_done): Only call unlock_unit when not
307         calling the worker function.
308         * io/unit.c (set_internal_unit): Don't reset the unit_number
309         to the same number as this cause race warnings.
311 2021-03-05  Harald Anlauf  <anlauf@gmx.de>
313         PR libfortran/99218
314         * m4/matmul_internal.m4: Invoke tuned matmul only for rank(b)>1.
315         * generated/matmul_c10.c: Regenerated.
316         * generated/matmul_c16.c: Likewise.
317         * generated/matmul_c4.c: Likewise.
318         * generated/matmul_c8.c: Likewise.
319         * generated/matmul_i1.c: Likewise.
320         * generated/matmul_i16.c: Likewise.
321         * generated/matmul_i2.c: Likewise.
322         * generated/matmul_i4.c: Likewise.
323         * generated/matmul_i8.c: Likewise.
324         * generated/matmul_r10.c: Likewise.
325         * generated/matmul_r16.c: Likewise.
326         * generated/matmul_r4.c: Likewise.
327         * generated/matmul_r8.c: Likewise.
328         * generated/matmulavx128_c10.c: Likewise.
329         * generated/matmulavx128_c16.c: Likewise.
330         * generated/matmulavx128_c4.c: Likewise.
331         * generated/matmulavx128_c8.c: Likewise.
332         * generated/matmulavx128_i1.c: Likewise.
333         * generated/matmulavx128_i16.c: Likewise.
334         * generated/matmulavx128_i2.c: Likewise.
335         * generated/matmulavx128_i4.c: Likewise.
336         * generated/matmulavx128_i8.c: Likewise.
337         * generated/matmulavx128_r10.c: Likewise.
338         * generated/matmulavx128_r16.c: Likewise.
339         * generated/matmulavx128_r4.c: Likewise.
340         * generated/matmulavx128_r8.c: Likewise.
342 2021-03-03  Vittorio Zecca  <zeccav@gmail.com>
343             Tobias Burnus  <tobias@codesourcery.com>
345         PR libfortran/81986
346         * runtime/string.c (gfc_itoa): Cast to unsigned before
347         negating.
349 2021-02-12  Steve Kargl  <sgk@troutmask.apl.washington.edu>
351         PR libfortran/95647
352         * ieee/ieee_arithmetic.F90: Flip interfaces of operators .eq. to
353         == and .ne. to /= .
355 2021-02-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
357         PR libfortran/98825
358         * io/transfer.c (next_record_w): Insert check for seen_dollar and if
359         so, skip issueing next record.
361 2021-01-27  Harris Snyder  <hsnyder@structura.bio>
363         * runtime/ISO_Fortran_binding.c (CFI_establish): fixed
364         strides for rank >2 arrays.
366 2021-01-15  Harris Snyder  <hsnyder@structura.bio>
368         * runtime/ISO_Fortran_binding.c (CFI_establish): Fixed signed
369           char arrays. Signed char or uint8_t arrays would cause
370           crashes unless an element size is specified.
372 2021-01-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>
374         * configure: Re-generate.
376 2021-01-01  Jakub Jelinek  <jakub@redhat.com>
378         * ChangeLog-2020: Rotate ChangeLog.  New file.
380 Copyright (C) 2021 Free Software Foundation, Inc.
382 Copying and distribution of this file, with or without modification,
383 are permitted in any medium without royalty provided the copyright
384 notice and this notice are preserved.