Minor std::to_chars optimisation for base 10
[official-gcc.git] / libgfortran / ChangeLog
blob8833c3049670b3f6cc22151a4d25017028cfd25c
1 2019-09-05  Janne Blomqvist  <jb@gcc.gnu.org>
3         * intrinsics/random.c (master_init): Replace with
4         master_state.init.
5         (njumps): Remove variable.
6         (master_state): Make instance of struct prng_state.
7         (init_rand_state): When jumping, update the master_state once
8         instead of keeping track of how many jumps need to be done.
9         (SZU64): Modify to handle new master_state.
10         (SZ): Likewise.
11         (random_seed_i4): Likewise.
12         (random_seed_i8): Likewise.
14 2019-08-17  Janne Blomqvist  <jb@gcc.gnu.org>
16         PR fortran/68401
17         * gfortran.map: Add GFORTRAN_10 node, add _gfortran_os_error_at
18         symbol.
19         * libgfortran.h (os_error_at): New prototype.
20         * runtime/error.c (os_error_at): New function.
22 2019-08-13  Janne Blomqvist  <jb@gcc.gnu.org>
24         PR fortran/91414
25         * intrinsics/random.c (prng_state): Update state struct.
26         (master_state): Update to match new size.
27         (get_rand_state): Update to match new PRNG.
28         (rotl): New function.
29         (xorshift1024star): Replace with prng_next.
30         (prng_next): New function.
31         (jump): Update for new PRNG.
32         (lcg_parkmiller): Replace with splitmix64.
33         (splitmix64): New function.
34         (getosrandom): Fix return value, simplify.
35         (init_rand_state): Use getosrandom only to get 8 bytes, splitmix64
36         to fill rest of state.
37         (random_r4): Update to new function and struct names.
38         (random_r8): Likewise.
39         (random_r10): Likewise.
40         (random_r16): Likewise.
41         (arandom_r4): Liekwise.
42         (arandom_r8): Likewise.
43         (arandom_r10): Likwewise.
44         (arandom_r16): Likewise.
45         (xor_keys): Reduce size to match new PRNG.
46         (random_seed_i4): Update to new function and struct names, remove
47         special handling of variable p used in previous PRNG.
48         (random_seed_i8): Likewise.
50 2019-08-07  Janne Blomqvist  <jb@gcc.gnu.org>
52         PR fortran/53796
53         * io/inquire.c (inquire_via_filename): Set recl to -1 for
54         unconnected units.
56 2019-07-21  Thomas König  <tkoenig@gcc.gnu.org>
58         PR libfortran/91030
59         * io/unix.c (BUFFER_SIZE): Delete.
60         (BUFFER_FORMATTED_SIZE_DEFAULT): New variable.
61         (BUFFER_UNFORMATTED_SIZE_DEFAULT): New variable.
62         (unix_stream): Add buffer_size.
63         (buf_read): Use s->buffer_size instead of BUFFER_SIZE.
64         (buf_write): Likewise.
65         (buf_init): Add argument unformatted.  Handle block sizes
66         for unformatted vs. formatted, using defaults if provided.
67         (fd_to_stream): Add argument unformatted in call to buf_init.
68         * libgfortran.h (options_t): Add buffer_size_formatted and
69         buffer_size_unformatted.
70         * runtime/environ.c (variable_table): Add
71         GFORTRAN_UNFORMATTED_BUFFER_SIZE and
72         GFORTRAN_FORMATTED_BUFFER_SIZE.
74 2019-06-25  Kwok Cheung Yeung  <kcy@codesourcery.com>
75             Andrew Stubbs  <ams@codesourcery.com>
77         * configure: Regenerate.
78         * configure.ac (LIBGFOR_MINIMAL): Do not use on AMD GCN.
80 2019-06-14  Janne Blomqvist  <jb@gcc.gnu.org>
82         PR fortran/65921
83         * runtime/memory.c (SIZE_MAX):Remove macro definition.
84         (xmallocarray): Use __builtin_mul_overflow.
86 2019-05-22  Jeff Law  <law@redhat.com>
88         PR fortran/89100
89         * io/format.c (parse_format_list): set default width when the
90         IOPARM_DT_DEC_EXT flag is set for i, f and g.
91         * io/io.h: add default_width_for_integer, default_width_for_float
92         and default_precision_for_float.
93         * io/write.c (write_boz): extra parameter giving length of data
94         corresponding to the type's kind.
95         (write_b): pass data length as extra parameter in calls to
96         write_boz.
97         (write_o): pass data length as extra parameter in calls to
98         write_boz.
99         (write_z): pass data length as extra parameter in calls to
100         write_boz.
101         (size_from_kind): also set size is default width is set.
102         * io/write_float.def (build_float_string): new paramter inserted
103         before result parameter. If default width use values passed
104         instead of the values in fnode.
105         (FORMAT_FLOAT): macro modified to check for default width and
106         calls to build_float_string to pass in default width.
107         (get_float_string): set width and precision to defaults when
108         needed.
110 2019-05-19  Janne Blomqvist  <jb@gcc.gnu.org>
112         PR libfortran/90038
113         * intrinsics/execute_command_line (sigchld_handler): New function.
114         (execute_command_line): Install handler for SIGCHLD.
115         * configure.ac: Check for presence of sigaction and waitpid.
116         * config.h.in: Regenerated.
117         * configure: Regenerated.
119 2019-05-17  Janne Blomqvist  <jb@gcc.gnu.org>
121         PR libfortran/90038
122         * configure.ac (AC_CHECK_FUNCS_ONCE): Check for posix_spawn.
123         * intrinsics/execute_command_line (execute_command_line): Use
124         posix_spawn.
125         * Makefile.in: Regenerated.
126         * config.h.in: Regenerated.
127         * configure: Regenerated.
129 2019-05-17  Jakub Jelinek  <jakub@redhat.com>
131         PR fortran/54613
132         * gfortran.map (GFORTRAN_9.2): Export _gfortran_{,m,s}findloc{0,1}_r10.
133         * Makefile.am (i_findloc0_c): Add $(srcdir)/generated/findloc0_r10.c.
134         (i_findloc1_c): Add $(srcdir)/generated/findloc1_r10.c.
135         * Makefile.in: Regenerated.
136         * generated/findloc0_r10.c: Generated.
137         * generated/findloc1_r10.c: Generated.
139         PR fortran/54613
140         * gfortran.map (GFORTRAN_9.2): New symbol version, export
141         _gfortran_{,m,s}findloc0_i2 in it.
143 2019-05-15  Janne Blomqvist  <jb@gcc.gnu.org>
145         PR fortran/90461
146         * io/open.c (new_unit): Don't check if the file is already open
147         for F2018.
149 2019-05-02  Jakub Jelinek  <jakub@redhat.com>
151         * Makefile.am (gfor_cdir): Remove $(MULTISUBDIR).
152         * Makefile.in: Regenerated.
154 2019-04-14  Paul Thomas  <pault@gcc.gnu.org>
156         PR fortran/89843
157         * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Only
158         return immediately if the source pointer is null. Bring
159         forward the extraction of the gfc type. Extract the kind so
160         that the element size can be correctly computed for sections
161         and components of derived type arrays. Remove the free of the
162         CFI descriptor since this is now done in trans-expr.c.
163         (gfc_desc_to_cfi_desc): Only allocate the CFI descriptor if it
164         is not null.
165         (CFI_section): Normalise the difference between the upper and
166         lower bounds by the stride to correctly calculate the extents
167         of the section.
169         PR fortran/89846
170         * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Use
171         the stride measure for the gfc span if it is not a multiple
172         of the element length. Otherwise use the element length.
174         PR fortran/90022
175         * runtime/ISO_Fortran_binding.c (CFI_is_contiguous) : Return
176         1 for true and 0 otherwise to comply with the standard. Correct
177         the contiguity check for rank 3 and greater by using the stride
178         measure of the lower dimension rather than the element length.
180 2019-03-25  John David Anglin  <danglin@gcc.gnu.org>
182         PR libgfortran/79540
183         * io/write_float.def (build_float_string): Don't copy digits when
184         ndigits is negative.
186 2019-03-05  Jakub Jelinek  <jakub@redhat.com>
188         PR libgfortran/89593
189         * caf/single.c (_gfortran_caf_sendget_by_ref): Cast &temp to
190         gfc_descriptor_t * to avoid warning.
192 2019-02-26  Uroš Bizjak  <ubizjak@gmail.com>
194         * io/transfer.c (transfer_array_inner): Do not
195         cast charlen to index_type.
197 2019-02-25  Dominique d'Humieres  <dominiq@gcc.gnu.org>
199         PR libfortran/89274
200         * io/write.c (write_integer): Add width for INTEGER(16).
202 2019-02-23  Paul Thomas  <pault@gcc.gnu.org>
204         PR fortran/89385
205         PR fortran/89366
206         * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc) : In the
207         interchange between character and derived, the character type
208         was being set incorrectly.
209         (gfc_desc_to_cfi_desc) : Eliminate the interchange of types in
210         this function. Do not add the kind and length information to
211         the type field of structures. Lbounds were incorrectly being
212         set to zero for allocatable and pointer descriptors. Should
213         have been non-pointer, non-allocatables that received this
214         treatment.
216 2019-01-30  Uroš Bizjak  <ubizjak@gmail.com>
218         PR libfortran/88678
219         Revert:
220         2016-11-16  Szabolcs Nagy  <szabolcs.nagy@arm.com>
222         PR libfortran/78314
223         * config/fpu-glibc.h (support_fpu_trap): Use feenableexcept.
225 2019-01-30  Uroš Bizjak  <ubizjak@gmail.com>
227         PR libfortran/88678
228         * config/fpu-glibc.h (set_fpu_trap_exceptions): Clear stalled
229         exception flags before changing trap mode.  Optimize to call
230         feenableexcept and fedisableexcept only once.
232 2019-01-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
234         * io/async.c (init_adv_cond): Use __GTHREAD_COND_INIT_FUNCTION().
236 2019-01-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
238         PR libfortran/89020
239         * io/close.c (st_close): Simplify text of error message to not
240         presume a specific cause of failure to remove file.
242 2019-01-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
244         PR libfortran/89020
245         * io/close.c (st_close): Fix typo.
247 2019-01-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
249         PR libfortran/89020
250         * io/close.c (st_close): Generate error if calls to 'remove' return
251         an error.
253 2019-01-17  Andrew Stubbs  <ams@codesourcery.com>
254             Kwok Cheung Yeung  <kcy@codesourcery.com>
255             Julian Brown  <julian@codesourcery.com>
256             Tom de Vries  <tom@codesourcery.com>
258         * configure.ac: Use minimal mode for amdgcn.
259         * configure: Regenerate.
261 2019-01-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
263         PR libfortran/88776
264         * io/open.c (newunit): Free format buffer if the unit specified is for
265         stdin, stdout, or stderr.
267 2019-01-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
269         PR libfortran/88776
270         * io/list_read.c (namelist_read): Use nml_err_ret path on read error
271         not based on stdin_unit.
273 2019-01-12  Paul Thomas  <pault@gcc.gnu.org>
275         * ISO_Fortran_binding.h : New file.
276         * Makefile.am : Include ISO_Fortran_binding.c in the list of
277         files to compile.
278         * Makefile.in : Regenerated.
279         * gfortran.map : Add _gfortran_cfi_desc_to_gfc_desc,
280         _gfortran_gfc_desc_to_cfi_desc and the CFI API functions.
281         * runtime/ISO_Fortran_binding.c : New file containing the new
282         functions added to the map.
284 2019-01-12  Jakub Jelinek  <jakub@redhat.com>
286         PR libfortran/88807
287         * m4/minloc0.m4: Reindent to avoid -Wmisleading-indentation warnings.
288         * generated/minloc0_4_i1.c: Regenerated.
289         * generated/minloc0_4_i2.c: Regenerated.
290         * generated/minloc0_4_i4.c: Regenerated.
291         * generated/minloc0_4_i8.c: Regenerated.
292         * generated/minloc0_4_i16.c: Regenerated.
293         * generated/minloc0_4_r4.c: Regenerated.
294         * generated/minloc0_4_r8.c: Regenerated.
295         * generated/minloc0_4_r10.c: Regenerated.
296         * generated/minloc0_4_r16.c: Regenerated.
297         * generated/minloc0_8_i1.c: Regenerated.
298         * generated/minloc0_8_i2.c: Regenerated.
299         * generated/minloc0_8_i4.c: Regenerated.
300         * generated/minloc0_8_i8.c: Regenerated.
301         * generated/minloc0_8_i16.c: Regenerated.
302         * generated/minloc0_8_r4.c: Regenerated.
303         * generated/minloc0_8_r8.c: Regenerated.
304         * generated/minloc0_8_r10.c: Regenerated.
305         * generated/minloc0_8_r16.c: Regenerated.
306         * generated/minloc0_16_i1.c: Regenerated.
307         * generated/minloc0_16_i2.c: Regenerated.
308         * generated/minloc0_16_i4.c: Regenerated.
309         * generated/minloc0_16_i8.c: Regenerated.
310         * generated/minloc0_16_i16.c: Regenerated.
311         * generated/minloc0_16_r4.c: Regenerated.
312         * generated/minloc0_16_r8.c: Regenerated.
313         * generated/minloc0_16_r10.c: Regenerated.
314         * generated/minloc0_16_r16.c: Regenerated.
316 2019-01-09  Sandra Loosemore  <sandra@codesourcery.com>
318         PR other/16615
319         * caf/single.c: Mechanically replace "can not" with "cannot".
320         * io/unit.c: Likewise.
322 2019-01-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
323             Harald Anlauf <anlauf@gmx.de>
324             Tobias Burnus <burnus@gcc.gnu.org>
326         PR fortran/45424
327         * Makefile.am: Add intrinsics/is_contiguous.c.
328         * Makefile.in: Regenerated.
329         * gfortran.map: Add _gfortran_is_contiguous0.
330         * intrinsics/is_contiguous.c: New file.
331         * libgfortran.h: Add prototype for is_contiguous0.
333 2019-01-07  Janne Blomqvist  <jb@gcc.gnu.org>
335         * gfortran.map (GFORTRAN_9): Make GFORTRAN_9 node depend on
336         GFORTRAN_8.
338 2019-01-01  Jakub Jelinek  <jakub@redhat.com>
340         Update copyright years.
342 Copyright (C) 2019 Free Software Foundation, Inc.
344 Copying and distribution of this file, with or without modification,
345 are permitted in any medium without royalty provided the copyright
346 notice and this notice are preserved.