re PR libfortran/90374 (Fortran 2018: Support d0.d, e0.d, es0.d, en0.d, g0.d and...
[official-gcc.git] / libgfortran / ChangeLog
blob0684c35b9b3ca3a937e76f518c8f6730f3cc3418
1 2019-11-06  Jerry DeLisle  <jvdelisle@gcc.ngu.org>
3         PR fortran/90374
4         io/format.c (parse_format_list): Relax format checking for
5         zero width as default and when -std=f2018.
6         io/format.h (format_token): Move definition to io.h.
7         io/io.h (format_token): Add definition here to allow access to
8         this definition at higher levels. Rename the declaration of
9         write_real_g0 to write_real_w0 and add a new format_token
10         argument, allowing higher level functions to pass in the
11         token for handling of g0 vs the other zero width specifiers.
12         io/transfer.c (formatted_transfer_scalar_write): Add checks for
13         zero width and call write_real_w0 to handle it.
14         io/write.c (write_real_g0): Remove.
15         (write_real_w0): Add new, same as previous write_real_g0 except
16         check format token to handle the g0 case.
18 2019-10-31  Tobias Burnus  <tobias@codesourcery.com>
20         PR fortran/92284.
21         * runtime/ISO_Fortran_binding.c (gfc_desc_to_cfi_desc):
23 2019-10-19  Paul Thomas  <pault@gcc.gnu.org>
25         PR fortran/91926
26         * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Revert
27         the change made on 2019-10-05.
29 2019-10-08  Thomas Schwinge  <thomas@codesourcery.com>
31         PR fortran/68401
32         * runtime/minimal.c (os_error_at): New function.
33         * runtime/minimal.c: Revise.
35 2019-10-05  Paul Thomas  <pault@gcc.gnu.org>
37         PR fortran/91926
38         * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Do not
39         modify the bounds and offset for CFI_other.
41 2019-10-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
43         PR libfortran/91593
44         * io/read.c (read_decimal): Cast constant to size_t to turn off
45         a bogus warning.
46         * io/write.c (btoa_big): Use memset in lieu of setting the null
47         byte in a string buffer to turn off a bogus warning.
49 2019-09-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
51         PR libfortran/91593
52         * io/io.h: Add gcc_unreachable().
53         * io/transfer.c (file_mode, current_mode,
54         formatted_transfer_scalar_read, formatted_transfer_scalar_write,
55         pre_position, next_record_r, next_record_w): Add and use
56         FORMATTED_UNSPECIFIED to enumeration.
58 2019-09-27  Maciej W. Rozycki  <macro@wdc.com>
60         * configure: Regenerate.
62 2019-09-05  Janne Blomqvist  <jb@gcc.gnu.org>
64         * intrinsics/random.c (master_init): Replace with
65         master_state.init.
66         (njumps): Remove variable.
67         (master_state): Make instance of struct prng_state.
68         (init_rand_state): When jumping, update the master_state once
69         instead of keeping track of how many jumps need to be done.
70         (SZU64): Modify to handle new master_state.
71         (SZ): Likewise.
72         (random_seed_i4): Likewise.
73         (random_seed_i8): Likewise.
75 2019-08-17  Janne Blomqvist  <jb@gcc.gnu.org>
77         PR fortran/68401
78         * gfortran.map: Add GFORTRAN_10 node, add _gfortran_os_error_at
79         symbol.
80         * libgfortran.h (os_error_at): New prototype.
81         * runtime/error.c (os_error_at): New function.
83 2019-08-13  Janne Blomqvist  <jb@gcc.gnu.org>
85         PR fortran/91414
86         * intrinsics/random.c (prng_state): Update state struct.
87         (master_state): Update to match new size.
88         (get_rand_state): Update to match new PRNG.
89         (rotl): New function.
90         (xorshift1024star): Replace with prng_next.
91         (prng_next): New function.
92         (jump): Update for new PRNG.
93         (lcg_parkmiller): Replace with splitmix64.
94         (splitmix64): New function.
95         (getosrandom): Fix return value, simplify.
96         (init_rand_state): Use getosrandom only to get 8 bytes, splitmix64
97         to fill rest of state.
98         (random_r4): Update to new function and struct names.
99         (random_r8): Likewise.
100         (random_r10): Likewise.
101         (random_r16): Likewise.
102         (arandom_r4): Liekwise.
103         (arandom_r8): Likewise.
104         (arandom_r10): Likwewise.
105         (arandom_r16): Likewise.
106         (xor_keys): Reduce size to match new PRNG.
107         (random_seed_i4): Update to new function and struct names, remove
108         special handling of variable p used in previous PRNG.
109         (random_seed_i8): Likewise.
111 2019-08-07  Janne Blomqvist  <jb@gcc.gnu.org>
113         PR fortran/53796
114         * io/inquire.c (inquire_via_filename): Set recl to -1 for
115         unconnected units.
117 2019-07-21  Thomas König  <tkoenig@gcc.gnu.org>
119         PR libfortran/91030
120         * io/unix.c (BUFFER_SIZE): Delete.
121         (BUFFER_FORMATTED_SIZE_DEFAULT): New variable.
122         (BUFFER_UNFORMATTED_SIZE_DEFAULT): New variable.
123         (unix_stream): Add buffer_size.
124         (buf_read): Use s->buffer_size instead of BUFFER_SIZE.
125         (buf_write): Likewise.
126         (buf_init): Add argument unformatted.  Handle block sizes
127         for unformatted vs. formatted, using defaults if provided.
128         (fd_to_stream): Add argument unformatted in call to buf_init.
129         * libgfortran.h (options_t): Add buffer_size_formatted and
130         buffer_size_unformatted.
131         * runtime/environ.c (variable_table): Add
132         GFORTRAN_UNFORMATTED_BUFFER_SIZE and
133         GFORTRAN_FORMATTED_BUFFER_SIZE.
135 2019-06-25  Kwok Cheung Yeung  <kcy@codesourcery.com>
136             Andrew Stubbs  <ams@codesourcery.com>
138         * configure: Regenerate.
139         * configure.ac (LIBGFOR_MINIMAL): Do not use on AMD GCN.
141 2019-06-14  Janne Blomqvist  <jb@gcc.gnu.org>
143         PR fortran/65921
144         * runtime/memory.c (SIZE_MAX):Remove macro definition.
145         (xmallocarray): Use __builtin_mul_overflow.
147 2019-05-22  Jeff Law  <law@redhat.com>
149         PR fortran/89100
150         * io/format.c (parse_format_list): set default width when the
151         IOPARM_DT_DEC_EXT flag is set for i, f and g.
152         * io/io.h: add default_width_for_integer, default_width_for_float
153         and default_precision_for_float.
154         * io/write.c (write_boz): extra parameter giving length of data
155         corresponding to the type's kind.
156         (write_b): pass data length as extra parameter in calls to
157         write_boz.
158         (write_o): pass data length as extra parameter in calls to
159         write_boz.
160         (write_z): pass data length as extra parameter in calls to
161         write_boz.
162         (size_from_kind): also set size is default width is set.
163         * io/write_float.def (build_float_string): new paramter inserted
164         before result parameter. If default width use values passed
165         instead of the values in fnode.
166         (FORMAT_FLOAT): macro modified to check for default width and
167         calls to build_float_string to pass in default width.
168         (get_float_string): set width and precision to defaults when
169         needed.
171 2019-05-19  Janne Blomqvist  <jb@gcc.gnu.org>
173         PR libfortran/90038
174         * intrinsics/execute_command_line (sigchld_handler): New function.
175         (execute_command_line): Install handler for SIGCHLD.
176         * configure.ac: Check for presence of sigaction and waitpid.
177         * config.h.in: Regenerated.
178         * configure: Regenerated.
180 2019-05-17  Janne Blomqvist  <jb@gcc.gnu.org>
182         PR libfortran/90038
183         * configure.ac (AC_CHECK_FUNCS_ONCE): Check for posix_spawn.
184         * intrinsics/execute_command_line (execute_command_line): Use
185         posix_spawn.
186         * Makefile.in: Regenerated.
187         * config.h.in: Regenerated.
188         * configure: Regenerated.
190 2019-05-17  Jakub Jelinek  <jakub@redhat.com>
192         PR fortran/54613
193         * gfortran.map (GFORTRAN_9.2): Export _gfortran_{,m,s}findloc{0,1}_r10.
194         * Makefile.am (i_findloc0_c): Add $(srcdir)/generated/findloc0_r10.c.
195         (i_findloc1_c): Add $(srcdir)/generated/findloc1_r10.c.
196         * Makefile.in: Regenerated.
197         * generated/findloc0_r10.c: Generated.
198         * generated/findloc1_r10.c: Generated.
200         PR fortran/54613
201         * gfortran.map (GFORTRAN_9.2): New symbol version, export
202         _gfortran_{,m,s}findloc0_i2 in it.
204 2019-05-15  Janne Blomqvist  <jb@gcc.gnu.org>
206         PR fortran/90461
207         * io/open.c (new_unit): Don't check if the file is already open
208         for F2018.
210 2019-05-02  Jakub Jelinek  <jakub@redhat.com>
212         * Makefile.am (gfor_cdir): Remove $(MULTISUBDIR).
213         * Makefile.in: Regenerated.
215 2019-04-14  Paul Thomas  <pault@gcc.gnu.org>
217         PR fortran/89843
218         * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Only
219         return immediately if the source pointer is null. Bring
220         forward the extraction of the gfc type. Extract the kind so
221         that the element size can be correctly computed for sections
222         and components of derived type arrays. Remove the free of the
223         CFI descriptor since this is now done in trans-expr.c.
224         (gfc_desc_to_cfi_desc): Only allocate the CFI descriptor if it
225         is not null.
226         (CFI_section): Normalise the difference between the upper and
227         lower bounds by the stride to correctly calculate the extents
228         of the section.
230         PR fortran/89846
231         * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Use
232         the stride measure for the gfc span if it is not a multiple
233         of the element length. Otherwise use the element length.
235         PR fortran/90022
236         * runtime/ISO_Fortran_binding.c (CFI_is_contiguous) : Return
237         1 for true and 0 otherwise to comply with the standard. Correct
238         the contiguity check for rank 3 and greater by using the stride
239         measure of the lower dimension rather than the element length.
241 2019-03-25  John David Anglin  <danglin@gcc.gnu.org>
243         PR libgfortran/79540
244         * io/write_float.def (build_float_string): Don't copy digits when
245         ndigits is negative.
247 2019-03-05  Jakub Jelinek  <jakub@redhat.com>
249         PR libgfortran/89593
250         * caf/single.c (_gfortran_caf_sendget_by_ref): Cast &temp to
251         gfc_descriptor_t * to avoid warning.
253 2019-02-26  Uroš Bizjak  <ubizjak@gmail.com>
255         * io/transfer.c (transfer_array_inner): Do not
256         cast charlen to index_type.
258 2019-02-25  Dominique d'Humieres  <dominiq@gcc.gnu.org>
260         PR libfortran/89274
261         * io/write.c (write_integer): Add width for INTEGER(16).
263 2019-02-23  Paul Thomas  <pault@gcc.gnu.org>
265         PR fortran/89385
266         PR fortran/89366
267         * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc) : In the
268         interchange between character and derived, the character type
269         was being set incorrectly.
270         (gfc_desc_to_cfi_desc) : Eliminate the interchange of types in
271         this function. Do not add the kind and length information to
272         the type field of structures. Lbounds were incorrectly being
273         set to zero for allocatable and pointer descriptors. Should
274         have been non-pointer, non-allocatables that received this
275         treatment.
277 2019-01-30  Uroš Bizjak  <ubizjak@gmail.com>
279         PR libfortran/88678
280         Revert:
281         2016-11-16  Szabolcs Nagy  <szabolcs.nagy@arm.com>
283         PR libfortran/78314
284         * config/fpu-glibc.h (support_fpu_trap): Use feenableexcept.
286 2019-01-30  Uroš Bizjak  <ubizjak@gmail.com>
288         PR libfortran/88678
289         * config/fpu-glibc.h (set_fpu_trap_exceptions): Clear stalled
290         exception flags before changing trap mode.  Optimize to call
291         feenableexcept and fedisableexcept only once.
293 2019-01-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
295         * io/async.c (init_adv_cond): Use __GTHREAD_COND_INIT_FUNCTION().
297 2019-01-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
299         PR libfortran/89020
300         * io/close.c (st_close): Simplify text of error message to not
301         presume a specific cause of failure to remove file.
303 2019-01-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
305         PR libfortran/89020
306         * io/close.c (st_close): Fix typo.
308 2019-01-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
310         PR libfortran/89020
311         * io/close.c (st_close): Generate error if calls to 'remove' return
312         an error.
314 2019-01-17  Andrew Stubbs  <ams@codesourcery.com>
315             Kwok Cheung Yeung  <kcy@codesourcery.com>
316             Julian Brown  <julian@codesourcery.com>
317             Tom de Vries  <tom@codesourcery.com>
319         * configure.ac: Use minimal mode for amdgcn.
320         * configure: Regenerate.
322 2019-01-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
324         PR libfortran/88776
325         * io/open.c (newunit): Free format buffer if the unit specified is for
326         stdin, stdout, or stderr.
328 2019-01-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
330         PR libfortran/88776
331         * io/list_read.c (namelist_read): Use nml_err_ret path on read error
332         not based on stdin_unit.
334 2019-01-12  Paul Thomas  <pault@gcc.gnu.org>
336         * ISO_Fortran_binding.h : New file.
337         * Makefile.am : Include ISO_Fortran_binding.c in the list of
338         files to compile.
339         * Makefile.in : Regenerated.
340         * gfortran.map : Add _gfortran_cfi_desc_to_gfc_desc,
341         _gfortran_gfc_desc_to_cfi_desc and the CFI API functions.
342         * runtime/ISO_Fortran_binding.c : New file containing the new
343         functions added to the map.
345 2019-01-12  Jakub Jelinek  <jakub@redhat.com>
347         PR libfortran/88807
348         * m4/minloc0.m4: Reindent to avoid -Wmisleading-indentation warnings.
349         * generated/minloc0_4_i1.c: Regenerated.
350         * generated/minloc0_4_i2.c: Regenerated.
351         * generated/minloc0_4_i4.c: Regenerated.
352         * generated/minloc0_4_i8.c: Regenerated.
353         * generated/minloc0_4_i16.c: Regenerated.
354         * generated/minloc0_4_r4.c: Regenerated.
355         * generated/minloc0_4_r8.c: Regenerated.
356         * generated/minloc0_4_r10.c: Regenerated.
357         * generated/minloc0_4_r16.c: Regenerated.
358         * generated/minloc0_8_i1.c: Regenerated.
359         * generated/minloc0_8_i2.c: Regenerated.
360         * generated/minloc0_8_i4.c: Regenerated.
361         * generated/minloc0_8_i8.c: Regenerated.
362         * generated/minloc0_8_i16.c: Regenerated.
363         * generated/minloc0_8_r4.c: Regenerated.
364         * generated/minloc0_8_r8.c: Regenerated.
365         * generated/minloc0_8_r10.c: Regenerated.
366         * generated/minloc0_8_r16.c: Regenerated.
367         * generated/minloc0_16_i1.c: Regenerated.
368         * generated/minloc0_16_i2.c: Regenerated.
369         * generated/minloc0_16_i4.c: Regenerated.
370         * generated/minloc0_16_i8.c: Regenerated.
371         * generated/minloc0_16_i16.c: Regenerated.
372         * generated/minloc0_16_r4.c: Regenerated.
373         * generated/minloc0_16_r8.c: Regenerated.
374         * generated/minloc0_16_r10.c: Regenerated.
375         * generated/minloc0_16_r16.c: Regenerated.
377 2019-01-09  Sandra Loosemore  <sandra@codesourcery.com>
379         PR other/16615
380         * caf/single.c: Mechanically replace "can not" with "cannot".
381         * io/unit.c: Likewise.
383 2019-01-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
384             Harald Anlauf <anlauf@gmx.de>
385             Tobias Burnus <burnus@gcc.gnu.org>
387         PR fortran/45424
388         * Makefile.am: Add intrinsics/is_contiguous.c.
389         * Makefile.in: Regenerated.
390         * gfortran.map: Add _gfortran_is_contiguous0.
391         * intrinsics/is_contiguous.c: New file.
392         * libgfortran.h: Add prototype for is_contiguous0.
394 2019-01-07  Janne Blomqvist  <jb@gcc.gnu.org>
396         * gfortran.map (GFORTRAN_9): Make GFORTRAN_9 node depend on
397         GFORTRAN_8.
399 2019-01-01  Jakub Jelinek  <jakub@redhat.com>
401         Update copyright years.
403 Copyright (C) 2019 Free Software Foundation, Inc.
405 Copying and distribution of this file, with or without modification,
406 are permitted in any medium without royalty provided the copyright
407 notice and this notice are preserved.