PR c++/84488
[official-gcc.git] / libgfortran / ChangeLog
blob67ddbee606f8488ad50aeff73ead64ac09637b70
1 2018-02-19  Andre Vehreschild  <vehre@gcc.gnu.org>
3         * caf/libcaf.h: Add type parameters to the caf_*_by_ref prototypes.
4         * caf/single.c (get_for_ref): Simplifications and now respecting
5         the type argument.
6         (_gfortran_caf_get_by_ref): Added source type handing to get_for_ref().
7         (send_by_ref): Simplifications and respecting the dst_type now.
8         (_gfortran_caf_send_by_ref): Added destination type hand over to
9         send_by_ref().
10         (_gfortran_caf_sendget_by_ref): Added general support and fixed stack
11         corruption.  The function is now really usable.
13 2018-02-14  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
15         PR target/84148
16         * configure: Regenerate.
18 2018-02-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
20         PR libgfortran/84412
21         * io/transfer.c (finalize_transfer): After completng an internal unit
22         I/O operation, clear internal_unit_kind.
24 2018-02-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
26         * libgfortran.h (GFC_ARRAY_DESCRIPTOR): Remove dimension
27         of descriptor to use vaiable members for dim.
28         Change usage of GFC_ARRAY_DESCRIPTOR accordingly.
29         (GFC_FILL_ARRAY_DESCRIPTOR): New macro.
30         (gfc_full_array_i4): New type.
31         * intrinsics/date_and_time.c (secnds): Use sizeof
32         (gfc_array_i4) + sizeof (descriptor_dimension) for memory
33         allocation.
34         * intrinsics/reshape_generic.c: Use GFC_FULL_ARRAY_DESCRIPTOR.
35         * io/format.c: Use sizeof (gfc_array_i4) + sizeof
36         (descriptor_dimension) for memoy allocation.
37         * io/list_read.c (list_formatted_read_scalar): Use
38         gfc_full_array_i4 for variable.
39         (nml_read_obj): Likewise.
40         * io/write.c (list_formatted_write_scalar): Likewise.
41         (nml_write_obj): Likewise.
42         * m4/reshape.m4: Use GFC_FULL_ARRAY_DESCRIPTOR.
43         * generated/reshape_c10.c: Regenerated.
44         * generated/reshape_c16.c: Regenerated.
45         * generated/reshape_c4.c: Regenerated.
46         * generated/reshape_c8.c: Regenerated.
47         * generated/reshape_i16.c: Regenerated.
48         * generated/reshape_i4.c: Regenerated.
49         * generated/reshape_i8.c: Regenerated.
50         * generated/reshape_r10.c: Regenerated.
51         * generated/reshape_r16.c: Regenerated.
52         * generated/reshape_r4.c: Regenerated.
53         * generated/reshape_r8.c: Regenerated.
55 2018-01-31  Janne Blomqvist  <jb@gcc.gnu.org>
57         * generated/cshift1_16.c (cshift1): Regenerated.
58         * generated/cshift1_4.c (cshift1): Regenerated.
59         * generated/cshift1_8.c (cshift1): Regenerated.
60         * generated/eoshift1_16.c (eoshift1): Regenerated.
61         * generated/eoshift1_4.c (eoshift1): Regenerated.
62         * generated/eoshift1_8.c (eoshift1): Regenerated.
63         * generated/eoshift3_16.c (eoshift3): Regenerated.
64         * generated/eoshift3_4.c (eoshift3): Regenerated.
65         * generated/eoshift3_8.c (eoshift3): Regenerated.
66         * generated/in_pack_c10.c (internal_pack_c10): Regenerated.
67         * generated/in_pack_c16.c (internal_pack_c16): Regenerated.
68         * generated/in_pack_c4.c (internal_pack_c4): Regenerated.
69         * generated/in_pack_c8.c (internal_pack_c8): Regenerated.
70         * generated/in_pack_i1.c (internal_pack_1): Regenerated.
71         * generated/in_pack_i16.c (internal_pack_16): Regenerated.
72         * generated/in_pack_i2.c (internal_pack_2): Regenerated.
73         * generated/in_pack_i4.c (internal_pack_4): Regenerated.
74         * generated/in_pack_i8.c (internal_pack_8): Regenerated.
75         * generated/in_pack_r10.c (internal_pack_r10): Regenerated.
76         * generated/in_pack_r16.c (internal_pack_r16): Regenerated.
77         * generated/in_pack_r4.c (internal_pack_r4): Regenerated.
78         * generated/in_pack_r8.c (internal_pack_r8): Regenerated.
79         * generated/in_unpack_c10.c (internal_unpack_c10): Regenerated.
80         * generated/in_unpack_c16.c (internal_unpack_c16): Regenerated.
81         * generated/in_unpack_c4.c (internal_unpack_c4): Regenerated.
82         * generated/in_unpack_c8.c (internal_unpack_c8): Regenerated.
83         * generated/in_unpack_i1.c (internal_unpack_1): Regenerated.
84         * generated/in_unpack_i16.c (internal_unpack_16): Regenerated.
85         * generated/in_unpack_i2.c (internal_unpack_2): Regenerated.
86         * generated/in_unpack_i4.c (internal_unpack_4): Regenerated.
87         * generated/in_unpack_i8.c (internal_unpack_8): Regenerated.
88         * generated/in_unpack_r10.c (internal_unpack_r10): Regenerated.
89         * generated/in_unpack_r16.c (internal_unpack_r16): Regenerated.
90         * generated/in_unpack_r4.c (internal_unpack_r4): Regenerated.
91         * generated/in_unpack_r8.c (internal_unpack_r8): Regenerated.
92         * generated/reshape_c10.c (reshape_c10): Regenerated.
93         * generated/reshape_c16.c (reshape_c16): Regenerated.
94         * generated/reshape_c4.c (reshape_c4): Regenerated.
95         * generated/reshape_c8.c (reshape_c8): Regenerated.
96         * generated/reshape_i16.c (reshape_16): Regenerated.
97         * generated/reshape_i4.c (reshape_4): Regenerated.
98         * generated/reshape_i8.c (reshape_8): Regenerated.
99         * generated/reshape_r10.c (reshape_r10): Regenerated.
100         * generated/reshape_r16.c (reshape_r16): Regenerated.
101         * generated/reshape_r4.c (reshape_r4): Regenerated.
102         * generated/reshape_r8.c (reshape_r8): Regenerated.
103         * generated/shape_i1.c (shape_1): Regenerated.
104         * generated/shape_i16.c (shape_16): Regenerated.
105         * generated/shape_i2.c (shape_2): Regenerated.
106         * generated/shape_i4.c (shape_4): Regenerated.
107         * generated/shape_i8.c (shape_8): Regenerated.
108         * generated/spread_c10.c (spread_scalar_c10): Regenerated.
109         * generated/spread_c16.c (spread_scalar_c16): Regenerated.
110         * generated/spread_c4.c (spread_scalar_c4): Regenerated.
111         * generated/spread_c8.c (spread_scalar_c8): Regenerated.
112         * generated/spread_i1.c (spread_scalar_i1): Regenerated.
113         * generated/spread_i16.c (spread_scalar_i16): Regenerated.
114         * generated/spread_i2.c (spread_scalar_i2): Regenerated.
115         * generated/spread_i4.c (spread_scalar_i4): Regenerated.
116         * generated/spread_i8.c (spread_scalar_i8): Regenerated.
117         * generated/spread_r10.c (spread_scalar_r10): Regenerated.
118         * generated/spread_r16.c (spread_scalar_r16): Regenerated.
119         * generated/spread_r4.c (spread_scalar_r4): Regenerated.
120         * generated/spread_r8.c (spread_scalar_r8): Regenerated.
121         * intrinsics/random.c (jump): Use size_t for array index in loop.
122         (getosrandom): Likewise.
123         (arandom_r4): Make n an index_type.
124         (arandom_r8): Likewise.
125         (arandom_r10): Likewise.
126         (arandom_r16): Likewise.
127         (scramble_seed): Use size_t for array index in loop.
128         * m4/cshift1.m4: Make i an index_type.
129         * m4/eoshift1.m4: Likewise.
130         * m4/eoshift3.m4: Likewise.
131         * m4/in_pack.m4: Make n an index_type.
132         * m4/in_unpack.m4: Likewise.
133         * m4/reshape.m4: Make n and dim index_type's.
134         * m4/shape.m4: Make n an index_type.
135         * m4/spread.m4: Likewise, use index_type argument rather than
136         copying to int.
137         * runtime/bounds.c (bounds_ifunction_return): Make n an
138         index_type.
139         * runtime/in_pack_generic.c (internal_pack): Likewise.
140         * runtime/in_unpack_generic.c (internal_unpack): Make n and size
141         index_type's.
143 2018-01-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
145         PR fortran/37577
146         * libgfortran.h: Remove GFC_DTYPE_DERIVED_1, GFC_DTYPE_DERIVED_2,
147         GFC_DTYPE_DERIVED_4, GFC_DTYPE_DERIVED_8 and GFC_DTYPE_DERIVED_16.
148         * m4/cshift1.m4: Remove GFC_DTYPE_DERIVED_1.
149         * generated/cshift1_16.c: Regenerated.
150         * generated/cshift1_4.c: Regenerated.
151         * generated/cshift1_8.c: Regenerated.
152         * intrinsics/cshift0.c: Remove GFC_DTYPE_DERIVED_1.
153         * intrinsics/pack_generic.c (pack): Move handling of other types
154         into separate switch statement.
155         * intrinsics/spread_generic.c (spread): Likewise.
156         (spread_scalar): Likewise.
157         * intrinsics/unpack_generic.c (unpack1): Likewise.
158         (unpack0): Likewise.
159         * runtime/in_pack_generic.c (internal_pack): Likewise.
160         * runtime/in_unpack_generic.c (internal_unpack): Likewise.
162 2018-01-25  Paul Thomas  <pault@gcc.gnu.org>
164         PR fortran/37577
165         * caf/single.c (_gfortran_caf_failed_images): Access the 'type'
166         and 'elem_len' fields of the dtype instead of the shifts.
167         (_gfortran_caf_stopped_images): Likewise.
168         * intrinsics/associated.c (associated): Compare the 'type' and
169         'elem_len' fields instead of the dtype.
170         * caf/date_and_time.c : Access the dtype fields rather using
171         shifts and masks.
172         * io/transfer.c (transfer_array ): Comment on item count.
173         (set_nml_var,st_set_nml_var): Change dtype type and use fields.
174         (st_set_nml_dtio_var): Likewise.
175         * libgfortran.h : Change definition of GFC_ARRAY_DESCRIPTOR and
176         add a typedef for the dtype_type. Change the GFC_DTYPE_* macros
177         to access the dtype fields.
179 2018-01-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
181         PR fortran/54613
182         * m4/iparm.m4: Add back_arg macro if in minloc or maxloc.
183         * m4/iforeach-s.m4: Add optional argument back with back_arg
184         macro. Improve m4 quoting. If HAVE_BACK_ARG is defined, assert
185         that back is non-true.
186         * m4/iforeach.m4: Likewise.
187         * m4/ifunction-s.m4: Likewise.
188         * m4/ifunction.m4: Likewise.
189         * m4/maxloc0.m4: Include assert.h
190         * m4/minloc0.m4: Likewise.
191         * m4/maxloc0s.m4: #define HAVE_BACK_ARG.
192         * m4/minloc0s.m4: Likewise.
193         * m4/maxloc1s.m4: Likewise.
194         * m4/minloc1s.m4: Likewise.
195         * m4/maxloc1.m4: Include assert.h, #define HAVE_BACK_ARG.
196         * m4/minloc1.m4: Likewise.
197         * m4/maxloc2s.m4: Add assert.h, add back_arg, assert that
198         back is non-true.
199         * m4/minloc2s.m4: Likewise.
200         * generated/iall_i1.c: Regenerated.
201         * generated/iall_i16.c: Regenerated.
202         * generated/iall_i2.c: Regenerated.
203         * generated/iall_i4.c: Regenerated.
204         * generated/iall_i8.c: Regenerated.
205         * generated/iany_i1.c: Regenerated.
206         * generated/iany_i16.c: Regenerated.
207         * generated/iany_i2.c: Regenerated.
208         * generated/iany_i4.c: Regenerated.
209         * generated/iany_i8.c: Regenerated.
210         * generated/iparity_i1.c: Regenerated.
211         * generated/iparity_i16.c: Regenerated.
212         * generated/iparity_i2.c: Regenerated.
213         * generated/iparity_i4.c: Regenerated.
214         * generated/iparity_i8.c: Regenerated.
215         * generated/maxloc0_16_i1.c: Regenerated.
216         * generated/maxloc0_16_i16.c: Regenerated.
217         * generated/maxloc0_16_i2.c: Regenerated.
218         * generated/maxloc0_16_i4.c: Regenerated.
219         * generated/maxloc0_16_i8.c: Regenerated.
220         * generated/maxloc0_16_r10.c: Regenerated.
221         * generated/maxloc0_16_r16.c: Regenerated.
222         * generated/maxloc0_16_r4.c: Regenerated.
223         * generated/maxloc0_16_r8.c: Regenerated.
224         * generated/maxloc0_16_s1.c: Regenerated.
225         * generated/maxloc0_16_s4.c: Regenerated.
226         * generated/maxloc0_4_i1.c: Regenerated.
227         * generated/maxloc0_4_i16.c: Regenerated.
228         * generated/maxloc0_4_i2.c: Regenerated.
229         * generated/maxloc0_4_i4.c: Regenerated.
230         * generated/maxloc0_4_i8.c: Regenerated.
231         * generated/maxloc0_4_r10.c: Regenerated.
232         * generated/maxloc0_4_r16.c: Regenerated.
233         * generated/maxloc0_4_r4.c: Regenerated.
234         * generated/maxloc0_4_r8.c: Regenerated.
235         * generated/maxloc0_4_s1.c: Regenerated.
236         * generated/maxloc0_4_s4.c: Regenerated.
237         * generated/maxloc0_8_i1.c: Regenerated.
238         * generated/maxloc0_8_i16.c: Regenerated.
239         * generated/maxloc0_8_i2.c: Regenerated.
240         * generated/maxloc0_8_i4.c: Regenerated.
241         * generated/maxloc0_8_i8.c: Regenerated.
242         * generated/maxloc0_8_r10.c: Regenerated.
243         * generated/maxloc0_8_r16.c: Regenerated.
244         * generated/maxloc0_8_r4.c: Regenerated.
245         * generated/maxloc0_8_r8.c: Regenerated.
246         * generated/maxloc0_8_s1.c: Regenerated.
247         * generated/maxloc0_8_s4.c: Regenerated.
248         * generated/maxloc1_16_i1.c: Regenerated.
249         * generated/maxloc1_16_i16.c: Regenerated.
250         * generated/maxloc1_16_i2.c: Regenerated.
251         * generated/maxloc1_16_i4.c: Regenerated.
252         * generated/maxloc1_16_i8.c: Regenerated.
253         * generated/maxloc1_16_r10.c: Regenerated.
254         * generated/maxloc1_16_r16.c: Regenerated.
255         * generated/maxloc1_16_r4.c: Regenerated.
256         * generated/maxloc1_16_r8.c: Regenerated.
257         * generated/maxloc1_16_s1.c: Regenerated.
258         * generated/maxloc1_16_s4.c: Regenerated.
259         * generated/maxloc1_4_i1.c: Regenerated.
260         * generated/maxloc1_4_i16.c: Regenerated.
261         * generated/maxloc1_4_i2.c: Regenerated.
262         * generated/maxloc1_4_i4.c: Regenerated.
263         * generated/maxloc1_4_i8.c: Regenerated.
264         * generated/maxloc1_4_r10.c: Regenerated.
265         * generated/maxloc1_4_r16.c: Regenerated.
266         * generated/maxloc1_4_r4.c: Regenerated.
267         * generated/maxloc1_4_r8.c: Regenerated.
268         * generated/maxloc1_4_s1.c: Regenerated.
269         * generated/maxloc1_4_s4.c: Regenerated.
270         * generated/maxloc1_8_i1.c: Regenerated.
271         * generated/maxloc1_8_i16.c: Regenerated.
272         * generated/maxloc1_8_i2.c: Regenerated.
273         * generated/maxloc1_8_i4.c: Regenerated.
274         * generated/maxloc1_8_i8.c: Regenerated.
275         * generated/maxloc1_8_r10.c: Regenerated.
276         * generated/maxloc1_8_r16.c: Regenerated.
277         * generated/maxloc1_8_r4.c: Regenerated.
278         * generated/maxloc1_8_r8.c: Regenerated.
279         * generated/maxloc1_8_s1.c: Regenerated.
280         * generated/maxloc1_8_s4.c: Regenerated.
281         * generated/maxval_i1.c: Regenerated.
282         * generated/maxval_i16.c: Regenerated.
283         * generated/maxval_i2.c: Regenerated.
284         * generated/maxval_i4.c: Regenerated.
285         * generated/maxval_i8.c: Regenerated.
286         * generated/maxval_r10.c: Regenerated.
287         * generated/maxval_r16.c: Regenerated.
288         * generated/maxval_r4.c: Regenerated.
289         * generated/maxval_r8.c: Regenerated.
290         * generated/minloc0_16_i1.c: Regenerated.
291         * generated/minloc0_16_i16.c: Regenerated.
292         * generated/minloc0_16_i2.c: Regenerated.
293         * generated/minloc0_16_i4.c: Regenerated.
294         * generated/minloc0_16_i8.c: Regenerated.
295         * generated/minloc0_16_r10.c: Regenerated.
296         * generated/minloc0_16_r16.c: Regenerated.
297         * generated/minloc0_16_r4.c: Regenerated.
298         * generated/minloc0_16_r8.c: Regenerated.
299         * generated/minloc0_16_s1.c: Regenerated.
300         * generated/minloc0_16_s4.c: Regenerated.
301         * generated/minloc0_4_i1.c: Regenerated.
302         * generated/minloc0_4_i16.c: Regenerated.
303         * generated/minloc0_4_i2.c: Regenerated.
304         * generated/minloc0_4_i4.c: Regenerated.
305         * generated/minloc0_4_i8.c: Regenerated.
306         * generated/minloc0_4_r10.c: Regenerated.
307         * generated/minloc0_4_r16.c: Regenerated.
308         * generated/minloc0_4_r4.c: Regenerated.
309         * generated/minloc0_4_r8.c: Regenerated.
310         * generated/minloc0_4_s1.c: Regenerated.
311         * generated/minloc0_4_s4.c: Regenerated.
312         * generated/minloc0_8_i1.c: Regenerated.
313         * generated/minloc0_8_i16.c: Regenerated.
314         * generated/minloc0_8_i2.c: Regenerated.
315         * generated/minloc0_8_i4.c: Regenerated.
316         * generated/minloc0_8_i8.c: Regenerated.
317         * generated/minloc0_8_r10.c: Regenerated.
318         * generated/minloc0_8_r16.c: Regenerated.
319         * generated/minloc0_8_r4.c: Regenerated.
320         * generated/minloc0_8_r8.c: Regenerated.
321         * generated/minloc0_8_s1.c: Regenerated.
322         * generated/minloc0_8_s4.c: Regenerated.
323         * generated/minloc1_16_i1.c: Regenerated.
324         * generated/minloc1_16_i16.c: Regenerated.
325         * generated/minloc1_16_i2.c: Regenerated.
326         * generated/minloc1_16_i4.c: Regenerated.
327         * generated/minloc1_16_i8.c: Regenerated.
328         * generated/minloc1_16_r10.c: Regenerated.
329         * generated/minloc1_16_r16.c: Regenerated.
330         * generated/minloc1_16_r4.c: Regenerated.
331         * generated/minloc1_16_r8.c: Regenerated.
332         * generated/minloc1_16_s1.c: Regenerated.
333         * generated/minloc1_16_s4.c: Regenerated.
334         * generated/minloc1_4_i1.c: Regenerated.
335         * generated/minloc1_4_i16.c: Regenerated.
336         * generated/minloc1_4_i2.c: Regenerated.
337         * generated/minloc1_4_i4.c: Regenerated.
338         * generated/minloc1_4_i8.c: Regenerated.
339         * generated/minloc1_4_r10.c: Regenerated.
340         * generated/minloc1_4_r16.c: Regenerated.
341         * generated/minloc1_4_r4.c: Regenerated.
342         * generated/minloc1_4_r8.c: Regenerated.
343         * generated/minloc1_4_s1.c: Regenerated.
344         * generated/minloc1_4_s4.c: Regenerated.
345         * generated/minloc1_8_i1.c: Regenerated.
346         * generated/minloc1_8_i16.c: Regenerated.
347         * generated/minloc1_8_i2.c: Regenerated.
348         * generated/minloc1_8_i4.c: Regenerated.
349         * generated/minloc1_8_i8.c: Regenerated.
350         * generated/minloc1_8_r10.c: Regenerated.
351         * generated/minloc1_8_r16.c: Regenerated.
352         * generated/minloc1_8_r4.c: Regenerated.
353         * generated/minloc1_8_r8.c: Regenerated.
354         * generated/minloc1_8_s1.c: Regenerated.
355         * generated/minloc1_8_s4.c: Regenerated.
356         * generated/minval_i1.c: Regenerated.
357         * generated/minval_i16.c: Regenerated.
358         * generated/minval_i2.c: Regenerated.
359         * generated/minval_i4.c: Regenerated.
360         * generated/minval_i8.c: Regenerated.
361         * generated/minval_r10.c: Regenerated.
362         * generated/minval_r16.c: Regenerated.
363         * generated/minval_r4.c: Regenerated.
364         * generated/minval_r8.c: Regenerated.
365         * generated/norm2_r10.c: Regenerated.
366         * generated/norm2_r16.c: Regenerated.
367         * generated/norm2_r4.c: Regenerated.
368         * generated/norm2_r8.c: Regenerated.
369         * generated/parity_l1.c: Regenerated.
370         * generated/parity_l16.c: Regenerated.
371         * generated/parity_l2.c: Regenerated.
372         * generated/parity_l4.c: Regenerated.
373         * generated/parity_l8.c: Regenerated.
374         * generated/product_c10.c: Regenerated.
375         * generated/product_c16.c: Regenerated.
376         * generated/product_c4.c: Regenerated.
377         * generated/product_c8.c: Regenerated.
378         * generated/product_i1.c: Regenerated.
379         * generated/product_i16.c: Regenerated.
380         * generated/product_i2.c: Regenerated.
381         * generated/product_i4.c: Regenerated.
382         * generated/product_i8.c: Regenerated.
383         * generated/product_r10.c: Regenerated.
384         * generated/product_r16.c: Regenerated.
385         * generated/product_r4.c: Regenerated.
386         * generated/product_r8.c: Regenerated.
387         * generated/sum_c10.c: Regenerated.
388         * generated/sum_c16.c: Regenerated.
389         * generated/sum_c4.c: Regenerated.
390         * generated/sum_c8.c: Regenerated.
391         * generated/sum_i1.c: Regenerated.
392         * generated/sum_i16.c: Regenerated.
393         * generated/sum_i2.c: Regenerated.
394         * generated/sum_i4.c: Regenerated.
395         * generated/sum_i8.c: Regenerated.
396         * generated/sum_r10.c: Regenerated.
397         * generated/sum_r16.c: Regenerated.
398         * generated/sum_r4.c: Regenerated.
399         * generated/sum_r8.c: Regenerated.
401 2018-01-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
403         PR libgfortran/83811
404         * write.c (select_buffer): Adjust buffer size up by 1.
406 2018-01-08  Janne Blomqvist  <jb@gcc.gnu.org>
408         PR 78534, bugfix for r256322
409         * io/transfer.c (next_record_w): Use correct type for return value
410         of next_array_record.
412 2018-01-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
414         * libgfortran.h (GFC_DTYPE_COPY): New macro.
415         (GFC_DTYPE_COPY_SETRANK): New macro.
416         (GFC_DTYPE_IS_UNSET): New macro.
417         * intrinsics/cshift0.c (cshift0): Use new macros.
418         * intrinsics/eoshift0.c (eoshift0): Likewise.
419         * intrinsics/eoshift2.c (eoshift2): Likewise.
420         * intrinsics/move_alloc.c (move_alloc): Likewise.
421         * intrinsics/reshape_generic.c (reshape_internal): Likewise.
422         * intrinsics/spread_generic.c (spread_internal): Likewise.
423         * intrinsics/spread_generic.c (spread_scalar): Likewise.
424         * intrinsics/spread_generic.c (spread_char_scalar): Likewise.
425         * intrinsics/spread_generic.c (spread_char4_scalar): Likewise.
426         * intrinsics/unpack_generic.c (unpack0): Likewise.
427         * intrinsics/unpack_generic.c (unpack0_char): Likewise.
428         * intrinsics/unpack_generic.c (unpack0_char4): Likewise.
429         * m4/cshift1.m4 (cshift1): Likewise.
430         * m4/eoshift1.m4 (eoshift1): Likewise.
431         * m4/eoshift3.m4 (eoshift3): Likewise.
432         * m4/iforeach-s.m4: Likewise.
433         * m4/iforeach.m4: Likewise.
434         * m4/ifunction-s.m4: Likewise.
435         * m4/ifunction-s2.m4: Likewise.
436         * m4/ifunction.m4: Likewise.
437         * m4/ifunction_logical.m4: Likewise.
438         * m4/reshape.m4: Likewise.
439         * m4/spread.m4: Likewise.
440         * generated/all_l1.c : Regenerated.
441         * generated/all_l16.c : Regenerated.
442         * generated/all_l2.c : Regenerated.
443         * generated/all_l4.c : Regenerated.
444         * generated/all_l8.c : Regenerated.
445         * generated/any_l1.c : Regenerated.
446         * generated/any_l16.c : Regenerated.
447         * generated/any_l2.c : Regenerated.
448         * generated/any_l4.c : Regenerated.
449         * generated/any_l8.c : Regenerated.
450         * generated/count_16_l.c : Regenerated.
451         * generated/count_1_l.c : Regenerated.
452         * generated/count_2_l.c : Regenerated.
453         * generated/count_4_l.c : Regenerated.
454         * generated/count_8_l.c : Regenerated.
455         * generated/cshift1_16.c : Regenerated.
456         * generated/cshift1_4.c : Regenerated.
457         * generated/cshift1_8.c : Regenerated.
458         * generated/eoshift1_16.c : Regenerated.
459         * generated/eoshift1_4.c : Regenerated.
460         * generated/eoshift1_8.c : Regenerated.
461         * generated/eoshift3_16.c : Regenerated.
462         * generated/eoshift3_4.c : Regenerated.
463         * generated/eoshift3_8.c : Regenerated.
464         * generated/iall_i1.c : Regenerated.
465         * generated/iall_i16.c : Regenerated.
466         * generated/iall_i2.c : Regenerated.
467         * generated/iall_i4.c : Regenerated.
468         * generated/iall_i8.c : Regenerated.
469         * generated/iany_i1.c : Regenerated.
470         * generated/iany_i16.c : Regenerated.
471         * generated/iany_i2.c : Regenerated.
472         * generated/iany_i4.c : Regenerated.
473         * generated/iany_i8.c : Regenerated.
474         * generated/iparity_i1.c : Regenerated.
475         * generated/iparity_i16.c : Regenerated.
476         * generated/iparity_i2.c : Regenerated.
477         * generated/iparity_i4.c : Regenerated.
478         * generated/iparity_i8.c : Regenerated.
479         * generated/maxloc0_16_i1.c : Regenerated.
480         * generated/maxloc0_16_i16.c : Regenerated.
481         * generated/maxloc0_16_i2.c : Regenerated.
482         * generated/maxloc0_16_i4.c : Regenerated.
483         * generated/maxloc0_16_i8.c : Regenerated.
484         * generated/maxloc0_16_r10.c : Regenerated.
485         * generated/maxloc0_16_r16.c : Regenerated.
486         * generated/maxloc0_16_r4.c : Regenerated.
487         * generated/maxloc0_16_r8.c : Regenerated.
488         * generated/maxloc0_16_s1.c : Regenerated.
489         * generated/maxloc0_16_s4.c : Regenerated.
490         * generated/maxloc0_4_i1.c : Regenerated.
491         * generated/maxloc0_4_i16.c : Regenerated.
492         * generated/maxloc0_4_i2.c : Regenerated.
493         * generated/maxloc0_4_i4.c : Regenerated.
494         * generated/maxloc0_4_i8.c : Regenerated.
495         * generated/maxloc0_4_r10.c : Regenerated.
496         * generated/maxloc0_4_r16.c : Regenerated.
497         * generated/maxloc0_4_r4.c : Regenerated.
498         * generated/maxloc0_4_r8.c : Regenerated.
499         * generated/maxloc0_4_s1.c : Regenerated.
500         * generated/maxloc0_4_s4.c : Regenerated.
501         * generated/maxloc0_8_i1.c : Regenerated.
502         * generated/maxloc0_8_i16.c : Regenerated.
503         * generated/maxloc0_8_i2.c : Regenerated.
504         * generated/maxloc0_8_i4.c : Regenerated.
505         * generated/maxloc0_8_i8.c : Regenerated.
506         * generated/maxloc0_8_r10.c : Regenerated.
507         * generated/maxloc0_8_r16.c : Regenerated.
508         * generated/maxloc0_8_r4.c : Regenerated.
509         * generated/maxloc0_8_r8.c : Regenerated.
510         * generated/maxloc0_8_s1.c : Regenerated.
511         * generated/maxloc0_8_s4.c : Regenerated.
512         * generated/maxloc1_16_i1.c : Regenerated.
513         * generated/maxloc1_16_i16.c : Regenerated.
514         * generated/maxloc1_16_i2.c : Regenerated.
515         * generated/maxloc1_16_i4.c : Regenerated.
516         * generated/maxloc1_16_i8.c : Regenerated.
517         * generated/maxloc1_16_r10.c : Regenerated.
518         * generated/maxloc1_16_r16.c : Regenerated.
519         * generated/maxloc1_16_r4.c : Regenerated.
520         * generated/maxloc1_16_r8.c : Regenerated.
521         * generated/maxloc1_16_s1.c : Regenerated.
522         * generated/maxloc1_16_s4.c : Regenerated.
523         * generated/maxloc1_4_i1.c : Regenerated.
524         * generated/maxloc1_4_i16.c : Regenerated.
525         * generated/maxloc1_4_i2.c : Regenerated.
526         * generated/maxloc1_4_i4.c : Regenerated.
527         * generated/maxloc1_4_i8.c : Regenerated.
528         * generated/maxloc1_4_r10.c : Regenerated.
529         * generated/maxloc1_4_r16.c : Regenerated.
530         * generated/maxloc1_4_r4.c : Regenerated.
531         * generated/maxloc1_4_r8.c : Regenerated.
532         * generated/maxloc1_4_s1.c : Regenerated.
533         * generated/maxloc1_4_s4.c : Regenerated.
534         * generated/maxloc1_8_i1.c : Regenerated.
535         * generated/maxloc1_8_i16.c : Regenerated.
536         * generated/maxloc1_8_i2.c : Regenerated.
537         * generated/maxloc1_8_i4.c : Regenerated.
538         * generated/maxloc1_8_i8.c : Regenerated.
539         * generated/maxloc1_8_r10.c : Regenerated.
540         * generated/maxloc1_8_r16.c : Regenerated.
541         * generated/maxloc1_8_r4.c : Regenerated.
542         * generated/maxloc1_8_r8.c : Regenerated.
543         * generated/maxloc1_8_s1.c : Regenerated.
544         * generated/maxloc1_8_s4.c : Regenerated.
545         * generated/maxval1_s1.c : Regenerated.
546         * generated/maxval1_s4.c : Regenerated.
547         * generated/maxval_i1.c : Regenerated.
548         * generated/maxval_i16.c : Regenerated.
549         * generated/maxval_i2.c : Regenerated.
550         * generated/maxval_i4.c : Regenerated.
551         * generated/maxval_i8.c : Regenerated.
552         * generated/maxval_r10.c : Regenerated.
553         * generated/maxval_r16.c : Regenerated.
554         * generated/maxval_r4.c : Regenerated.
555         * generated/maxval_r8.c : Regenerated.
556         * generated/minloc0_16_i1.c : Regenerated.
557         * generated/minloc0_16_i16.c : Regenerated.
558         * generated/minloc0_16_i2.c : Regenerated.
559         * generated/minloc0_16_i4.c : Regenerated.
560         * generated/minloc0_16_i8.c : Regenerated.
561         * generated/minloc0_16_r10.c : Regenerated.
562         * generated/minloc0_16_r16.c : Regenerated.
563         * generated/minloc0_16_r4.c : Regenerated.
564         * generated/minloc0_16_r8.c : Regenerated.
565         * generated/minloc0_16_s1.c : Regenerated.
566         * generated/minloc0_16_s4.c : Regenerated.
567         * generated/minloc0_4_i1.c : Regenerated.
568         * generated/minloc0_4_i16.c : Regenerated.
569         * generated/minloc0_4_i2.c : Regenerated.
570         * generated/minloc0_4_i4.c : Regenerated.
571         * generated/minloc0_4_i8.c : Regenerated.
572         * generated/minloc0_4_r10.c : Regenerated.
573         * generated/minloc0_4_r16.c : Regenerated.
574         * generated/minloc0_4_r4.c : Regenerated.
575         * generated/minloc0_4_r8.c : Regenerated.
576         * generated/minloc0_4_s1.c : Regenerated.
577         * generated/minloc0_4_s4.c : Regenerated.
578         * generated/minloc0_8_i1.c : Regenerated.
579         * generated/minloc0_8_i16.c : Regenerated.
580         * generated/minloc0_8_i2.c : Regenerated.
581         * generated/minloc0_8_i4.c : Regenerated.
582         * generated/minloc0_8_i8.c : Regenerated.
583         * generated/minloc0_8_r10.c : Regenerated.
584         * generated/minloc0_8_r16.c : Regenerated.
585         * generated/minloc0_8_r4.c : Regenerated.
586         * generated/minloc0_8_r8.c : Regenerated.
587         * generated/minloc0_8_s1.c : Regenerated.
588         * generated/minloc0_8_s4.c : Regenerated.
589         * generated/minloc1_16_i1.c : Regenerated.
590         * generated/minloc1_16_i16.c : Regenerated.
591         * generated/minloc1_16_i2.c : Regenerated.
592         * generated/minloc1_16_i4.c : Regenerated.
593         * generated/minloc1_16_i8.c : Regenerated.
594         * generated/minloc1_16_r10.c : Regenerated.
595         * generated/minloc1_16_r16.c : Regenerated.
596         * generated/minloc1_16_r4.c : Regenerated.
597         * generated/minloc1_16_r8.c : Regenerated.
598         * generated/minloc1_16_s1.c : Regenerated.
599         * generated/minloc1_16_s4.c : Regenerated.
600         * generated/minloc1_4_i1.c : Regenerated.
601         * generated/minloc1_4_i16.c : Regenerated.
602         * generated/minloc1_4_i2.c : Regenerated.
603         * generated/minloc1_4_i4.c : Regenerated.
604         * generated/minloc1_4_i8.c : Regenerated.
605         * generated/minloc1_4_r10.c : Regenerated.
606         * generated/minloc1_4_r16.c : Regenerated.
607         * generated/minloc1_4_r4.c : Regenerated.
608         * generated/minloc1_4_r8.c : Regenerated.
609         * generated/minloc1_4_s1.c : Regenerated.
610         * generated/minloc1_4_s4.c : Regenerated.
611         * generated/minloc1_8_i1.c : Regenerated.
612         * generated/minloc1_8_i16.c : Regenerated.
613         * generated/minloc1_8_i2.c : Regenerated.
614         * generated/minloc1_8_i4.c : Regenerated.
615         * generated/minloc1_8_i8.c : Regenerated.
616         * generated/minloc1_8_r10.c : Regenerated.
617         * generated/minloc1_8_r16.c : Regenerated.
618         * generated/minloc1_8_r4.c : Regenerated.
619         * generated/minloc1_8_r8.c : Regenerated.
620         * generated/minloc1_8_s1.c : Regenerated.
621         * generated/minloc1_8_s4.c : Regenerated.
622         * generated/minval1_s1.c : Regenerated.
623         * generated/minval1_s4.c : Regenerated.
624         * generated/minval_i1.c : Regenerated.
625         * generated/minval_i16.c : Regenerated.
626         * generated/minval_i2.c : Regenerated.
627         * generated/minval_i4.c : Regenerated.
628         * generated/minval_i8.c : Regenerated.
629         * generated/minval_r10.c : Regenerated.
630         * generated/minval_r16.c : Regenerated.
631         * generated/minval_r4.c : Regenerated.
632         * generated/minval_r8.c : Regenerated.
633         * generated/norm2_r10.c : Regenerated.
634         * generated/norm2_r16.c : Regenerated.
635         * generated/norm2_r4.c : Regenerated.
636         * generated/norm2_r8.c : Regenerated.
637         * generated/parity_l1.c : Regenerated.
638         * generated/parity_l16.c : Regenerated.
639         * generated/parity_l2.c : Regenerated.
640         * generated/parity_l4.c : Regenerated.
641         * generated/parity_l8.c : Regenerated.
642         * generated/product_c10.c : Regenerated.
643         * generated/product_c16.c : Regenerated.
644         * generated/product_c4.c : Regenerated.
645         * generated/product_c8.c : Regenerated.
646         * generated/product_i1.c : Regenerated.
647         * generated/product_i16.c : Regenerated.
648         * generated/product_i2.c : Regenerated.
649         * generated/product_i4.c : Regenerated.
650         * generated/product_i8.c : Regenerated.
651         * generated/product_r10.c : Regenerated.
652         * generated/product_r16.c : Regenerated.
653         * generated/product_r4.c : Regenerated.
654         * generated/product_r8.c : Regenerated.
655         * generated/reshape_c10.c : Regenerated.
656         * generated/reshape_c16.c : Regenerated.
657         * generated/reshape_c4.c : Regenerated.
658         * generated/reshape_c8.c : Regenerated.
659         * generated/reshape_i16.c : Regenerated.
660         * generated/reshape_i4.c : Regenerated.
661         * generated/reshape_i8.c : Regenerated.
662         * generated/reshape_r10.c : Regenerated.
663         * generated/reshape_r16.c : Regenerated.
664         * generated/reshape_r4.c : Regenerated.
665         * generated/reshape_r8.c : Regenerated.
666         * generated/spread_c10.c : Regenerated.
667         * generated/spread_c16.c : Regenerated.
668         * generated/spread_c4.c : Regenerated.
669         * generated/spread_c8.c : Regenerated.
670         * generated/spread_i1.c : Regenerated.
671         * generated/spread_i16.c : Regenerated.
672         * generated/spread_i2.c : Regenerated.
673         * generated/spread_i4.c : Regenerated.
674         * generated/spread_i8.c : Regenerated.
675         * generated/spread_r10.c : Regenerated.
676         * generated/spread_r16.c : Regenerated.
677         * generated/spread_r4.c : Regenerated.
678         * generated/spread_r8.c : Regenerated.
679         * generated/sum_c10.c : Regenerated.
680         * generated/sum_c16.c : Regenerated.
681         * generated/sum_c4.c : Regenerated.
682         * generated/sum_c8.c : Regenerated.
683         * generated/sum_i1.c : Regenerated.
684         * generated/sum_i16.c : Regenerated.
685         * generated/sum_i2.c : Regenerated.
686         * generated/sum_i4.c : Regenerated.
687         * generated/sum_i8.c : Regenerated.
688         * generated/sum_r10.c : Regenerated.
689         * generated/sum_r16.c : Regenerated.
690         * generated/sum_r4.c : Regenerated.
691         * generated/sum_r8.c : Regenerated.
693 2018-01-07  Janne Blomqvist  <jb@gcc.gnu.org>
695         PR fortran/78534
696         PR fortran/83704
697         * io/fbuf.c (fbuf_init): Use size_t instead of int for length.
698         (fbuf_debug): Convert debug output to unsigned long.
699         (fbuf_reset): Use ptrdiff_t for return value.
700         (fbuf_alloc): Use size_t for length argument.
701         (fbuf_flush): Handle large buffers.
702         (fbuf_flush_list): Likewise.
703         (fbuf_seek): Use ptrdiff_t for offset and return value.
704         (fbuf_read): Use size_t for length argument.
705         (fbuf_getc_refill): Use size_t to match fbuf_read.
706         * io/fbuf.h (struct fbuf): Use size_t for lengths.
707         (fbuf_init): Use size_t instead of int for length.
708         (fbuf_reset): Use ptrdiff_t for return value.
709         (fbuf_alloc): Use size_t for length argument.
710         (fbuf_seek): Use ptrdiff_t for offset and return value.
711         (fbuf_read): Use size_t for length argument.
712         * io/io.h (read_block_form): Likewise.
713         (read_block_form4): Likewise.
714         (write_block): Likewise.
715         (read_a): Likewise.
716         (read_a_char4): Likewise.
717         (read_x): Likewise.
718         (write_a): Likewise.
719         (write_a_char4): Likewise.
720         * io/list_read.c (list_formatted_read_scalar): Use size_t to
721         handle large buffers.
722         * io/read.c (read_l): Likewise.
723         (read_utf8): Likewise.
724         (read_utf8_char1): Likewise.
725         (read_default_char1): Likewise.
726         (read_utf8_char4): Likewise.
727         (read_default_char4): Likewise.
728         (read_a): Likewise.
729         (read_a_char4): Likewise.
730         (eat_leading_spaces): Likewise.
731         (next_char): Likewise.
732         (read_decimal): Likewise.
733         (read_radix): Likewise.
734         (read_f): Likewise.
735         (read_x): Likewise.
736         * io/transfer.c (read_sf_internal): Likewise.
737         (read_sf): Likewise.
738         (read_block_form): Likewise.
739         (read_block_form4): Likewise.
740         (write_block): Likewise.
741         (formatted_transfer_scalar_write): Likewise.
742         (next_record_w): Likewise.
743         * io/unix.c (mem_alloc_r): Likewise.
744         (mem_alloc_r4): Likewise.
745         (mem_alloc_w): Likewise.
746         (mem_alloc_w4): Likewise.
747         (mem_read): Likewise.
748         (mem_read4): Likewise.
749         (mem_write): Likewise.
750         (mem_write4): Likewise.
751         (open_internal): Likewise.
752         (open_internal4): Likewise.
753         * io/unix.h (open_internal): Likewise.
754         (open_internal4): Likewise.
755         (mem_alloc_w): Likewise.
756         (mem_alloc_r): Likewise.
757         (mem_alloc_w4): Likewise.
758         (mem_alloc_r4): Likewise.
759         * io/write.c (write_check_cc): Likewise.
760         (write_cc): Likewise.
761         (write_a): Likewise.
762         (write_a_char4): Likewise.
764 2018-01-06  Janne Blomqvist  <jb@gcc.gnu.org>
766         * io/write.c (namelist_write): Remove unused variable "i".
768 2018-01-06  Dominique d'Humieres  <dominiq@lps.ens.fr>
769             Janne Blomqvist  <jb@gcc.gnu.org>
771         PR fortran/83704
772         * io/write.c (write_character): Use size_t instead of int for
773         length.
775 2018-01-05  Janne Blomqvist  <jb@gcc.gnu.org>
777         PR fortran/78534
778         * intrinsics/args.c (getarg_i4): Use gfc_charlen_type.
779         (get_command_argument_i4): Likewise.
780         (get_command_i4): Likewise.
781         * intrinsics/chmod.c (chmod_internal): Likewise.
782         * intrinsics/env.c (get_environment_variable_i4): Likewise.
783         * intrinsics/extends_type_of.c (struct vtype): Use size_t for size
784         member.
785         * intrinsics/gerror.c (gerror): Use gfc_charlen_type.
786         * intrinsics/getlog.c (getlog): Likewise.
787         * intrinsics/hostnm.c (hostnm_0): Likewise.
788         * intrinsics/string_intrinsics_inc.c (string_len_trim): Rework to
789         work if gfc_charlen_type is unsigned.
790         (string_scan): Likewise.
791         * io/transfer.c (transfer_character): Modify prototype.
792         (transfer_character_write): Likewise.
793         (transfer_character_wide): Likewise.
794         (transfer_character_wide_write): Likewise.
795         (transfer_array): Typecast to avoid signed-unsigned comparison.
796         * io/unit.c (is_trim_ok): Use gfc_charlen_type.
797         * io/write.c (namelist_write): Likewise.
798         * libgfortran.h (gfc_charlen_type): Change typedef to size_t.
800 2018-01-03  Jakub Jelinek  <jakub@redhat.com>
802         Update copyright years.
804 2018-01-02  Janne Blomqvist  <jb@gcc.gnu.org>
806         PR libgfortran/83649
807         * io/unix.c (MAX_CHUNK): New define.
808         (raw_read): For reads larger than MAX_CHUNK, loop.
809         (raw_write): Write no more than MAX_CHUNK bytes per iteration.
811 Copyright (C) 2018 Free Software Foundation, Inc.
813 Copying and distribution of this file, with or without modification,
814 are permitted in any medium without royalty provided the copyright
815 notice and this notice are preserved.