PR other/83508
[official-gcc.git] / libgfortran / ChangeLog
blobc6c362870bd88de0791514ffd7d4fdc2bd023451
1 2018-01-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
3         PR libgfortran/83811
4         * write.c (select_buffer): Adjust buffer size up by 1.
6 2018-01-08  Janne Blomqvist  <jb@gcc.gnu.org>
8         PR 78534, bugfix for r256322
9         * io/transfer.c (next_record_w): Use correct type for return value
10         of next_array_record.
12 2018-01-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
14         * libgfortran.h (GFC_DTYPE_COPY): New macro.
15         (GFC_DTYPE_COPY_SETRANK): New macro.
16         (GFC_DTYPE_IS_UNSET): New macro.
17         * intrinsics/cshift0.c (cshift0): Use new macros.
18         * intrinsics/eoshift0.c (eoshift0): Likewise.
19         * intrinsics/eoshift2.c (eoshift2): Likewise.
20         * intrinsics/move_alloc.c (move_alloc): Likewise.
21         * intrinsics/reshape_generic.c (reshape_internal): Likewise.
22         * intrinsics/spread_generic.c (spread_internal): Likewise.
23         * intrinsics/spread_generic.c (spread_scalar): Likewise.
24         * intrinsics/spread_generic.c (spread_char_scalar): Likewise.
25         * intrinsics/spread_generic.c (spread_char4_scalar): Likewise.
26         * intrinsics/unpack_generic.c (unpack0): Likewise.
27         * intrinsics/unpack_generic.c (unpack0_char): Likewise.
28         * intrinsics/unpack_generic.c (unpack0_char4): Likewise.
29         * m4/cshift1.m4 (cshift1): Likewise.
30         * m4/eoshift1.m4 (eoshift1): Likewise.
31         * m4/eoshift3.m4 (eoshift3): Likewise.
32         * m4/iforeach-s.m4: Likewise.
33         * m4/iforeach.m4: Likewise.
34         * m4/ifunction-s.m4: Likewise.
35         * m4/ifunction-s2.m4: Likewise.
36         * m4/ifunction.m4: Likewise.
37         * m4/ifunction_logical.m4: Likewise.
38         * m4/reshape.m4: Likewise.
39         * m4/spread.m4: Likewise.
40         * generated/all_l1.c : Regenerated.
41         * generated/all_l16.c : Regenerated.
42         * generated/all_l2.c : Regenerated.
43         * generated/all_l4.c : Regenerated.
44         * generated/all_l8.c : Regenerated.
45         * generated/any_l1.c : Regenerated.
46         * generated/any_l16.c : Regenerated.
47         * generated/any_l2.c : Regenerated.
48         * generated/any_l4.c : Regenerated.
49         * generated/any_l8.c : Regenerated.
50         * generated/count_16_l.c : Regenerated.
51         * generated/count_1_l.c : Regenerated.
52         * generated/count_2_l.c : Regenerated.
53         * generated/count_4_l.c : Regenerated.
54         * generated/count_8_l.c : Regenerated.
55         * generated/cshift1_16.c : Regenerated.
56         * generated/cshift1_4.c : Regenerated.
57         * generated/cshift1_8.c : Regenerated.
58         * generated/eoshift1_16.c : Regenerated.
59         * generated/eoshift1_4.c : Regenerated.
60         * generated/eoshift1_8.c : Regenerated.
61         * generated/eoshift3_16.c : Regenerated.
62         * generated/eoshift3_4.c : Regenerated.
63         * generated/eoshift3_8.c : Regenerated.
64         * generated/iall_i1.c : Regenerated.
65         * generated/iall_i16.c : Regenerated.
66         * generated/iall_i2.c : Regenerated.
67         * generated/iall_i4.c : Regenerated.
68         * generated/iall_i8.c : Regenerated.
69         * generated/iany_i1.c : Regenerated.
70         * generated/iany_i16.c : Regenerated.
71         * generated/iany_i2.c : Regenerated.
72         * generated/iany_i4.c : Regenerated.
73         * generated/iany_i8.c : Regenerated.
74         * generated/iparity_i1.c : Regenerated.
75         * generated/iparity_i16.c : Regenerated.
76         * generated/iparity_i2.c : Regenerated.
77         * generated/iparity_i4.c : Regenerated.
78         * generated/iparity_i8.c : Regenerated.
79         * generated/maxloc0_16_i1.c : Regenerated.
80         * generated/maxloc0_16_i16.c : Regenerated.
81         * generated/maxloc0_16_i2.c : Regenerated.
82         * generated/maxloc0_16_i4.c : Regenerated.
83         * generated/maxloc0_16_i8.c : Regenerated.
84         * generated/maxloc0_16_r10.c : Regenerated.
85         * generated/maxloc0_16_r16.c : Regenerated.
86         * generated/maxloc0_16_r4.c : Regenerated.
87         * generated/maxloc0_16_r8.c : Regenerated.
88         * generated/maxloc0_16_s1.c : Regenerated.
89         * generated/maxloc0_16_s4.c : Regenerated.
90         * generated/maxloc0_4_i1.c : Regenerated.
91         * generated/maxloc0_4_i16.c : Regenerated.
92         * generated/maxloc0_4_i2.c : Regenerated.
93         * generated/maxloc0_4_i4.c : Regenerated.
94         * generated/maxloc0_4_i8.c : Regenerated.
95         * generated/maxloc0_4_r10.c : Regenerated.
96         * generated/maxloc0_4_r16.c : Regenerated.
97         * generated/maxloc0_4_r4.c : Regenerated.
98         * generated/maxloc0_4_r8.c : Regenerated.
99         * generated/maxloc0_4_s1.c : Regenerated.
100         * generated/maxloc0_4_s4.c : Regenerated.
101         * generated/maxloc0_8_i1.c : Regenerated.
102         * generated/maxloc0_8_i16.c : Regenerated.
103         * generated/maxloc0_8_i2.c : Regenerated.
104         * generated/maxloc0_8_i4.c : Regenerated.
105         * generated/maxloc0_8_i8.c : Regenerated.
106         * generated/maxloc0_8_r10.c : Regenerated.
107         * generated/maxloc0_8_r16.c : Regenerated.
108         * generated/maxloc0_8_r4.c : Regenerated.
109         * generated/maxloc0_8_r8.c : Regenerated.
110         * generated/maxloc0_8_s1.c : Regenerated.
111         * generated/maxloc0_8_s4.c : Regenerated.
112         * generated/maxloc1_16_i1.c : Regenerated.
113         * generated/maxloc1_16_i16.c : Regenerated.
114         * generated/maxloc1_16_i2.c : Regenerated.
115         * generated/maxloc1_16_i4.c : Regenerated.
116         * generated/maxloc1_16_i8.c : Regenerated.
117         * generated/maxloc1_16_r10.c : Regenerated.
118         * generated/maxloc1_16_r16.c : Regenerated.
119         * generated/maxloc1_16_r4.c : Regenerated.
120         * generated/maxloc1_16_r8.c : Regenerated.
121         * generated/maxloc1_16_s1.c : Regenerated.
122         * generated/maxloc1_16_s4.c : Regenerated.
123         * generated/maxloc1_4_i1.c : Regenerated.
124         * generated/maxloc1_4_i16.c : Regenerated.
125         * generated/maxloc1_4_i2.c : Regenerated.
126         * generated/maxloc1_4_i4.c : Regenerated.
127         * generated/maxloc1_4_i8.c : Regenerated.
128         * generated/maxloc1_4_r10.c : Regenerated.
129         * generated/maxloc1_4_r16.c : Regenerated.
130         * generated/maxloc1_4_r4.c : Regenerated.
131         * generated/maxloc1_4_r8.c : Regenerated.
132         * generated/maxloc1_4_s1.c : Regenerated.
133         * generated/maxloc1_4_s4.c : Regenerated.
134         * generated/maxloc1_8_i1.c : Regenerated.
135         * generated/maxloc1_8_i16.c : Regenerated.
136         * generated/maxloc1_8_i2.c : Regenerated.
137         * generated/maxloc1_8_i4.c : Regenerated.
138         * generated/maxloc1_8_i8.c : Regenerated.
139         * generated/maxloc1_8_r10.c : Regenerated.
140         * generated/maxloc1_8_r16.c : Regenerated.
141         * generated/maxloc1_8_r4.c : Regenerated.
142         * generated/maxloc1_8_r8.c : Regenerated.
143         * generated/maxloc1_8_s1.c : Regenerated.
144         * generated/maxloc1_8_s4.c : Regenerated.
145         * generated/maxval1_s1.c : Regenerated.
146         * generated/maxval1_s4.c : Regenerated.
147         * generated/maxval_i1.c : Regenerated.
148         * generated/maxval_i16.c : Regenerated.
149         * generated/maxval_i2.c : Regenerated.
150         * generated/maxval_i4.c : Regenerated.
151         * generated/maxval_i8.c : Regenerated.
152         * generated/maxval_r10.c : Regenerated.
153         * generated/maxval_r16.c : Regenerated.
154         * generated/maxval_r4.c : Regenerated.
155         * generated/maxval_r8.c : Regenerated.
156         * generated/minloc0_16_i1.c : Regenerated.
157         * generated/minloc0_16_i16.c : Regenerated.
158         * generated/minloc0_16_i2.c : Regenerated.
159         * generated/minloc0_16_i4.c : Regenerated.
160         * generated/minloc0_16_i8.c : Regenerated.
161         * generated/minloc0_16_r10.c : Regenerated.
162         * generated/minloc0_16_r16.c : Regenerated.
163         * generated/minloc0_16_r4.c : Regenerated.
164         * generated/minloc0_16_r8.c : Regenerated.
165         * generated/minloc0_16_s1.c : Regenerated.
166         * generated/minloc0_16_s4.c : Regenerated.
167         * generated/minloc0_4_i1.c : Regenerated.
168         * generated/minloc0_4_i16.c : Regenerated.
169         * generated/minloc0_4_i2.c : Regenerated.
170         * generated/minloc0_4_i4.c : Regenerated.
171         * generated/minloc0_4_i8.c : Regenerated.
172         * generated/minloc0_4_r10.c : Regenerated.
173         * generated/minloc0_4_r16.c : Regenerated.
174         * generated/minloc0_4_r4.c : Regenerated.
175         * generated/minloc0_4_r8.c : Regenerated.
176         * generated/minloc0_4_s1.c : Regenerated.
177         * generated/minloc0_4_s4.c : Regenerated.
178         * generated/minloc0_8_i1.c : Regenerated.
179         * generated/minloc0_8_i16.c : Regenerated.
180         * generated/minloc0_8_i2.c : Regenerated.
181         * generated/minloc0_8_i4.c : Regenerated.
182         * generated/minloc0_8_i8.c : Regenerated.
183         * generated/minloc0_8_r10.c : Regenerated.
184         * generated/minloc0_8_r16.c : Regenerated.
185         * generated/minloc0_8_r4.c : Regenerated.
186         * generated/minloc0_8_r8.c : Regenerated.
187         * generated/minloc0_8_s1.c : Regenerated.
188         * generated/minloc0_8_s4.c : Regenerated.
189         * generated/minloc1_16_i1.c : Regenerated.
190         * generated/minloc1_16_i16.c : Regenerated.
191         * generated/minloc1_16_i2.c : Regenerated.
192         * generated/minloc1_16_i4.c : Regenerated.
193         * generated/minloc1_16_i8.c : Regenerated.
194         * generated/minloc1_16_r10.c : Regenerated.
195         * generated/minloc1_16_r16.c : Regenerated.
196         * generated/minloc1_16_r4.c : Regenerated.
197         * generated/minloc1_16_r8.c : Regenerated.
198         * generated/minloc1_16_s1.c : Regenerated.
199         * generated/minloc1_16_s4.c : Regenerated.
200         * generated/minloc1_4_i1.c : Regenerated.
201         * generated/minloc1_4_i16.c : Regenerated.
202         * generated/minloc1_4_i2.c : Regenerated.
203         * generated/minloc1_4_i4.c : Regenerated.
204         * generated/minloc1_4_i8.c : Regenerated.
205         * generated/minloc1_4_r10.c : Regenerated.
206         * generated/minloc1_4_r16.c : Regenerated.
207         * generated/minloc1_4_r4.c : Regenerated.
208         * generated/minloc1_4_r8.c : Regenerated.
209         * generated/minloc1_4_s1.c : Regenerated.
210         * generated/minloc1_4_s4.c : Regenerated.
211         * generated/minloc1_8_i1.c : Regenerated.
212         * generated/minloc1_8_i16.c : Regenerated.
213         * generated/minloc1_8_i2.c : Regenerated.
214         * generated/minloc1_8_i4.c : Regenerated.
215         * generated/minloc1_8_i8.c : Regenerated.
216         * generated/minloc1_8_r10.c : Regenerated.
217         * generated/minloc1_8_r16.c : Regenerated.
218         * generated/minloc1_8_r4.c : Regenerated.
219         * generated/minloc1_8_r8.c : Regenerated.
220         * generated/minloc1_8_s1.c : Regenerated.
221         * generated/minloc1_8_s4.c : Regenerated.
222         * generated/minval1_s1.c : Regenerated.
223         * generated/minval1_s4.c : Regenerated.
224         * generated/minval_i1.c : Regenerated.
225         * generated/minval_i16.c : Regenerated.
226         * generated/minval_i2.c : Regenerated.
227         * generated/minval_i4.c : Regenerated.
228         * generated/minval_i8.c : Regenerated.
229         * generated/minval_r10.c : Regenerated.
230         * generated/minval_r16.c : Regenerated.
231         * generated/minval_r4.c : Regenerated.
232         * generated/minval_r8.c : Regenerated.
233         * generated/norm2_r10.c : Regenerated.
234         * generated/norm2_r16.c : Regenerated.
235         * generated/norm2_r4.c : Regenerated.
236         * generated/norm2_r8.c : Regenerated.
237         * generated/parity_l1.c : Regenerated.
238         * generated/parity_l16.c : Regenerated.
239         * generated/parity_l2.c : Regenerated.
240         * generated/parity_l4.c : Regenerated.
241         * generated/parity_l8.c : Regenerated.
242         * generated/product_c10.c : Regenerated.
243         * generated/product_c16.c : Regenerated.
244         * generated/product_c4.c : Regenerated.
245         * generated/product_c8.c : Regenerated.
246         * generated/product_i1.c : Regenerated.
247         * generated/product_i16.c : Regenerated.
248         * generated/product_i2.c : Regenerated.
249         * generated/product_i4.c : Regenerated.
250         * generated/product_i8.c : Regenerated.
251         * generated/product_r10.c : Regenerated.
252         * generated/product_r16.c : Regenerated.
253         * generated/product_r4.c : Regenerated.
254         * generated/product_r8.c : Regenerated.
255         * generated/reshape_c10.c : Regenerated.
256         * generated/reshape_c16.c : Regenerated.
257         * generated/reshape_c4.c : Regenerated.
258         * generated/reshape_c8.c : Regenerated.
259         * generated/reshape_i16.c : Regenerated.
260         * generated/reshape_i4.c : Regenerated.
261         * generated/reshape_i8.c : Regenerated.
262         * generated/reshape_r10.c : Regenerated.
263         * generated/reshape_r16.c : Regenerated.
264         * generated/reshape_r4.c : Regenerated.
265         * generated/reshape_r8.c : Regenerated.
266         * generated/spread_c10.c : Regenerated.
267         * generated/spread_c16.c : Regenerated.
268         * generated/spread_c4.c : Regenerated.
269         * generated/spread_c8.c : Regenerated.
270         * generated/spread_i1.c : Regenerated.
271         * generated/spread_i16.c : Regenerated.
272         * generated/spread_i2.c : Regenerated.
273         * generated/spread_i4.c : Regenerated.
274         * generated/spread_i8.c : Regenerated.
275         * generated/spread_r10.c : Regenerated.
276         * generated/spread_r16.c : Regenerated.
277         * generated/spread_r4.c : Regenerated.
278         * generated/spread_r8.c : Regenerated.
279         * generated/sum_c10.c : Regenerated.
280         * generated/sum_c16.c : Regenerated.
281         * generated/sum_c4.c : Regenerated.
282         * generated/sum_c8.c : Regenerated.
283         * generated/sum_i1.c : Regenerated.
284         * generated/sum_i16.c : Regenerated.
285         * generated/sum_i2.c : Regenerated.
286         * generated/sum_i4.c : Regenerated.
287         * generated/sum_i8.c : Regenerated.
288         * generated/sum_r10.c : Regenerated.
289         * generated/sum_r16.c : Regenerated.
290         * generated/sum_r4.c : Regenerated.
291         * generated/sum_r8.c : Regenerated.
293 2018-01-07  Janne Blomqvist  <jb@gcc.gnu.org>
295         PR fortran/78534
296         PR fortran/83704
297         * io/fbuf.c (fbuf_init): Use size_t instead of int for length.
298         (fbuf_debug): Convert debug output to unsigned long.
299         (fbuf_reset): Use ptrdiff_t for return value.
300         (fbuf_alloc): Use size_t for length argument.
301         (fbuf_flush): Handle large buffers.
302         (fbuf_flush_list): Likewise.
303         (fbuf_seek): Use ptrdiff_t for offset and return value.
304         (fbuf_read): Use size_t for length argument.
305         (fbuf_getc_refill): Use size_t to match fbuf_read.
306         * io/fbuf.h (struct fbuf): Use size_t for lengths.
307         (fbuf_init): Use size_t instead of int for length.
308         (fbuf_reset): Use ptrdiff_t for return value.
309         (fbuf_alloc): Use size_t for length argument.
310         (fbuf_seek): Use ptrdiff_t for offset and return value.
311         (fbuf_read): Use size_t for length argument.
312         * io/io.h (read_block_form): Likewise.
313         (read_block_form4): Likewise.
314         (write_block): Likewise.
315         (read_a): Likewise.
316         (read_a_char4): Likewise.
317         (read_x): Likewise.
318         (write_a): Likewise.
319         (write_a_char4): Likewise.
320         * io/list_read.c (list_formatted_read_scalar): Use size_t to
321         handle large buffers.
322         * io/read.c (read_l): Likewise.
323         (read_utf8): Likewise.
324         (read_utf8_char1): Likewise.
325         (read_default_char1): Likewise.
326         (read_utf8_char4): Likewise.
327         (read_default_char4): Likewise.
328         (read_a): Likewise.
329         (read_a_char4): Likewise.
330         (eat_leading_spaces): Likewise.
331         (next_char): Likewise.
332         (read_decimal): Likewise.
333         (read_radix): Likewise.
334         (read_f): Likewise.
335         (read_x): Likewise.
336         * io/transfer.c (read_sf_internal): Likewise.
337         (read_sf): Likewise.
338         (read_block_form): Likewise.
339         (read_block_form4): Likewise.
340         (write_block): Likewise.
341         (formatted_transfer_scalar_write): Likewise.
342         (next_record_w): Likewise.
343         * io/unix.c (mem_alloc_r): Likewise.
344         (mem_alloc_r4): Likewise.
345         (mem_alloc_w): Likewise.
346         (mem_alloc_w4): Likewise.
347         (mem_read): Likewise.
348         (mem_read4): Likewise.
349         (mem_write): Likewise.
350         (mem_write4): Likewise.
351         (open_internal): Likewise.
352         (open_internal4): Likewise.
353         * io/unix.h (open_internal): Likewise.
354         (open_internal4): Likewise.
355         (mem_alloc_w): Likewise.
356         (mem_alloc_r): Likewise.
357         (mem_alloc_w4): Likewise.
358         (mem_alloc_r4): Likewise.
359         * io/write.c (write_check_cc): Likewise.
360         (write_cc): Likewise.
361         (write_a): Likewise.
362         (write_a_char4): Likewise.
364 2018-01-06  Janne Blomqvist  <jb@gcc.gnu.org>
366         * io/write.c (namelist_write): Remove unused variable "i".
368 2018-01-06  Dominique d'Humieres  <dominiq@lps.ens.fr>
369             Janne Blomqvist  <jb@gcc.gnu.org>
371         PR fortran/83704
372         * io/write.c (write_character): Use size_t instead of int for
373         length.
375 2018-01-05  Janne Blomqvist  <jb@gcc.gnu.org>
377         PR fortran/78534
378         * intrinsics/args.c (getarg_i4): Use gfc_charlen_type.
379         (get_command_argument_i4): Likewise.
380         (get_command_i4): Likewise.
381         * intrinsics/chmod.c (chmod_internal): Likewise.
382         * intrinsics/env.c (get_environment_variable_i4): Likewise.
383         * intrinsics/extends_type_of.c (struct vtype): Use size_t for size
384         member.
385         * intrinsics/gerror.c (gerror): Use gfc_charlen_type.
386         * intrinsics/getlog.c (getlog): Likewise.
387         * intrinsics/hostnm.c (hostnm_0): Likewise.
388         * intrinsics/string_intrinsics_inc.c (string_len_trim): Rework to
389         work if gfc_charlen_type is unsigned.
390         (string_scan): Likewise.
391         * io/transfer.c (transfer_character): Modify prototype.
392         (transfer_character_write): Likewise.
393         (transfer_character_wide): Likewise.
394         (transfer_character_wide_write): Likewise.
395         (transfer_array): Typecast to avoid signed-unsigned comparison.
396         * io/unit.c (is_trim_ok): Use gfc_charlen_type.
397         * io/write.c (namelist_write): Likewise.
398         * libgfortran.h (gfc_charlen_type): Change typedef to size_t.
400 2018-01-03  Jakub Jelinek  <jakub@redhat.com>
402         Update copyright years.
404 2018-01-02  Janne Blomqvist  <jb@gcc.gnu.org>
406         PR libgfortran/83649
407         * io/unix.c (MAX_CHUNK): New define.
408         (raw_read): For reads larger than MAX_CHUNK, loop.
409         (raw_write): Write no more than MAX_CHUNK bytes per iteration.
411 Copyright (C) 2018 Free Software Foundation, Inc.
413 Copying and distribution of this file, with or without modification,
414 are permitted in any medium without royalty provided the copyright
415 notice and this notice are preserved.