[NDS32] new attribute no_prologue and new option -mret-in-naked-func.
[official-gcc.git] / libgfortran / ChangeLog
blobeeb25f9cbb50b550bf2534b97ded0d65d8557322
1 2018-05-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
3         PR libgfortran/85906
4         * io/write.c (write_integer): Initialise the fnode format to
5         FMT_NONE, used for list directed write.
6         (BUF_STACK_SZ): Bump default buffer size up to avoid allocs on
7         small stuff.
9 2018-05-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
11         PR libgfortran/85840
12         * io/write.c (write_float_0): Use separate local variable for
13         the float string length.
15 2018-05-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
17         PR fortran/54613
18         * m4/iforeach-s.m4: Remove assertion that back is zero.
19         * m4/iforeach.m4: Likewise.  Remove leading 'do'
20         before implementation start.
21         * m4/ifunction-s.m4: Remove assertion that back is zero.
22         * m4/ifunction.m4: Likewise.  Remove for loop if HAVE_BACK_ARG
23         is defined.
24         * m4/maxloc0.m4: Reorganize loops. Split loops between >= and =,
25         depending if back is true.  Mark the condition of having
26         found a value which exceeds the limit as unlikely.
27         * m4/minloc0.m4: Likewise.
28         * m4/maxloc1.m4: Likewise.
29         * m4/minloc1.m4: Likewise.
30         * m4/maxloc1s.m4: Handle back argument.
31         * m4/minloc1s.m4: Likewise.
32         * m4/maxloc2s.m4: Remove assertion that back is zero.
33         Remove special handling of loop start. Handle back argument.
34         * m4/minloc2s.m4: Likewise.
35         * generated/iall_i1.c: Regenerated.
36         * generated/iall_i16.c: Regenerated.
37         * generated/iall_i2.c: Regenerated.
38         * generated/iall_i4.c: Regenerated.
39         * generated/iall_i8.c: Regenerated.
40         * generated/iany_i1.c: Regenerated.
41         * generated/iany_i16.c: Regenerated.
42         * generated/iany_i2.c: Regenerated.
43         * generated/iany_i4.c: Regenerated.
44         * generated/iany_i8.c: Regenerated.
45         * generated/iparity_i1.c: Regenerated.
46         * generated/iparity_i16.c: Regenerated.
47         * generated/iparity_i2.c: Regenerated.
48         * generated/iparity_i4.c: Regenerated.
49         * generated/iparity_i8.c: Regenerated.
50         * generated/maxloc0_16_i1.c: Regenerated.
51         * generated/maxloc0_16_i16.c: Regenerated.
52         * generated/maxloc0_16_i2.c: Regenerated.
53         * generated/maxloc0_16_i4.c: Regenerated.
54         * generated/maxloc0_16_i8.c: Regenerated.
55         * generated/maxloc0_16_r10.c: Regenerated.
56         * generated/maxloc0_16_r16.c: Regenerated.
57         * generated/maxloc0_16_r4.c: Regenerated.
58         * generated/maxloc0_16_r8.c: Regenerated.
59         * generated/maxloc0_16_s1.c: Regenerated.
60         * generated/maxloc0_16_s4.c: Regenerated.
61         * generated/maxloc0_4_i1.c: Regenerated.
62         * generated/maxloc0_4_i16.c: Regenerated.
63         * generated/maxloc0_4_i2.c: Regenerated.
64         * generated/maxloc0_4_i4.c: Regenerated.
65         * generated/maxloc0_4_i8.c: Regenerated.
66         * generated/maxloc0_4_r10.c: Regenerated.
67         * generated/maxloc0_4_r16.c: Regenerated.
68         * generated/maxloc0_4_r4.c: Regenerated.
69         * generated/maxloc0_4_r8.c: Regenerated.
70         * generated/maxloc0_4_s1.c: Regenerated.
71         * generated/maxloc0_4_s4.c: Regenerated.
72         * generated/maxloc0_8_i1.c: Regenerated.
73         * generated/maxloc0_8_i16.c: Regenerated.
74         * generated/maxloc0_8_i2.c: Regenerated.
75         * generated/maxloc0_8_i4.c: Regenerated.
76         * generated/maxloc0_8_i8.c: Regenerated.
77         * generated/maxloc0_8_r10.c: Regenerated.
78         * generated/maxloc0_8_r16.c: Regenerated.
79         * generated/maxloc0_8_r4.c: Regenerated.
80         * generated/maxloc0_8_r8.c: Regenerated.
81         * generated/maxloc0_8_s1.c: Regenerated.
82         * generated/maxloc0_8_s4.c: Regenerated.
83         * generated/maxloc1_16_i1.c: Regenerated.
84         * generated/maxloc1_16_i16.c: Regenerated.
85         * generated/maxloc1_16_i2.c: Regenerated.
86         * generated/maxloc1_16_i4.c: Regenerated.
87         * generated/maxloc1_16_i8.c: Regenerated.
88         * generated/maxloc1_16_r10.c: Regenerated.
89         * generated/maxloc1_16_r16.c: Regenerated.
90         * generated/maxloc1_16_r4.c: Regenerated.
91         * generated/maxloc1_16_r8.c: Regenerated.
92         * generated/maxloc1_16_s1.c: Regenerated.
93         * generated/maxloc1_16_s4.c: Regenerated.
94         * generated/maxloc1_4_i1.c: Regenerated.
95         * generated/maxloc1_4_i16.c: Regenerated.
96         * generated/maxloc1_4_i2.c: Regenerated.
97         * generated/maxloc1_4_i4.c: Regenerated.
98         * generated/maxloc1_4_i8.c: Regenerated.
99         * generated/maxloc1_4_r10.c: Regenerated.
100         * generated/maxloc1_4_r16.c: Regenerated.
101         * generated/maxloc1_4_r4.c: Regenerated.
102         * generated/maxloc1_4_r8.c: Regenerated.
103         * generated/maxloc1_4_s1.c: Regenerated.
104         * generated/maxloc1_4_s4.c: Regenerated.
105         * generated/maxloc1_8_i1.c: Regenerated.
106         * generated/maxloc1_8_i16.c: Regenerated.
107         * generated/maxloc1_8_i2.c: Regenerated.
108         * generated/maxloc1_8_i4.c: Regenerated.
109         * generated/maxloc1_8_i8.c: Regenerated.
110         * generated/maxloc1_8_r10.c: Regenerated.
111         * generated/maxloc1_8_r16.c: Regenerated.
112         * generated/maxloc1_8_r4.c: Regenerated.
113         * generated/maxloc1_8_r8.c: Regenerated.
114         * generated/maxloc1_8_s1.c: Regenerated.
115         * generated/maxloc1_8_s4.c: Regenerated.
116         * generated/maxloc2_16_s1.c: Regenerated.
117         * generated/maxloc2_16_s4.c: Regenerated.
118         * generated/maxloc2_4_s1.c: Regenerated.
119         * generated/maxloc2_4_s4.c: Regenerated.
120         * generated/maxloc2_8_s1.c: Regenerated.
121         * generated/maxloc2_8_s4.c: Regenerated.
122         * generated/maxval_i1.c: Regenerated.
123         * generated/maxval_i16.c: Regenerated.
124         * generated/maxval_i2.c: Regenerated.
125         * generated/maxval_i4.c: Regenerated.
126         * generated/maxval_i8.c: Regenerated.
127         * generated/maxval_r10.c: Regenerated.
128         * generated/maxval_r16.c: Regenerated.
129         * generated/maxval_r4.c: Regenerated.
130         * generated/maxval_r8.c: Regenerated.
131         * generated/minloc0_16_i1.c: Regenerated.
132         * generated/minloc0_16_i16.c: Regenerated.
133         * generated/minloc0_16_i2.c: Regenerated.
134         * generated/minloc0_16_i4.c: Regenerated.
135         * generated/minloc0_16_i8.c: Regenerated.
136         * generated/minloc0_16_r10.c: Regenerated.
137         * generated/minloc0_16_r16.c: Regenerated.
138         * generated/minloc0_16_r4.c: Regenerated.
139         * generated/minloc0_16_r8.c: Regenerated.
140         * generated/minloc0_16_s1.c: Regenerated.
141         * generated/minloc0_16_s4.c: Regenerated.
142         * generated/minloc0_4_i1.c: Regenerated.
143         * generated/minloc0_4_i16.c: Regenerated.
144         * generated/minloc0_4_i2.c: Regenerated.
145         * generated/minloc0_4_i4.c: Regenerated.
146         * generated/minloc0_4_i8.c: Regenerated.
147         * generated/minloc0_4_r10.c: Regenerated.
148         * generated/minloc0_4_r16.c: Regenerated.
149         * generated/minloc0_4_r4.c: Regenerated.
150         * generated/minloc0_4_r8.c: Regenerated.
151         * generated/minloc0_4_s1.c: Regenerated.
152         * generated/minloc0_4_s4.c: Regenerated.
153         * generated/minloc0_8_i1.c: Regenerated.
154         * generated/minloc0_8_i16.c: Regenerated.
155         * generated/minloc0_8_i2.c: Regenerated.
156         * generated/minloc0_8_i4.c: Regenerated.
157         * generated/minloc0_8_i8.c: Regenerated.
158         * generated/minloc0_8_r10.c: Regenerated.
159         * generated/minloc0_8_r16.c: Regenerated.
160         * generated/minloc0_8_r4.c: Regenerated.
161         * generated/minloc0_8_r8.c: Regenerated.
162         * generated/minloc0_8_s1.c: Regenerated.
163         * generated/minloc0_8_s4.c: Regenerated.
164         * generated/minloc1_16_i1.c: Regenerated.
165         * generated/minloc1_16_i16.c: Regenerated.
166         * generated/minloc1_16_i2.c: Regenerated.
167         * generated/minloc1_16_i4.c: Regenerated.
168         * generated/minloc1_16_i8.c: Regenerated.
169         * generated/minloc1_16_r10.c: Regenerated.
170         * generated/minloc1_16_r16.c: Regenerated.
171         * generated/minloc1_16_r4.c: Regenerated.
172         * generated/minloc1_16_r8.c: Regenerated.
173         * generated/minloc1_16_s1.c: Regenerated.
174         * generated/minloc1_16_s4.c: Regenerated.
175         * generated/minloc1_4_i1.c: Regenerated.
176         * generated/minloc1_4_i16.c: Regenerated.
177         * generated/minloc1_4_i2.c: Regenerated.
178         * generated/minloc1_4_i4.c: Regenerated.
179         * generated/minloc1_4_i8.c: Regenerated.
180         * generated/minloc1_4_r10.c: Regenerated.
181         * generated/minloc1_4_r16.c: Regenerated.
182         * generated/minloc1_4_r4.c: Regenerated.
183         * generated/minloc1_4_r8.c: Regenerated.
184         * generated/minloc1_4_s1.c: Regenerated.
185         * generated/minloc1_4_s4.c: Regenerated.
186         * generated/minloc1_8_i1.c: Regenerated.
187         * generated/minloc1_8_i16.c: Regenerated.
188         * generated/minloc1_8_i2.c: Regenerated.
189         * generated/minloc1_8_i4.c: Regenerated.
190         * generated/minloc1_8_i8.c: Regenerated.
191         * generated/minloc1_8_r10.c: Regenerated.
192         * generated/minloc1_8_r16.c: Regenerated.
193         * generated/minloc1_8_r4.c: Regenerated.
194         * generated/minloc1_8_r8.c: Regenerated.
195         * generated/minloc1_8_s1.c: Regenerated.
196         * generated/minloc1_8_s4.c: Regenerated.
197         * generated/minloc2_16_s1.c: Regenerated.
198         * generated/minloc2_16_s4.c: Regenerated.
199         * generated/minloc2_4_s1.c: Regenerated.
200         * generated/minloc2_4_s4.c: Regenerated.
201         * generated/minloc2_8_s1.c: Regenerated.
202         * generated/minloc2_8_s4.c: Regenerated.
203         * generated/minval_i1.c: Regenerated.
204         * generated/minval_i16.c: Regenerated.
205         * generated/minval_i2.c: Regenerated.
206         * generated/minval_i4.c: Regenerated.
207         * generated/minval_i8.c: Regenerated.
208         * generated/minval_r10.c: Regenerated.
209         * generated/minval_r16.c: Regenerated.
210         * generated/minval_r4.c: Regenerated.
211         * generated/minval_r8.c: Regenerated.
212         * generated/norm2_r10.c: Regenerated.
213         * generated/norm2_r16.c: Regenerated.
214         * generated/norm2_r4.c: Regenerated.
215         * generated/norm2_r8.c: Regenerated.
216         * generated/parity_l1.c: Regenerated.
217         * generated/parity_l16.c: Regenerated.
218         * generated/parity_l2.c: Regenerated.
219         * generated/parity_l4.c: Regenerated.
220         * generated/parity_l8.c: Regenerated.
221         * generated/product_c10.c: Regenerated.
222         * generated/product_c16.c: Regenerated.
223         * generated/product_c4.c: Regenerated.
224         * generated/product_c8.c: Regenerated.
225         * generated/product_i1.c: Regenerated.
226         * generated/product_i16.c: Regenerated.
227         * generated/product_i2.c: Regenerated.
228         * generated/product_i4.c: Regenerated.
229         * generated/product_i8.c: Regenerated.
230         * generated/product_r10.c: Regenerated.
231         * generated/product_r16.c: Regenerated.
232         * generated/product_r4.c: Regenerated.
233         * generated/product_r8.c: Regenerated.
234         * generated/sum_c10.c: Regenerated.
235         * generated/sum_c16.c: Regenerated.
236         * generated/sum_c4.c: Regenerated.
237         * generated/sum_c8.c: Regenerated.
238         * generated/sum_i1.c: Regenerated.
239         * generated/sum_i16.c: Regenerated.
240         * generated/sum_i2.c: Regenerated.
241         * generated/sum_i4.c: Regenerated.
242         * generated/sum_i8.c: Regenerated.
243         * generated/sum_r10.c: Regenerated.
244         * generated/sum_r16.c: Regenerated.
245         * generated/sum_r4.c: Regenerated.
246         * generated/sum_r8.c: Regenerated.
248 2018-04-24  H.J. Lu  <hongjiu.lu@intel.com>
250         * configure: Regenerated.
252 2018-04-19  Thomas Schwinge  <thomas@codesourcery.com>
254         PR libfortran/85166
255         PR libgomp/85463
256         * runtime/minimal.c (stop_numeric): Reimplement.
257         (stop_string, error_stop_string, error_stop_numeric): New
258         functions.
260 2018-04-19  Jakub Jelinek  <jakub@redhat.com>
262         * configure: Regenerated.
264 2018-04-18  David Malcolm  <dmalcolm@redhat.com>
266         PR jit/85384
267         * configure: Regenerate.
269 2018-04-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
271         PR libfortran/85253
272         * m4/matmul_internal.m4: If ycount == 1, add one more row to
273         the internal buffer.
274         * generated/matmul_c10.c: Regenerated.
275         * generated/matmul_c16.c: Regenerated.
276         * generated/matmul_c4.c: Regenerated.
277         * generated/matmul_c8.c: Regenerated.
278         * generated/matmul_i1.c: Regenerated.
279         * generated/matmul_i16.c: Regenerated.
280         * generated/matmul_i2.c: Regenerated.
281         * generated/matmul_i4.c: Regenerated.
282         * generated/matmul_i8.c: Regenerated.
283         * generated/matmul_r10.c: Regenerated.
284         * generated/matmul_r16.c: Regenerated.
285         * generated/matmul_r4.c: Regenerated.
286         * generated/matmul_r8.c: Regenerated.
287         * generated/matmulavx128_c10.c: Regenerated.
288         * generated/matmulavx128_c16.c: Regenerated.
289         * generated/matmulavx128_c4.c: Regenerated.
290         * generated/matmulavx128_c8.c: Regenerated.
291         * generated/matmulavx128_i1.c: Regenerated.
292         * generated/matmulavx128_i16.c: Regenerated.
293         * generated/matmulavx128_i2.c: Regenerated.
294         * generated/matmulavx128_i4.c: Regenerated.
295         * generated/matmulavx128_i8.c: Regenerated.
296         * generated/matmulavx128_r10.c: Regenerated.
297         * generated/matmulavx128_r16.c: Regenerated.
298         * generated/matmulavx128_r4.c: Regenerated.
299         * generated/matmulavx128_r8.c: Regenerated.
301 2018-04-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
303         PR libfortran/85166
304         * runtime/minimal.c (stop_numeric): Add new function in order to
305         implement numeric stop on minimal targets.
307 2018-03-28  Jakub Jelinek  <jakub@redhat.com>
309         * io/io.h (IOPARM_DT_DEFAULT_EXP): Rename to ...
310         (IOPARM_DT_DEC_EXT): ... this.
311         * io/list_read.c (parse_real): Adjust for IOPARM_DT_DEFAULT_EXP
312         renaming to IOPARM_DT_DEC_EXT.
313         (read_real): Likewise.
314         * io/read.c (read_f): Likewise.
316 2018-03-15  Jakub Jelinek  <jakub@redhat.com>
318         PR libgfortran/84880
319         * intrinsics/kill.c (kill): Rename to...
320         (PREFIX (kill)): ... this.  Use export_proto_np instead of export_proto.
322 2018-03-13  Steven G. Kargl  <kargl@gcc.gnu.org>
324         * libgfortran/gfortran.map: Remove _gfortran_kill_i4,
325         _gfortran_kill_i4_sub, _gfortran_kill_i8, and _gfortran_kill_i8_sub.
326         Add _gfortran_kill and _gfortran_kill_sub.
327         * libgfortran/intrinsics/kill.c: Eliminate _gfortran_kill_i4,
328         _gfortran_kill_i4_sub, _gfortran_kill_i8, and _gfortran_kill_i8_sub.
329         Add _gfortran_kill and _gfortran_kill_sub.
331 2018-02-23  Janne Blomqvist  <jb@gcc.gnu.org>
333         PR fortran/84519
334         * caf/libcaf.h (_gfortran_caf_stop_numeric): Add bool argument.
335         (_gfortran_caf_stop_str): Likewise.
336         (_gfortran_caf_error_stop_str): Likewise.
337         (_gfortran_caf_error_stop): Likewise.
338         * caf/mpi.c (_gfortran_caf_error_stop_str): Handle new argument.
339         (_gfortran_caf_error_stop): Likewise.
340         * caf/single.c (_gfortran_caf_stop_numeric): Likewise.
341         (_gfortran_caf_stop_str): Likewise.
342         (_gfortran_caf_error_stop_str): Likewise.
343         (_gfortran_caf_error_stop): Likewise.
344         (_gfortran_caf_lock): Likewise.
345         (_gfortran_caf_unlock): Likewise.
346         * libgfortran.h (stop_string): Add bool argument.
347         * runtime/pause.c (do_pause): Add false argument.
348         * runtime/stop.c (stop_numeric): Handle new argument.
349         (stop_string): Likewise.
350         (error_stop_string): Likewise.
351         (error_stop_numeric): Likewise.
353 2018-02-22  Janne Blomqvist  <jb@gcc.gnu.org>
355         PR 78534
356         PR 84509
357         * runtime/pause.c (pause_numeric): Modify to take GFC_INTEGER_8
358         argument.
359         (pause_string): Modify to take size_t character length argument.
361 2018-02-22  Janne Blomqvist  <jb@gcc.gnu.org>
363         * libgfortran.h (stop_string): Use size_t for character length.
364         * runtime/stop.c (stop_string): Likewise.
365         (error_stop_string): Likewise.
366         (stop_numeric): Use int for exit code.
367         (error_stop_numeric): Likewise.
368         * caf/libcaf.h: Remove stdint.h include.
369         (_gfortran_caf_register): Use size_t for character length.
370         (_gfortran_caf_deregister): Likewise.
371         (_gfortran_caf_sync_all): Likewise.
372         (_gfortran_caf_sync_memory): Likewise.
373         (_gfortran_caf_sync_images): Likewise.
374         (_gfortran_caf_stop_numeric): Use int for exit code.
375         (_gfortran_caf_stop_str): Use size_t for character length.
376         (_gfortran_caf_error_stop_str): Likewise.
377         (_gfortran_caf_error_stop): Use int for exit code.
378         (_gfortran_caf_co_broadcast): Use size_t for character length.
379         (_gfortran_caf_co_sum): Likewise.
380         (_gfortran_caf_co_min): Likewise.
381         (_gfortran_caf_co_max): Likewise.
382         (_gfortran_caf_co_reduce): Likewise.
383         (_gfortran_caf_lock): Likewise.
384         (_gfortran_caf_unlock): Likewise.
385         (_gfortran_caf_event_post): Likewise.
386         (_gfortran_caf_event_wait): Likewise.
387         * caf/mpi.c (_gfortran_caf_register): Update implementation to
388         match prototype.
389         (_gfortran_caf_deregister): Likewise.
390         (_gfortran_caf_sync_all): Likewise.
391         (_gfortran_caf_sync_images): Likewise.
392         (_gfortran_caf_error_stop_str): Likewise.
393         (_gfortran_caf_error_stop): Likewise.
394         * caf/single.c (caf_internal_error): Likewise.
395         (_gfortran_caf_register): Likewise.
396         (_gfortran_caf_deregister): Likewise.
397         (_gfortran_caf_sync_all): Likewise.
398         (_gfortran_caf_sync_memory): Likewise.
399         (_gfortran_caf_sync_images): Likewise.
400         (_gfortran_caf_stop_numeric): Likewise.
401         (_gfortran_caf_stop_str): Likewise.
402         (_gfortran_caf_error_stop_str): Likewise.
403         (_gfortran_caf_error_stop): Likewise.
404         (_gfortran_caf_co_broadcast): Likewise.
405         (_gfortran_caf_co_sum): Likewise.
406         (_gfortran_caf_co_min): Likewise.
407         (_gfortran_caf_co_max): Likewise.
408         (_gfortran_caf_co_reduce): Likewise.
409         (_gfortran_caf_event_post): Likewise.
410         (_gfortran_caf_event_wait): Likewise.
411         (_gfortran_caf_lock): Likewise.
412         (_gfortran_caf_unlock): Likewise.
414 2018-02-19  Andre Vehreschild  <vehre@gcc.gnu.org>
416         * caf/libcaf.h: Add type parameters to the caf_*_by_ref prototypes.
417         * caf/single.c (get_for_ref): Simplifications and now respecting
418         the type argument.
419         (_gfortran_caf_get_by_ref): Added source type handing to get_for_ref().
420         (send_by_ref): Simplifications and respecting the dst_type now.
421         (_gfortran_caf_send_by_ref): Added destination type hand over to
422         send_by_ref().
423         (_gfortran_caf_sendget_by_ref): Added general support and fixed stack
424         corruption.  The function is now really usable.
426 2018-02-14  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
428         PR target/84148
429         * configure: Regenerate.
431 2018-02-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
433         PR libgfortran/84412
434         * io/transfer.c (finalize_transfer): After completng an internal unit
435         I/O operation, clear internal_unit_kind.
437 2018-02-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
439         * libgfortran.h (GFC_ARRAY_DESCRIPTOR): Remove dimension
440         of descriptor to use vaiable members for dim.
441         Change usage of GFC_ARRAY_DESCRIPTOR accordingly.
442         (GFC_FILL_ARRAY_DESCRIPTOR): New macro.
443         (gfc_full_array_i4): New type.
444         * intrinsics/date_and_time.c (secnds): Use sizeof
445         (gfc_array_i4) + sizeof (descriptor_dimension) for memory
446         allocation.
447         * intrinsics/reshape_generic.c: Use GFC_FULL_ARRAY_DESCRIPTOR.
448         * io/format.c: Use sizeof (gfc_array_i4) + sizeof
449         (descriptor_dimension) for memoy allocation.
450         * io/list_read.c (list_formatted_read_scalar): Use
451         gfc_full_array_i4 for variable.
452         (nml_read_obj): Likewise.
453         * io/write.c (list_formatted_write_scalar): Likewise.
454         (nml_write_obj): Likewise.
455         * m4/reshape.m4: Use GFC_FULL_ARRAY_DESCRIPTOR.
456         * generated/reshape_c10.c: Regenerated.
457         * generated/reshape_c16.c: Regenerated.
458         * generated/reshape_c4.c: Regenerated.
459         * generated/reshape_c8.c: Regenerated.
460         * generated/reshape_i16.c: Regenerated.
461         * generated/reshape_i4.c: Regenerated.
462         * generated/reshape_i8.c: Regenerated.
463         * generated/reshape_r10.c: Regenerated.
464         * generated/reshape_r16.c: Regenerated.
465         * generated/reshape_r4.c: Regenerated.
466         * generated/reshape_r8.c: Regenerated.
468 2018-01-31  Janne Blomqvist  <jb@gcc.gnu.org>
470         * generated/cshift1_16.c (cshift1): Regenerated.
471         * generated/cshift1_4.c (cshift1): Regenerated.
472         * generated/cshift1_8.c (cshift1): Regenerated.
473         * generated/eoshift1_16.c (eoshift1): Regenerated.
474         * generated/eoshift1_4.c (eoshift1): Regenerated.
475         * generated/eoshift1_8.c (eoshift1): Regenerated.
476         * generated/eoshift3_16.c (eoshift3): Regenerated.
477         * generated/eoshift3_4.c (eoshift3): Regenerated.
478         * generated/eoshift3_8.c (eoshift3): Regenerated.
479         * generated/in_pack_c10.c (internal_pack_c10): Regenerated.
480         * generated/in_pack_c16.c (internal_pack_c16): Regenerated.
481         * generated/in_pack_c4.c (internal_pack_c4): Regenerated.
482         * generated/in_pack_c8.c (internal_pack_c8): Regenerated.
483         * generated/in_pack_i1.c (internal_pack_1): Regenerated.
484         * generated/in_pack_i16.c (internal_pack_16): Regenerated.
485         * generated/in_pack_i2.c (internal_pack_2): Regenerated.
486         * generated/in_pack_i4.c (internal_pack_4): Regenerated.
487         * generated/in_pack_i8.c (internal_pack_8): Regenerated.
488         * generated/in_pack_r10.c (internal_pack_r10): Regenerated.
489         * generated/in_pack_r16.c (internal_pack_r16): Regenerated.
490         * generated/in_pack_r4.c (internal_pack_r4): Regenerated.
491         * generated/in_pack_r8.c (internal_pack_r8): Regenerated.
492         * generated/in_unpack_c10.c (internal_unpack_c10): Regenerated.
493         * generated/in_unpack_c16.c (internal_unpack_c16): Regenerated.
494         * generated/in_unpack_c4.c (internal_unpack_c4): Regenerated.
495         * generated/in_unpack_c8.c (internal_unpack_c8): Regenerated.
496         * generated/in_unpack_i1.c (internal_unpack_1): Regenerated.
497         * generated/in_unpack_i16.c (internal_unpack_16): Regenerated.
498         * generated/in_unpack_i2.c (internal_unpack_2): Regenerated.
499         * generated/in_unpack_i4.c (internal_unpack_4): Regenerated.
500         * generated/in_unpack_i8.c (internal_unpack_8): Regenerated.
501         * generated/in_unpack_r10.c (internal_unpack_r10): Regenerated.
502         * generated/in_unpack_r16.c (internal_unpack_r16): Regenerated.
503         * generated/in_unpack_r4.c (internal_unpack_r4): Regenerated.
504         * generated/in_unpack_r8.c (internal_unpack_r8): Regenerated.
505         * generated/reshape_c10.c (reshape_c10): Regenerated.
506         * generated/reshape_c16.c (reshape_c16): Regenerated.
507         * generated/reshape_c4.c (reshape_c4): Regenerated.
508         * generated/reshape_c8.c (reshape_c8): Regenerated.
509         * generated/reshape_i16.c (reshape_16): Regenerated.
510         * generated/reshape_i4.c (reshape_4): Regenerated.
511         * generated/reshape_i8.c (reshape_8): Regenerated.
512         * generated/reshape_r10.c (reshape_r10): Regenerated.
513         * generated/reshape_r16.c (reshape_r16): Regenerated.
514         * generated/reshape_r4.c (reshape_r4): Regenerated.
515         * generated/reshape_r8.c (reshape_r8): Regenerated.
516         * generated/shape_i1.c (shape_1): Regenerated.
517         * generated/shape_i16.c (shape_16): Regenerated.
518         * generated/shape_i2.c (shape_2): Regenerated.
519         * generated/shape_i4.c (shape_4): Regenerated.
520         * generated/shape_i8.c (shape_8): Regenerated.
521         * generated/spread_c10.c (spread_scalar_c10): Regenerated.
522         * generated/spread_c16.c (spread_scalar_c16): Regenerated.
523         * generated/spread_c4.c (spread_scalar_c4): Regenerated.
524         * generated/spread_c8.c (spread_scalar_c8): Regenerated.
525         * generated/spread_i1.c (spread_scalar_i1): Regenerated.
526         * generated/spread_i16.c (spread_scalar_i16): Regenerated.
527         * generated/spread_i2.c (spread_scalar_i2): Regenerated.
528         * generated/spread_i4.c (spread_scalar_i4): Regenerated.
529         * generated/spread_i8.c (spread_scalar_i8): Regenerated.
530         * generated/spread_r10.c (spread_scalar_r10): Regenerated.
531         * generated/spread_r16.c (spread_scalar_r16): Regenerated.
532         * generated/spread_r4.c (spread_scalar_r4): Regenerated.
533         * generated/spread_r8.c (spread_scalar_r8): Regenerated.
534         * intrinsics/random.c (jump): Use size_t for array index in loop.
535         (getosrandom): Likewise.
536         (arandom_r4): Make n an index_type.
537         (arandom_r8): Likewise.
538         (arandom_r10): Likewise.
539         (arandom_r16): Likewise.
540         (scramble_seed): Use size_t for array index in loop.
541         * m4/cshift1.m4: Make i an index_type.
542         * m4/eoshift1.m4: Likewise.
543         * m4/eoshift3.m4: Likewise.
544         * m4/in_pack.m4: Make n an index_type.
545         * m4/in_unpack.m4: Likewise.
546         * m4/reshape.m4: Make n and dim index_type's.
547         * m4/shape.m4: Make n an index_type.
548         * m4/spread.m4: Likewise, use index_type argument rather than
549         copying to int.
550         * runtime/bounds.c (bounds_ifunction_return): Make n an
551         index_type.
552         * runtime/in_pack_generic.c (internal_pack): Likewise.
553         * runtime/in_unpack_generic.c (internal_unpack): Make n and size
554         index_type's.
556 2018-01-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
558         PR fortran/37577
559         * libgfortran.h: Remove GFC_DTYPE_DERIVED_1, GFC_DTYPE_DERIVED_2,
560         GFC_DTYPE_DERIVED_4, GFC_DTYPE_DERIVED_8 and GFC_DTYPE_DERIVED_16.
561         * m4/cshift1.m4: Remove GFC_DTYPE_DERIVED_1.
562         * generated/cshift1_16.c: Regenerated.
563         * generated/cshift1_4.c: Regenerated.
564         * generated/cshift1_8.c: Regenerated.
565         * intrinsics/cshift0.c: Remove GFC_DTYPE_DERIVED_1.
566         * intrinsics/pack_generic.c (pack): Move handling of other types
567         into separate switch statement.
568         * intrinsics/spread_generic.c (spread): Likewise.
569         (spread_scalar): Likewise.
570         * intrinsics/unpack_generic.c (unpack1): Likewise.
571         (unpack0): Likewise.
572         * runtime/in_pack_generic.c (internal_pack): Likewise.
573         * runtime/in_unpack_generic.c (internal_unpack): Likewise.
575 2018-01-25  Paul Thomas  <pault@gcc.gnu.org>
577         PR fortran/37577
578         * caf/single.c (_gfortran_caf_failed_images): Access the 'type'
579         and 'elem_len' fields of the dtype instead of the shifts.
580         (_gfortran_caf_stopped_images): Likewise.
581         * intrinsics/associated.c (associated): Compare the 'type' and
582         'elem_len' fields instead of the dtype.
583         * caf/date_and_time.c : Access the dtype fields rather using
584         shifts and masks.
585         * io/transfer.c (transfer_array ): Comment on item count.
586         (set_nml_var,st_set_nml_var): Change dtype type and use fields.
587         (st_set_nml_dtio_var): Likewise.
588         * libgfortran.h : Change definition of GFC_ARRAY_DESCRIPTOR and
589         add a typedef for the dtype_type. Change the GFC_DTYPE_* macros
590         to access the dtype fields.
592 2018-01-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
594         PR fortran/54613
595         * m4/iparm.m4: Add back_arg macro if in minloc or maxloc.
596         * m4/iforeach-s.m4: Add optional argument back with back_arg
597         macro. Improve m4 quoting. If HAVE_BACK_ARG is defined, assert
598         that back is non-true.
599         * m4/iforeach.m4: Likewise.
600         * m4/ifunction-s.m4: Likewise.
601         * m4/ifunction.m4: Likewise.
602         * m4/maxloc0.m4: Include assert.h
603         * m4/minloc0.m4: Likewise.
604         * m4/maxloc0s.m4: #define HAVE_BACK_ARG.
605         * m4/minloc0s.m4: Likewise.
606         * m4/maxloc1s.m4: Likewise.
607         * m4/minloc1s.m4: Likewise.
608         * m4/maxloc1.m4: Include assert.h, #define HAVE_BACK_ARG.
609         * m4/minloc1.m4: Likewise.
610         * m4/maxloc2s.m4: Add assert.h, add back_arg, assert that
611         back is non-true.
612         * m4/minloc2s.m4: Likewise.
613         * generated/iall_i1.c: Regenerated.
614         * generated/iall_i16.c: Regenerated.
615         * generated/iall_i2.c: Regenerated.
616         * generated/iall_i4.c: Regenerated.
617         * generated/iall_i8.c: Regenerated.
618         * generated/iany_i1.c: Regenerated.
619         * generated/iany_i16.c: Regenerated.
620         * generated/iany_i2.c: Regenerated.
621         * generated/iany_i4.c: Regenerated.
622         * generated/iany_i8.c: Regenerated.
623         * generated/iparity_i1.c: Regenerated.
624         * generated/iparity_i16.c: Regenerated.
625         * generated/iparity_i2.c: Regenerated.
626         * generated/iparity_i4.c: Regenerated.
627         * generated/iparity_i8.c: Regenerated.
628         * generated/maxloc0_16_i1.c: Regenerated.
629         * generated/maxloc0_16_i16.c: Regenerated.
630         * generated/maxloc0_16_i2.c: Regenerated.
631         * generated/maxloc0_16_i4.c: Regenerated.
632         * generated/maxloc0_16_i8.c: Regenerated.
633         * generated/maxloc0_16_r10.c: Regenerated.
634         * generated/maxloc0_16_r16.c: Regenerated.
635         * generated/maxloc0_16_r4.c: Regenerated.
636         * generated/maxloc0_16_r8.c: Regenerated.
637         * generated/maxloc0_16_s1.c: Regenerated.
638         * generated/maxloc0_16_s4.c: Regenerated.
639         * generated/maxloc0_4_i1.c: Regenerated.
640         * generated/maxloc0_4_i16.c: Regenerated.
641         * generated/maxloc0_4_i2.c: Regenerated.
642         * generated/maxloc0_4_i4.c: Regenerated.
643         * generated/maxloc0_4_i8.c: Regenerated.
644         * generated/maxloc0_4_r10.c: Regenerated.
645         * generated/maxloc0_4_r16.c: Regenerated.
646         * generated/maxloc0_4_r4.c: Regenerated.
647         * generated/maxloc0_4_r8.c: Regenerated.
648         * generated/maxloc0_4_s1.c: Regenerated.
649         * generated/maxloc0_4_s4.c: Regenerated.
650         * generated/maxloc0_8_i1.c: Regenerated.
651         * generated/maxloc0_8_i16.c: Regenerated.
652         * generated/maxloc0_8_i2.c: Regenerated.
653         * generated/maxloc0_8_i4.c: Regenerated.
654         * generated/maxloc0_8_i8.c: Regenerated.
655         * generated/maxloc0_8_r10.c: Regenerated.
656         * generated/maxloc0_8_r16.c: Regenerated.
657         * generated/maxloc0_8_r4.c: Regenerated.
658         * generated/maxloc0_8_r8.c: Regenerated.
659         * generated/maxloc0_8_s1.c: Regenerated.
660         * generated/maxloc0_8_s4.c: Regenerated.
661         * generated/maxloc1_16_i1.c: Regenerated.
662         * generated/maxloc1_16_i16.c: Regenerated.
663         * generated/maxloc1_16_i2.c: Regenerated.
664         * generated/maxloc1_16_i4.c: Regenerated.
665         * generated/maxloc1_16_i8.c: Regenerated.
666         * generated/maxloc1_16_r10.c: Regenerated.
667         * generated/maxloc1_16_r16.c: Regenerated.
668         * generated/maxloc1_16_r4.c: Regenerated.
669         * generated/maxloc1_16_r8.c: Regenerated.
670         * generated/maxloc1_16_s1.c: Regenerated.
671         * generated/maxloc1_16_s4.c: Regenerated.
672         * generated/maxloc1_4_i1.c: Regenerated.
673         * generated/maxloc1_4_i16.c: Regenerated.
674         * generated/maxloc1_4_i2.c: Regenerated.
675         * generated/maxloc1_4_i4.c: Regenerated.
676         * generated/maxloc1_4_i8.c: Regenerated.
677         * generated/maxloc1_4_r10.c: Regenerated.
678         * generated/maxloc1_4_r16.c: Regenerated.
679         * generated/maxloc1_4_r4.c: Regenerated.
680         * generated/maxloc1_4_r8.c: Regenerated.
681         * generated/maxloc1_4_s1.c: Regenerated.
682         * generated/maxloc1_4_s4.c: Regenerated.
683         * generated/maxloc1_8_i1.c: Regenerated.
684         * generated/maxloc1_8_i16.c: Regenerated.
685         * generated/maxloc1_8_i2.c: Regenerated.
686         * generated/maxloc1_8_i4.c: Regenerated.
687         * generated/maxloc1_8_i8.c: Regenerated.
688         * generated/maxloc1_8_r10.c: Regenerated.
689         * generated/maxloc1_8_r16.c: Regenerated.
690         * generated/maxloc1_8_r4.c: Regenerated.
691         * generated/maxloc1_8_r8.c: Regenerated.
692         * generated/maxloc1_8_s1.c: Regenerated.
693         * generated/maxloc1_8_s4.c: Regenerated.
694         * generated/maxval_i1.c: Regenerated.
695         * generated/maxval_i16.c: Regenerated.
696         * generated/maxval_i2.c: Regenerated.
697         * generated/maxval_i4.c: Regenerated.
698         * generated/maxval_i8.c: Regenerated.
699         * generated/maxval_r10.c: Regenerated.
700         * generated/maxval_r16.c: Regenerated.
701         * generated/maxval_r4.c: Regenerated.
702         * generated/maxval_r8.c: Regenerated.
703         * generated/minloc0_16_i1.c: Regenerated.
704         * generated/minloc0_16_i16.c: Regenerated.
705         * generated/minloc0_16_i2.c: Regenerated.
706         * generated/minloc0_16_i4.c: Regenerated.
707         * generated/minloc0_16_i8.c: Regenerated.
708         * generated/minloc0_16_r10.c: Regenerated.
709         * generated/minloc0_16_r16.c: Regenerated.
710         * generated/minloc0_16_r4.c: Regenerated.
711         * generated/minloc0_16_r8.c: Regenerated.
712         * generated/minloc0_16_s1.c: Regenerated.
713         * generated/minloc0_16_s4.c: Regenerated.
714         * generated/minloc0_4_i1.c: Regenerated.
715         * generated/minloc0_4_i16.c: Regenerated.
716         * generated/minloc0_4_i2.c: Regenerated.
717         * generated/minloc0_4_i4.c: Regenerated.
718         * generated/minloc0_4_i8.c: Regenerated.
719         * generated/minloc0_4_r10.c: Regenerated.
720         * generated/minloc0_4_r16.c: Regenerated.
721         * generated/minloc0_4_r4.c: Regenerated.
722         * generated/minloc0_4_r8.c: Regenerated.
723         * generated/minloc0_4_s1.c: Regenerated.
724         * generated/minloc0_4_s4.c: Regenerated.
725         * generated/minloc0_8_i1.c: Regenerated.
726         * generated/minloc0_8_i16.c: Regenerated.
727         * generated/minloc0_8_i2.c: Regenerated.
728         * generated/minloc0_8_i4.c: Regenerated.
729         * generated/minloc0_8_i8.c: Regenerated.
730         * generated/minloc0_8_r10.c: Regenerated.
731         * generated/minloc0_8_r16.c: Regenerated.
732         * generated/minloc0_8_r4.c: Regenerated.
733         * generated/minloc0_8_r8.c: Regenerated.
734         * generated/minloc0_8_s1.c: Regenerated.
735         * generated/minloc0_8_s4.c: Regenerated.
736         * generated/minloc1_16_i1.c: Regenerated.
737         * generated/minloc1_16_i16.c: Regenerated.
738         * generated/minloc1_16_i2.c: Regenerated.
739         * generated/minloc1_16_i4.c: Regenerated.
740         * generated/minloc1_16_i8.c: Regenerated.
741         * generated/minloc1_16_r10.c: Regenerated.
742         * generated/minloc1_16_r16.c: Regenerated.
743         * generated/minloc1_16_r4.c: Regenerated.
744         * generated/minloc1_16_r8.c: Regenerated.
745         * generated/minloc1_16_s1.c: Regenerated.
746         * generated/minloc1_16_s4.c: Regenerated.
747         * generated/minloc1_4_i1.c: Regenerated.
748         * generated/minloc1_4_i16.c: Regenerated.
749         * generated/minloc1_4_i2.c: Regenerated.
750         * generated/minloc1_4_i4.c: Regenerated.
751         * generated/minloc1_4_i8.c: Regenerated.
752         * generated/minloc1_4_r10.c: Regenerated.
753         * generated/minloc1_4_r16.c: Regenerated.
754         * generated/minloc1_4_r4.c: Regenerated.
755         * generated/minloc1_4_r8.c: Regenerated.
756         * generated/minloc1_4_s1.c: Regenerated.
757         * generated/minloc1_4_s4.c: Regenerated.
758         * generated/minloc1_8_i1.c: Regenerated.
759         * generated/minloc1_8_i16.c: Regenerated.
760         * generated/minloc1_8_i2.c: Regenerated.
761         * generated/minloc1_8_i4.c: Regenerated.
762         * generated/minloc1_8_i8.c: Regenerated.
763         * generated/minloc1_8_r10.c: Regenerated.
764         * generated/minloc1_8_r16.c: Regenerated.
765         * generated/minloc1_8_r4.c: Regenerated.
766         * generated/minloc1_8_r8.c: Regenerated.
767         * generated/minloc1_8_s1.c: Regenerated.
768         * generated/minloc1_8_s4.c: Regenerated.
769         * generated/minval_i1.c: Regenerated.
770         * generated/minval_i16.c: Regenerated.
771         * generated/minval_i2.c: Regenerated.
772         * generated/minval_i4.c: Regenerated.
773         * generated/minval_i8.c: Regenerated.
774         * generated/minval_r10.c: Regenerated.
775         * generated/minval_r16.c: Regenerated.
776         * generated/minval_r4.c: Regenerated.
777         * generated/minval_r8.c: Regenerated.
778         * generated/norm2_r10.c: Regenerated.
779         * generated/norm2_r16.c: Regenerated.
780         * generated/norm2_r4.c: Regenerated.
781         * generated/norm2_r8.c: Regenerated.
782         * generated/parity_l1.c: Regenerated.
783         * generated/parity_l16.c: Regenerated.
784         * generated/parity_l2.c: Regenerated.
785         * generated/parity_l4.c: Regenerated.
786         * generated/parity_l8.c: Regenerated.
787         * generated/product_c10.c: Regenerated.
788         * generated/product_c16.c: Regenerated.
789         * generated/product_c4.c: Regenerated.
790         * generated/product_c8.c: Regenerated.
791         * generated/product_i1.c: Regenerated.
792         * generated/product_i16.c: Regenerated.
793         * generated/product_i2.c: Regenerated.
794         * generated/product_i4.c: Regenerated.
795         * generated/product_i8.c: Regenerated.
796         * generated/product_r10.c: Regenerated.
797         * generated/product_r16.c: Regenerated.
798         * generated/product_r4.c: Regenerated.
799         * generated/product_r8.c: Regenerated.
800         * generated/sum_c10.c: Regenerated.
801         * generated/sum_c16.c: Regenerated.
802         * generated/sum_c4.c: Regenerated.
803         * generated/sum_c8.c: Regenerated.
804         * generated/sum_i1.c: Regenerated.
805         * generated/sum_i16.c: Regenerated.
806         * generated/sum_i2.c: Regenerated.
807         * generated/sum_i4.c: Regenerated.
808         * generated/sum_i8.c: Regenerated.
809         * generated/sum_r10.c: Regenerated.
810         * generated/sum_r16.c: Regenerated.
811         * generated/sum_r4.c: Regenerated.
812         * generated/sum_r8.c: Regenerated.
814 2018-01-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
816         PR libgfortran/83811
817         * write.c (select_buffer): Adjust buffer size up by 1.
819 2018-01-08  Janne Blomqvist  <jb@gcc.gnu.org>
821         PR 78534, bugfix for r256322
822         * io/transfer.c (next_record_w): Use correct type for return value
823         of next_array_record.
825 2018-01-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
827         * libgfortran.h (GFC_DTYPE_COPY): New macro.
828         (GFC_DTYPE_COPY_SETRANK): New macro.
829         (GFC_DTYPE_IS_UNSET): New macro.
830         * intrinsics/cshift0.c (cshift0): Use new macros.
831         * intrinsics/eoshift0.c (eoshift0): Likewise.
832         * intrinsics/eoshift2.c (eoshift2): Likewise.
833         * intrinsics/move_alloc.c (move_alloc): Likewise.
834         * intrinsics/reshape_generic.c (reshape_internal): Likewise.
835         * intrinsics/spread_generic.c (spread_internal): Likewise.
836         * intrinsics/spread_generic.c (spread_scalar): Likewise.
837         * intrinsics/spread_generic.c (spread_char_scalar): Likewise.
838         * intrinsics/spread_generic.c (spread_char4_scalar): Likewise.
839         * intrinsics/unpack_generic.c (unpack0): Likewise.
840         * intrinsics/unpack_generic.c (unpack0_char): Likewise.
841         * intrinsics/unpack_generic.c (unpack0_char4): Likewise.
842         * m4/cshift1.m4 (cshift1): Likewise.
843         * m4/eoshift1.m4 (eoshift1): Likewise.
844         * m4/eoshift3.m4 (eoshift3): Likewise.
845         * m4/iforeach-s.m4: Likewise.
846         * m4/iforeach.m4: Likewise.
847         * m4/ifunction-s.m4: Likewise.
848         * m4/ifunction-s2.m4: Likewise.
849         * m4/ifunction.m4: Likewise.
850         * m4/ifunction_logical.m4: Likewise.
851         * m4/reshape.m4: Likewise.
852         * m4/spread.m4: Likewise.
853         * generated/all_l1.c : Regenerated.
854         * generated/all_l16.c : Regenerated.
855         * generated/all_l2.c : Regenerated.
856         * generated/all_l4.c : Regenerated.
857         * generated/all_l8.c : Regenerated.
858         * generated/any_l1.c : Regenerated.
859         * generated/any_l16.c : Regenerated.
860         * generated/any_l2.c : Regenerated.
861         * generated/any_l4.c : Regenerated.
862         * generated/any_l8.c : Regenerated.
863         * generated/count_16_l.c : Regenerated.
864         * generated/count_1_l.c : Regenerated.
865         * generated/count_2_l.c : Regenerated.
866         * generated/count_4_l.c : Regenerated.
867         * generated/count_8_l.c : Regenerated.
868         * generated/cshift1_16.c : Regenerated.
869         * generated/cshift1_4.c : Regenerated.
870         * generated/cshift1_8.c : Regenerated.
871         * generated/eoshift1_16.c : Regenerated.
872         * generated/eoshift1_4.c : Regenerated.
873         * generated/eoshift1_8.c : Regenerated.
874         * generated/eoshift3_16.c : Regenerated.
875         * generated/eoshift3_4.c : Regenerated.
876         * generated/eoshift3_8.c : Regenerated.
877         * generated/iall_i1.c : Regenerated.
878         * generated/iall_i16.c : Regenerated.
879         * generated/iall_i2.c : Regenerated.
880         * generated/iall_i4.c : Regenerated.
881         * generated/iall_i8.c : Regenerated.
882         * generated/iany_i1.c : Regenerated.
883         * generated/iany_i16.c : Regenerated.
884         * generated/iany_i2.c : Regenerated.
885         * generated/iany_i4.c : Regenerated.
886         * generated/iany_i8.c : Regenerated.
887         * generated/iparity_i1.c : Regenerated.
888         * generated/iparity_i16.c : Regenerated.
889         * generated/iparity_i2.c : Regenerated.
890         * generated/iparity_i4.c : Regenerated.
891         * generated/iparity_i8.c : Regenerated.
892         * generated/maxloc0_16_i1.c : Regenerated.
893         * generated/maxloc0_16_i16.c : Regenerated.
894         * generated/maxloc0_16_i2.c : Regenerated.
895         * generated/maxloc0_16_i4.c : Regenerated.
896         * generated/maxloc0_16_i8.c : Regenerated.
897         * generated/maxloc0_16_r10.c : Regenerated.
898         * generated/maxloc0_16_r16.c : Regenerated.
899         * generated/maxloc0_16_r4.c : Regenerated.
900         * generated/maxloc0_16_r8.c : Regenerated.
901         * generated/maxloc0_16_s1.c : Regenerated.
902         * generated/maxloc0_16_s4.c : Regenerated.
903         * generated/maxloc0_4_i1.c : Regenerated.
904         * generated/maxloc0_4_i16.c : Regenerated.
905         * generated/maxloc0_4_i2.c : Regenerated.
906         * generated/maxloc0_4_i4.c : Regenerated.
907         * generated/maxloc0_4_i8.c : Regenerated.
908         * generated/maxloc0_4_r10.c : Regenerated.
909         * generated/maxloc0_4_r16.c : Regenerated.
910         * generated/maxloc0_4_r4.c : Regenerated.
911         * generated/maxloc0_4_r8.c : Regenerated.
912         * generated/maxloc0_4_s1.c : Regenerated.
913         * generated/maxloc0_4_s4.c : Regenerated.
914         * generated/maxloc0_8_i1.c : Regenerated.
915         * generated/maxloc0_8_i16.c : Regenerated.
916         * generated/maxloc0_8_i2.c : Regenerated.
917         * generated/maxloc0_8_i4.c : Regenerated.
918         * generated/maxloc0_8_i8.c : Regenerated.
919         * generated/maxloc0_8_r10.c : Regenerated.
920         * generated/maxloc0_8_r16.c : Regenerated.
921         * generated/maxloc0_8_r4.c : Regenerated.
922         * generated/maxloc0_8_r8.c : Regenerated.
923         * generated/maxloc0_8_s1.c : Regenerated.
924         * generated/maxloc0_8_s4.c : Regenerated.
925         * generated/maxloc1_16_i1.c : Regenerated.
926         * generated/maxloc1_16_i16.c : Regenerated.
927         * generated/maxloc1_16_i2.c : Regenerated.
928         * generated/maxloc1_16_i4.c : Regenerated.
929         * generated/maxloc1_16_i8.c : Regenerated.
930         * generated/maxloc1_16_r10.c : Regenerated.
931         * generated/maxloc1_16_r16.c : Regenerated.
932         * generated/maxloc1_16_r4.c : Regenerated.
933         * generated/maxloc1_16_r8.c : Regenerated.
934         * generated/maxloc1_16_s1.c : Regenerated.
935         * generated/maxloc1_16_s4.c : Regenerated.
936         * generated/maxloc1_4_i1.c : Regenerated.
937         * generated/maxloc1_4_i16.c : Regenerated.
938         * generated/maxloc1_4_i2.c : Regenerated.
939         * generated/maxloc1_4_i4.c : Regenerated.
940         * generated/maxloc1_4_i8.c : Regenerated.
941         * generated/maxloc1_4_r10.c : Regenerated.
942         * generated/maxloc1_4_r16.c : Regenerated.
943         * generated/maxloc1_4_r4.c : Regenerated.
944         * generated/maxloc1_4_r8.c : Regenerated.
945         * generated/maxloc1_4_s1.c : Regenerated.
946         * generated/maxloc1_4_s4.c : Regenerated.
947         * generated/maxloc1_8_i1.c : Regenerated.
948         * generated/maxloc1_8_i16.c : Regenerated.
949         * generated/maxloc1_8_i2.c : Regenerated.
950         * generated/maxloc1_8_i4.c : Regenerated.
951         * generated/maxloc1_8_i8.c : Regenerated.
952         * generated/maxloc1_8_r10.c : Regenerated.
953         * generated/maxloc1_8_r16.c : Regenerated.
954         * generated/maxloc1_8_r4.c : Regenerated.
955         * generated/maxloc1_8_r8.c : Regenerated.
956         * generated/maxloc1_8_s1.c : Regenerated.
957         * generated/maxloc1_8_s4.c : Regenerated.
958         * generated/maxval1_s1.c : Regenerated.
959         * generated/maxval1_s4.c : Regenerated.
960         * generated/maxval_i1.c : Regenerated.
961         * generated/maxval_i16.c : Regenerated.
962         * generated/maxval_i2.c : Regenerated.
963         * generated/maxval_i4.c : Regenerated.
964         * generated/maxval_i8.c : Regenerated.
965         * generated/maxval_r10.c : Regenerated.
966         * generated/maxval_r16.c : Regenerated.
967         * generated/maxval_r4.c : Regenerated.
968         * generated/maxval_r8.c : Regenerated.
969         * generated/minloc0_16_i1.c : Regenerated.
970         * generated/minloc0_16_i16.c : Regenerated.
971         * generated/minloc0_16_i2.c : Regenerated.
972         * generated/minloc0_16_i4.c : Regenerated.
973         * generated/minloc0_16_i8.c : Regenerated.
974         * generated/minloc0_16_r10.c : Regenerated.
975         * generated/minloc0_16_r16.c : Regenerated.
976         * generated/minloc0_16_r4.c : Regenerated.
977         * generated/minloc0_16_r8.c : Regenerated.
978         * generated/minloc0_16_s1.c : Regenerated.
979         * generated/minloc0_16_s4.c : Regenerated.
980         * generated/minloc0_4_i1.c : Regenerated.
981         * generated/minloc0_4_i16.c : Regenerated.
982         * generated/minloc0_4_i2.c : Regenerated.
983         * generated/minloc0_4_i4.c : Regenerated.
984         * generated/minloc0_4_i8.c : Regenerated.
985         * generated/minloc0_4_r10.c : Regenerated.
986         * generated/minloc0_4_r16.c : Regenerated.
987         * generated/minloc0_4_r4.c : Regenerated.
988         * generated/minloc0_4_r8.c : Regenerated.
989         * generated/minloc0_4_s1.c : Regenerated.
990         * generated/minloc0_4_s4.c : Regenerated.
991         * generated/minloc0_8_i1.c : Regenerated.
992         * generated/minloc0_8_i16.c : Regenerated.
993         * generated/minloc0_8_i2.c : Regenerated.
994         * generated/minloc0_8_i4.c : Regenerated.
995         * generated/minloc0_8_i8.c : Regenerated.
996         * generated/minloc0_8_r10.c : Regenerated.
997         * generated/minloc0_8_r16.c : Regenerated.
998         * generated/minloc0_8_r4.c : Regenerated.
999         * generated/minloc0_8_r8.c : Regenerated.
1000         * generated/minloc0_8_s1.c : Regenerated.
1001         * generated/minloc0_8_s4.c : Regenerated.
1002         * generated/minloc1_16_i1.c : Regenerated.
1003         * generated/minloc1_16_i16.c : Regenerated.
1004         * generated/minloc1_16_i2.c : Regenerated.
1005         * generated/minloc1_16_i4.c : Regenerated.
1006         * generated/minloc1_16_i8.c : Regenerated.
1007         * generated/minloc1_16_r10.c : Regenerated.
1008         * generated/minloc1_16_r16.c : Regenerated.
1009         * generated/minloc1_16_r4.c : Regenerated.
1010         * generated/minloc1_16_r8.c : Regenerated.
1011         * generated/minloc1_16_s1.c : Regenerated.
1012         * generated/minloc1_16_s4.c : Regenerated.
1013         * generated/minloc1_4_i1.c : Regenerated.
1014         * generated/minloc1_4_i16.c : Regenerated.
1015         * generated/minloc1_4_i2.c : Regenerated.
1016         * generated/minloc1_4_i4.c : Regenerated.
1017         * generated/minloc1_4_i8.c : Regenerated.
1018         * generated/minloc1_4_r10.c : Regenerated.
1019         * generated/minloc1_4_r16.c : Regenerated.
1020         * generated/minloc1_4_r4.c : Regenerated.
1021         * generated/minloc1_4_r8.c : Regenerated.
1022         * generated/minloc1_4_s1.c : Regenerated.
1023         * generated/minloc1_4_s4.c : Regenerated.
1024         * generated/minloc1_8_i1.c : Regenerated.
1025         * generated/minloc1_8_i16.c : Regenerated.
1026         * generated/minloc1_8_i2.c : Regenerated.
1027         * generated/minloc1_8_i4.c : Regenerated.
1028         * generated/minloc1_8_i8.c : Regenerated.
1029         * generated/minloc1_8_r10.c : Regenerated.
1030         * generated/minloc1_8_r16.c : Regenerated.
1031         * generated/minloc1_8_r4.c : Regenerated.
1032         * generated/minloc1_8_r8.c : Regenerated.
1033         * generated/minloc1_8_s1.c : Regenerated.
1034         * generated/minloc1_8_s4.c : Regenerated.
1035         * generated/minval1_s1.c : Regenerated.
1036         * generated/minval1_s4.c : Regenerated.
1037         * generated/minval_i1.c : Regenerated.
1038         * generated/minval_i16.c : Regenerated.
1039         * generated/minval_i2.c : Regenerated.
1040         * generated/minval_i4.c : Regenerated.
1041         * generated/minval_i8.c : Regenerated.
1042         * generated/minval_r10.c : Regenerated.
1043         * generated/minval_r16.c : Regenerated.
1044         * generated/minval_r4.c : Regenerated.
1045         * generated/minval_r8.c : Regenerated.
1046         * generated/norm2_r10.c : Regenerated.
1047         * generated/norm2_r16.c : Regenerated.
1048         * generated/norm2_r4.c : Regenerated.
1049         * generated/norm2_r8.c : Regenerated.
1050         * generated/parity_l1.c : Regenerated.
1051         * generated/parity_l16.c : Regenerated.
1052         * generated/parity_l2.c : Regenerated.
1053         * generated/parity_l4.c : Regenerated.
1054         * generated/parity_l8.c : Regenerated.
1055         * generated/product_c10.c : Regenerated.
1056         * generated/product_c16.c : Regenerated.
1057         * generated/product_c4.c : Regenerated.
1058         * generated/product_c8.c : Regenerated.
1059         * generated/product_i1.c : Regenerated.
1060         * generated/product_i16.c : Regenerated.
1061         * generated/product_i2.c : Regenerated.
1062         * generated/product_i4.c : Regenerated.
1063         * generated/product_i8.c : Regenerated.
1064         * generated/product_r10.c : Regenerated.
1065         * generated/product_r16.c : Regenerated.
1066         * generated/product_r4.c : Regenerated.
1067         * generated/product_r8.c : Regenerated.
1068         * generated/reshape_c10.c : Regenerated.
1069         * generated/reshape_c16.c : Regenerated.
1070         * generated/reshape_c4.c : Regenerated.
1071         * generated/reshape_c8.c : Regenerated.
1072         * generated/reshape_i16.c : Regenerated.
1073         * generated/reshape_i4.c : Regenerated.
1074         * generated/reshape_i8.c : Regenerated.
1075         * generated/reshape_r10.c : Regenerated.
1076         * generated/reshape_r16.c : Regenerated.
1077         * generated/reshape_r4.c : Regenerated.
1078         * generated/reshape_r8.c : Regenerated.
1079         * generated/spread_c10.c : Regenerated.
1080         * generated/spread_c16.c : Regenerated.
1081         * generated/spread_c4.c : Regenerated.
1082         * generated/spread_c8.c : Regenerated.
1083         * generated/spread_i1.c : Regenerated.
1084         * generated/spread_i16.c : Regenerated.
1085         * generated/spread_i2.c : Regenerated.
1086         * generated/spread_i4.c : Regenerated.
1087         * generated/spread_i8.c : Regenerated.
1088         * generated/spread_r10.c : Regenerated.
1089         * generated/spread_r16.c : Regenerated.
1090         * generated/spread_r4.c : Regenerated.
1091         * generated/spread_r8.c : Regenerated.
1092         * generated/sum_c10.c : Regenerated.
1093         * generated/sum_c16.c : Regenerated.
1094         * generated/sum_c4.c : Regenerated.
1095         * generated/sum_c8.c : Regenerated.
1096         * generated/sum_i1.c : Regenerated.
1097         * generated/sum_i16.c : Regenerated.
1098         * generated/sum_i2.c : Regenerated.
1099         * generated/sum_i4.c : Regenerated.
1100         * generated/sum_i8.c : Regenerated.
1101         * generated/sum_r10.c : Regenerated.
1102         * generated/sum_r16.c : Regenerated.
1103         * generated/sum_r4.c : Regenerated.
1104         * generated/sum_r8.c : Regenerated.
1106 2018-01-07  Janne Blomqvist  <jb@gcc.gnu.org>
1108         PR fortran/78534
1109         PR fortran/83704
1110         * io/fbuf.c (fbuf_init): Use size_t instead of int for length.
1111         (fbuf_debug): Convert debug output to unsigned long.
1112         (fbuf_reset): Use ptrdiff_t for return value.
1113         (fbuf_alloc): Use size_t for length argument.
1114         (fbuf_flush): Handle large buffers.
1115         (fbuf_flush_list): Likewise.
1116         (fbuf_seek): Use ptrdiff_t for offset and return value.
1117         (fbuf_read): Use size_t for length argument.
1118         (fbuf_getc_refill): Use size_t to match fbuf_read.
1119         * io/fbuf.h (struct fbuf): Use size_t for lengths.
1120         (fbuf_init): Use size_t instead of int for length.
1121         (fbuf_reset): Use ptrdiff_t for return value.
1122         (fbuf_alloc): Use size_t for length argument.
1123         (fbuf_seek): Use ptrdiff_t for offset and return value.
1124         (fbuf_read): Use size_t for length argument.
1125         * io/io.h (read_block_form): Likewise.
1126         (read_block_form4): Likewise.
1127         (write_block): Likewise.
1128         (read_a): Likewise.
1129         (read_a_char4): Likewise.
1130         (read_x): Likewise.
1131         (write_a): Likewise.
1132         (write_a_char4): Likewise.
1133         * io/list_read.c (list_formatted_read_scalar): Use size_t to
1134         handle large buffers.
1135         * io/read.c (read_l): Likewise.
1136         (read_utf8): Likewise.
1137         (read_utf8_char1): Likewise.
1138         (read_default_char1): Likewise.
1139         (read_utf8_char4): Likewise.
1140         (read_default_char4): Likewise.
1141         (read_a): Likewise.
1142         (read_a_char4): Likewise.
1143         (eat_leading_spaces): Likewise.
1144         (next_char): Likewise.
1145         (read_decimal): Likewise.
1146         (read_radix): Likewise.
1147         (read_f): Likewise.
1148         (read_x): Likewise.
1149         * io/transfer.c (read_sf_internal): Likewise.
1150         (read_sf): Likewise.
1151         (read_block_form): Likewise.
1152         (read_block_form4): Likewise.
1153         (write_block): Likewise.
1154         (formatted_transfer_scalar_write): Likewise.
1155         (next_record_w): Likewise.
1156         * io/unix.c (mem_alloc_r): Likewise.
1157         (mem_alloc_r4): Likewise.
1158         (mem_alloc_w): Likewise.
1159         (mem_alloc_w4): Likewise.
1160         (mem_read): Likewise.
1161         (mem_read4): Likewise.
1162         (mem_write): Likewise.
1163         (mem_write4): Likewise.
1164         (open_internal): Likewise.
1165         (open_internal4): Likewise.
1166         * io/unix.h (open_internal): Likewise.
1167         (open_internal4): Likewise.
1168         (mem_alloc_w): Likewise.
1169         (mem_alloc_r): Likewise.
1170         (mem_alloc_w4): Likewise.
1171         (mem_alloc_r4): Likewise.
1172         * io/write.c (write_check_cc): Likewise.
1173         (write_cc): Likewise.
1174         (write_a): Likewise.
1175         (write_a_char4): Likewise.
1177 2018-01-06  Janne Blomqvist  <jb@gcc.gnu.org>
1179         * io/write.c (namelist_write): Remove unused variable "i".
1181 2018-01-06  Dominique d'Humieres  <dominiq@lps.ens.fr>
1182             Janne Blomqvist  <jb@gcc.gnu.org>
1184         PR fortran/83704
1185         * io/write.c (write_character): Use size_t instead of int for
1186         length.
1188 2018-01-05  Janne Blomqvist  <jb@gcc.gnu.org>
1190         PR fortran/78534
1191         * intrinsics/args.c (getarg_i4): Use gfc_charlen_type.
1192         (get_command_argument_i4): Likewise.
1193         (get_command_i4): Likewise.
1194         * intrinsics/chmod.c (chmod_internal): Likewise.
1195         * intrinsics/env.c (get_environment_variable_i4): Likewise.
1196         * intrinsics/extends_type_of.c (struct vtype): Use size_t for size
1197         member.
1198         * intrinsics/gerror.c (gerror): Use gfc_charlen_type.
1199         * intrinsics/getlog.c (getlog): Likewise.
1200         * intrinsics/hostnm.c (hostnm_0): Likewise.
1201         * intrinsics/string_intrinsics_inc.c (string_len_trim): Rework to
1202         work if gfc_charlen_type is unsigned.
1203         (string_scan): Likewise.
1204         * io/transfer.c (transfer_character): Modify prototype.
1205         (transfer_character_write): Likewise.
1206         (transfer_character_wide): Likewise.
1207         (transfer_character_wide_write): Likewise.
1208         (transfer_array): Typecast to avoid signed-unsigned comparison.
1209         * io/unit.c (is_trim_ok): Use gfc_charlen_type.
1210         * io/write.c (namelist_write): Likewise.
1211         * libgfortran.h (gfc_charlen_type): Change typedef to size_t.
1213 2018-01-03  Jakub Jelinek  <jakub@redhat.com>
1215         Update copyright years.
1217 2018-01-02  Janne Blomqvist  <jb@gcc.gnu.org>
1219         PR libgfortran/83649
1220         * io/unix.c (MAX_CHUNK): New define.
1221         (raw_read): For reads larger than MAX_CHUNK, loop.
1222         (raw_write): Write no more than MAX_CHUNK bytes per iteration.
1224 Copyright (C) 2018 Free Software Foundation, Inc.
1226 Copying and distribution of this file, with or without modification,
1227 are permitted in any medium without royalty provided the copyright
1228 notice and this notice are preserved.