fortran: ICE equivalence with an element of an array PR94030
[official-gcc.git] / libgfortran / ChangeLog-2019
blob08ea66474f4928c4dbff5aca7f5a2f41d91b08ca
1 2019-12-01  Jerry DeLisle  <jvdelisle@gcc.ngu.org>
3         PR fortran/90374
4         * io/format.c (parse_format_list): Add braces to disambiguate
5         conditional.
7 2019-11-28  Jerry DeLisle  <jvdelisle@gcc.ngu.org>
9         PR fortran/90374
10         * io/format.c (parse_format_list): Relax format checking to allow
11         e0 exponent specifier.
13 2019-11-24  Jerry DeLisle  <jvdelisle@gcc.ngu.org>
15         PR fortran/92100
16         * io/transfer.c (data_transfer_init_worker): Use fbuf_reset
17         instead of fbuf_flush before the seek. Note that fbuf_reset
18         calls fbuf_flush and adjusts fbuf pointers.
20 2019-11-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
21         Harald Anlauf <anlauf@gmx.de>
23         PR fortran/92569
24         * io/transfer.c (transfer_array_inner):  If position is
25         at AFTER_ENDFILE in current unit, return from data loop.
27 2019-11-18  Maciej W. Rozycki  <macro@wdc.com>
29         * Makefile.in: Regenerate.
31 2019-11-13  Tobias Burnus  <tobias@codesourcery.com>
33         PR fortran/92470
34         * runtime/ISO_Fortran_binding.c (CFI_establish): Set lower_bound to 0
35         also for CFI_attribute_other.
37 2019-11-12  Tobias Burnus  <tobias@codesourcery.com>
39         PR fortran/92470
40         * runtime/ISO_Fortran_binding.c (CFI_address): Handle non-zero
41         lower_bound; update error message.
42         (CFI_allocate): Fix comment typo.
43         (CFI_establish): Fix identation, fix typos, don't check values of 'dv'
44         argument.
46 2019-11-11  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
48         PR fortran/92142
49         * runtime/ISO_Fortran_binding.c (CFI_setpointer): Don't
50         override descriptor attribute; with -fcheck, check that
51         it is a pointer.
53 2019-11-06  Jerry DeLisle  <jvdelisle@gcc.ngu.org>
55         PR fortran/90374
56         io/format.c (parse_format_list): Relax format checking for
57         zero width as default and when -std=f2018.
58         io/format.h (format_token): Move definition to io.h.
59         io/io.h (format_token): Add definition here to allow access to
60         this definition at higher levels. Rename the declaration of
61         write_real_g0 to write_real_w0 and add a new format_token
62         argument, allowing higher level functions to pass in the
63         token for handling of g0 vs the other zero width specifiers.
64         io/transfer.c (formatted_transfer_scalar_write): Add checks for
65         zero width and call write_real_w0 to handle it.
66         io/write.c (write_real_g0): Remove.
67         (write_real_w0): Add new, same as previous write_real_g0 except
68         check format token to handle the g0 case.
70 2019-10-31  Tobias Burnus  <tobias@codesourcery.com>
72         PR fortran/92284.
73         * runtime/ISO_Fortran_binding.c (gfc_desc_to_cfi_desc):
75 2019-10-19  Paul Thomas  <pault@gcc.gnu.org>
77         PR fortran/91926
78         * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Revert
79         the change made on 2019-10-05.
81 2019-10-08  Thomas Schwinge  <thomas@codesourcery.com>
83         PR fortran/68401
84         * runtime/minimal.c (os_error_at): New function.
85         * runtime/minimal.c: Revise.
87 2019-10-05  Paul Thomas  <pault@gcc.gnu.org>
89         PR fortran/91926
90         * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Do not
91         modify the bounds and offset for CFI_other.
93 2019-10-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
95         PR libfortran/91593
96         * io/read.c (read_decimal): Cast constant to size_t to turn off
97         a bogus warning.
98         * io/write.c (btoa_big): Use memset in lieu of setting the null
99         byte in a string buffer to turn off a bogus warning.
101 2019-09-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
103         PR libfortran/91593
104         * io/io.h: Add gcc_unreachable().
105         * io/transfer.c (file_mode, current_mode,
106         formatted_transfer_scalar_read, formatted_transfer_scalar_write,
107         pre_position, next_record_r, next_record_w): Add and use
108         FORMATTED_UNSPECIFIED to enumeration.
110 2019-09-27  Maciej W. Rozycki  <macro@wdc.com>
112         * configure: Regenerate.
114 2019-09-05  Janne Blomqvist  <jb@gcc.gnu.org>
116         * intrinsics/random.c (master_init): Replace with
117         master_state.init.
118         (njumps): Remove variable.
119         (master_state): Make instance of struct prng_state.
120         (init_rand_state): When jumping, update the master_state once
121         instead of keeping track of how many jumps need to be done.
122         (SZU64): Modify to handle new master_state.
123         (SZ): Likewise.
124         (random_seed_i4): Likewise.
125         (random_seed_i8): Likewise.
127 2019-08-17  Janne Blomqvist  <jb@gcc.gnu.org>
129         PR fortran/68401
130         * gfortran.map: Add GFORTRAN_10 node, add _gfortran_os_error_at
131         symbol.
132         * libgfortran.h (os_error_at): New prototype.
133         * runtime/error.c (os_error_at): New function.
135 2019-08-13  Janne Blomqvist  <jb@gcc.gnu.org>
137         PR fortran/91414
138         * intrinsics/random.c (prng_state): Update state struct.
139         (master_state): Update to match new size.
140         (get_rand_state): Update to match new PRNG.
141         (rotl): New function.
142         (xorshift1024star): Replace with prng_next.
143         (prng_next): New function.
144         (jump): Update for new PRNG.
145         (lcg_parkmiller): Replace with splitmix64.
146         (splitmix64): New function.
147         (getosrandom): Fix return value, simplify.
148         (init_rand_state): Use getosrandom only to get 8 bytes, splitmix64
149         to fill rest of state.
150         (random_r4): Update to new function and struct names.
151         (random_r8): Likewise.
152         (random_r10): Likewise.
153         (random_r16): Likewise.
154         (arandom_r4): Liekwise.
155         (arandom_r8): Likewise.
156         (arandom_r10): Likwewise.
157         (arandom_r16): Likewise.
158         (xor_keys): Reduce size to match new PRNG.
159         (random_seed_i4): Update to new function and struct names, remove
160         special handling of variable p used in previous PRNG.
161         (random_seed_i8): Likewise.
163 2019-08-07  Janne Blomqvist  <jb@gcc.gnu.org>
165         PR fortran/53796
166         * io/inquire.c (inquire_via_filename): Set recl to -1 for
167         unconnected units.
169 2019-07-21  Thomas König  <tkoenig@gcc.gnu.org>
171         PR libfortran/91030
172         * io/unix.c (BUFFER_SIZE): Delete.
173         (BUFFER_FORMATTED_SIZE_DEFAULT): New variable.
174         (BUFFER_UNFORMATTED_SIZE_DEFAULT): New variable.
175         (unix_stream): Add buffer_size.
176         (buf_read): Use s->buffer_size instead of BUFFER_SIZE.
177         (buf_write): Likewise.
178         (buf_init): Add argument unformatted.  Handle block sizes
179         for unformatted vs. formatted, using defaults if provided.
180         (fd_to_stream): Add argument unformatted in call to buf_init.
181         * libgfortran.h (options_t): Add buffer_size_formatted and
182         buffer_size_unformatted.
183         * runtime/environ.c (variable_table): Add
184         GFORTRAN_UNFORMATTED_BUFFER_SIZE and
185         GFORTRAN_FORMATTED_BUFFER_SIZE.
187 2019-06-25  Kwok Cheung Yeung  <kcy@codesourcery.com>
188             Andrew Stubbs  <ams@codesourcery.com>
190         * configure: Regenerate.
191         * configure.ac (LIBGFOR_MINIMAL): Do not use on AMD GCN.
193 2019-06-14  Janne Blomqvist  <jb@gcc.gnu.org>
195         PR fortran/65921
196         * runtime/memory.c (SIZE_MAX):Remove macro definition.
197         (xmallocarray): Use __builtin_mul_overflow.
199 2019-05-22  Jeff Law  <law@redhat.com>
201         PR fortran/89100
202         * io/format.c (parse_format_list): set default width when the
203         IOPARM_DT_DEC_EXT flag is set for i, f and g.
204         * io/io.h: add default_width_for_integer, default_width_for_float
205         and default_precision_for_float.
206         * io/write.c (write_boz): extra parameter giving length of data
207         corresponding to the type's kind.
208         (write_b): pass data length as extra parameter in calls to
209         write_boz.
210         (write_o): pass data length as extra parameter in calls to
211         write_boz.
212         (write_z): pass data length as extra parameter in calls to
213         write_boz.
214         (size_from_kind): also set size is default width is set.
215         * io/write_float.def (build_float_string): new paramter inserted
216         before result parameter. If default width use values passed
217         instead of the values in fnode.
218         (FORMAT_FLOAT): macro modified to check for default width and
219         calls to build_float_string to pass in default width.
220         (get_float_string): set width and precision to defaults when
221         needed.
223 2019-05-19  Janne Blomqvist  <jb@gcc.gnu.org>
225         PR libfortran/90038
226         * intrinsics/execute_command_line (sigchld_handler): New function.
227         (execute_command_line): Install handler for SIGCHLD.
228         * configure.ac: Check for presence of sigaction and waitpid.
229         * config.h.in: Regenerated.
230         * configure: Regenerated.
232 2019-05-17  Janne Blomqvist  <jb@gcc.gnu.org>
234         PR libfortran/90038
235         * configure.ac (AC_CHECK_FUNCS_ONCE): Check for posix_spawn.
236         * intrinsics/execute_command_line (execute_command_line): Use
237         posix_spawn.
238         * Makefile.in: Regenerated.
239         * config.h.in: Regenerated.
240         * configure: Regenerated.
242 2019-05-17  Jakub Jelinek  <jakub@redhat.com>
244         PR fortran/54613
245         * gfortran.map (GFORTRAN_9.2): Export _gfortran_{,m,s}findloc{0,1}_r10.
246         * Makefile.am (i_findloc0_c): Add $(srcdir)/generated/findloc0_r10.c.
247         (i_findloc1_c): Add $(srcdir)/generated/findloc1_r10.c.
248         * Makefile.in: Regenerated.
249         * generated/findloc0_r10.c: Generated.
250         * generated/findloc1_r10.c: Generated.
252         PR fortran/54613
253         * gfortran.map (GFORTRAN_9.2): New symbol version, export
254         _gfortran_{,m,s}findloc0_i2 in it.
256 2019-05-15  Janne Blomqvist  <jb@gcc.gnu.org>
258         PR fortran/90461
259         * io/open.c (new_unit): Don't check if the file is already open
260         for F2018.
262 2019-05-02  Jakub Jelinek  <jakub@redhat.com>
264         * Makefile.am (gfor_cdir): Remove $(MULTISUBDIR).
265         * Makefile.in: Regenerated.
267 2019-04-14  Paul Thomas  <pault@gcc.gnu.org>
269         PR fortran/89843
270         * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Only
271         return immediately if the source pointer is null. Bring
272         forward the extraction of the gfc type. Extract the kind so
273         that the element size can be correctly computed for sections
274         and components of derived type arrays. Remove the free of the
275         CFI descriptor since this is now done in trans-expr.c.
276         (gfc_desc_to_cfi_desc): Only allocate the CFI descriptor if it
277         is not null.
278         (CFI_section): Normalise the difference between the upper and
279         lower bounds by the stride to correctly calculate the extents
280         of the section.
282         PR fortran/89846
283         * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Use
284         the stride measure for the gfc span if it is not a multiple
285         of the element length. Otherwise use the element length.
287         PR fortran/90022
288         * runtime/ISO_Fortran_binding.c (CFI_is_contiguous) : Return
289         1 for true and 0 otherwise to comply with the standard. Correct
290         the contiguity check for rank 3 and greater by using the stride
291         measure of the lower dimension rather than the element length.
293 2019-03-25  John David Anglin  <danglin@gcc.gnu.org>
295         PR libgfortran/79540
296         * io/write_float.def (build_float_string): Don't copy digits when
297         ndigits is negative.
299 2019-03-05  Jakub Jelinek  <jakub@redhat.com>
301         PR libgfortran/89593
302         * caf/single.c (_gfortran_caf_sendget_by_ref): Cast &temp to
303         gfc_descriptor_t * to avoid warning.
305 2019-02-26  Uroš Bizjak  <ubizjak@gmail.com>
307         * io/transfer.c (transfer_array_inner): Do not
308         cast charlen to index_type.
310 2019-02-25  Dominique d'Humieres  <dominiq@gcc.gnu.org>
312         PR libfortran/89274
313         * io/write.c (write_integer): Add width for INTEGER(16).
315 2019-02-23  Paul Thomas  <pault@gcc.gnu.org>
317         PR fortran/89385
318         PR fortran/89366
319         * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc) : In the
320         interchange between character and derived, the character type
321         was being set incorrectly.
322         (gfc_desc_to_cfi_desc) : Eliminate the interchange of types in
323         this function. Do not add the kind and length information to
324         the type field of structures. Lbounds were incorrectly being
325         set to zero for allocatable and pointer descriptors. Should
326         have been non-pointer, non-allocatables that received this
327         treatment.
329 2019-01-30  Uroš Bizjak  <ubizjak@gmail.com>
331         PR libfortran/88678
332         Revert:
333         2016-11-16  Szabolcs Nagy  <szabolcs.nagy@arm.com>
335         PR libfortran/78314
336         * config/fpu-glibc.h (support_fpu_trap): Use feenableexcept.
338 2019-01-30  Uroš Bizjak  <ubizjak@gmail.com>
340         PR libfortran/88678
341         * config/fpu-glibc.h (set_fpu_trap_exceptions): Clear stalled
342         exception flags before changing trap mode.  Optimize to call
343         feenableexcept and fedisableexcept only once.
345 2019-01-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
347         * io/async.c (init_adv_cond): Use __GTHREAD_COND_INIT_FUNCTION().
349 2019-01-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
351         PR libfortran/89020
352         * io/close.c (st_close): Simplify text of error message to not
353         presume a specific cause of failure to remove file.
355 2019-01-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
357         PR libfortran/89020
358         * io/close.c (st_close): Fix typo.
360 2019-01-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
362         PR libfortran/89020
363         * io/close.c (st_close): Generate error if calls to 'remove' return
364         an error.
366 2019-01-17  Andrew Stubbs  <ams@codesourcery.com>
367             Kwok Cheung Yeung  <kcy@codesourcery.com>
368             Julian Brown  <julian@codesourcery.com>
369             Tom de Vries  <tom@codesourcery.com>
371         * configure.ac: Use minimal mode for amdgcn.
372         * configure: Regenerate.
374 2019-01-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
376         PR libfortran/88776
377         * io/open.c (newunit): Free format buffer if the unit specified is for
378         stdin, stdout, or stderr.
380 2019-01-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
382         PR libfortran/88776
383         * io/list_read.c (namelist_read): Use nml_err_ret path on read error
384         not based on stdin_unit.
386 2019-01-12  Paul Thomas  <pault@gcc.gnu.org>
388         * ISO_Fortran_binding.h : New file.
389         * Makefile.am : Include ISO_Fortran_binding.c in the list of
390         files to compile.
391         * Makefile.in : Regenerated.
392         * gfortran.map : Add _gfortran_cfi_desc_to_gfc_desc,
393         _gfortran_gfc_desc_to_cfi_desc and the CFI API functions.
394         * runtime/ISO_Fortran_binding.c : New file containing the new
395         functions added to the map.
397 2019-01-12  Jakub Jelinek  <jakub@redhat.com>
399         PR libfortran/88807
400         * m4/minloc0.m4: Reindent to avoid -Wmisleading-indentation warnings.
401         * generated/minloc0_4_i1.c: Regenerated.
402         * generated/minloc0_4_i2.c: Regenerated.
403         * generated/minloc0_4_i4.c: Regenerated.
404         * generated/minloc0_4_i8.c: Regenerated.
405         * generated/minloc0_4_i16.c: Regenerated.
406         * generated/minloc0_4_r4.c: Regenerated.
407         * generated/minloc0_4_r8.c: Regenerated.
408         * generated/minloc0_4_r10.c: Regenerated.
409         * generated/minloc0_4_r16.c: Regenerated.
410         * generated/minloc0_8_i1.c: Regenerated.
411         * generated/minloc0_8_i2.c: Regenerated.
412         * generated/minloc0_8_i4.c: Regenerated.
413         * generated/minloc0_8_i8.c: Regenerated.
414         * generated/minloc0_8_i16.c: Regenerated.
415         * generated/minloc0_8_r4.c: Regenerated.
416         * generated/minloc0_8_r8.c: Regenerated.
417         * generated/minloc0_8_r10.c: Regenerated.
418         * generated/minloc0_8_r16.c: Regenerated.
419         * generated/minloc0_16_i1.c: Regenerated.
420         * generated/minloc0_16_i2.c: Regenerated.
421         * generated/minloc0_16_i4.c: Regenerated.
422         * generated/minloc0_16_i8.c: Regenerated.
423         * generated/minloc0_16_i16.c: Regenerated.
424         * generated/minloc0_16_r4.c: Regenerated.
425         * generated/minloc0_16_r8.c: Regenerated.
426         * generated/minloc0_16_r10.c: Regenerated.
427         * generated/minloc0_16_r16.c: Regenerated.
429 2019-01-09  Sandra Loosemore  <sandra@codesourcery.com>
431         PR other/16615
432         * caf/single.c: Mechanically replace "can not" with "cannot".
433         * io/unit.c: Likewise.
435 2019-01-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
436             Harald Anlauf <anlauf@gmx.de>
437             Tobias Burnus <burnus@gcc.gnu.org>
439         PR fortran/45424
440         * Makefile.am: Add intrinsics/is_contiguous.c.
441         * Makefile.in: Regenerated.
442         * gfortran.map: Add _gfortran_is_contiguous0.
443         * intrinsics/is_contiguous.c: New file.
444         * libgfortran.h: Add prototype for is_contiguous0.
446 2019-01-07  Janne Blomqvist  <jb@gcc.gnu.org>
448         * gfortran.map (GFORTRAN_9): Make GFORTRAN_9 node depend on
449         GFORTRAN_8.
451 2019-01-01  Jakub Jelinek  <jakub@redhat.com>
453         Update copyright years.
455 Copyright (C) 2019-2020 Free Software Foundation, Inc.
457 Copying and distribution of this file, with or without modification,
458 are permitted in any medium without royalty provided the copyright
459 notice and this notice are preserved.