1 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
2 Thomas Koenig <tkoenig@gcc.gnu.org>
5 * Makefile.am: Add async.c to gfor_io_src.
6 Add async.h to gfor_io_headers.
7 * Makefile.in: Regenerated.
8 * gfortran.map: Add _gfortran_st_wait_async.
9 * io/async.c: New file.
10 * io/async.h: New file.
11 * io/close.c: Include async.h.
12 (st_close): Call async_wait for an asynchronous unit.
13 * io/file_pos.c (st_backspace): Likewise.
14 (st_endfile): Likewise.
15 (st_rewind): Likewise.
17 * io/inquire.c: Add handling for asynchronous PENDING
19 * io/io.h (st_parameter_dt): Add async bit.
20 (st_parameter_wait): Correct.
21 (gfc_unit): Add au pointer.
22 (st_wait_async): Add prototype.
23 (transfer_array_inner): Likewise.
24 (st_write_done_worker): Likewise.
25 * io/open.c: Include async.h.
26 (new_unit): Initialize asynchronous unit.
27 * io/transfer.c (async_opt): New struct.
28 (wrap_scalar_transfer): New function.
29 (transfer_integer): Call wrap_scalar_transfer to do the work.
30 (transfer_real): Likewise.
31 (transfer_real_write): Likewise.
32 (transfer_character): Likewise.
33 (transfer_character_wide): Likewise.
34 (transfer_complex): Likewise.
35 (transfer_array_inner): New function.
36 (transfer_array): Call transfer_array_inner.
37 (transfer_derived): Call wrap_scalar_transfer.
38 (data_transfer_init): Check for asynchronous I/O.
39 Perform a wait operation on any pending asynchronous I/O
40 if the data transfer is synchronous. Copy PDT and enqueue
41 thread for data transfer.
42 (st_read_done_worker): New function.
43 (st_read_done): Enqueue transfer or call st_read_done_worker.
44 (st_write_done_worker): New function.
45 (st_write_done): Enqueue transfer or call st_read_done_worker.
46 (st_wait): Document as no-op for compatibility reasons.
47 (st_wait_async): New function.
48 * io/unit.c (insert_unit): Use macros LOCK, UNLOCK and TRYLOCK;
49 add NOTE where necessary.
50 (get_gfc_unit): Likewise.
51 (init_units): Likewise.
52 (close_unit_1): Likewise. Call async_close if asynchronous.
53 (close_unit): Use macros LOCK and UNLOCK.
54 (finish_last_advance_record): Likewise.
55 (newunit_alloc): Likewise.
56 * io/unix.c (find_file): Likewise.
57 (flush_all_units_1): Likewise.
58 (flush_all_units): Likewise.
59 * libgfortran.h (generate_error_common): Add prototype.
60 * runtime/error.c: Include io.h and async.h.
61 (generate_error_common): New function.
63 2018-06-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
66 * io/write_float.def (build_float_string): Initialize *len.
68 2018-06-01 Steven G. Kargl <kargl@gcc.gnu.org>
72 * libgfortran.h: Remove the GFC_DTYPE_COPY_SETRANK macro.
73 * intrinsics/reshape_generic.c: Directly assign rank.
74 * intrinsics/spread_generic.c: Ditto.
75 * m4/iforeach-s.m4: Ditto.
76 * m4/iforeach.m4: Ditto.
77 * m4/ifunction-s.m4: Ditto.
78 * m4/ifunction-s2.m4: Ditto.
79 * m4/ifunction.m4: Ditto.
80 * m4/ifunction_logical.m4: Ditto.
81 * m4/reshape.m4: Ditto.
82 * m4/spread.m4: Ditto.
83 * generated/all_l1.c: Regenerated from m4 files.
84 * generated/all_l16.c: Ditto.
85 * generated/all_l2.c: Ditto.
86 * generated/all_l4.c: Ditto.
87 * generated/all_l8.c: Ditto.
88 * generated/any_l1.c: Ditto.
89 * generated/any_l16.c: Ditto.
90 * generated/any_l2.c: Ditto.
91 * generated/any_l4.c: Ditto.
92 * generated/any_l8.c: Ditto.
93 * generated/count_16_l.c: Ditto.
94 * generated/count_1_l.c: Ditto.
95 * generated/count_2_l.c: Ditto.
96 * generated/count_4_l.c: Ditto.
97 * generated/count_8_l.c: Ditto.
98 * generated/iall_i1.c: Ditto.
99 * generated/iall_i16.c: Ditto.
100 * generated/iall_i2.c: Ditto.
101 * generated/iall_i4.c: Ditto.
102 * generated/iall_i8.c: Ditto.
103 * generated/iany_i1.c: Ditto.
104 * generated/iany_i16.c: Ditto.
105 * generated/iany_i2.c: Ditto.
106 * generated/iany_i4.c: Ditto.
107 * generated/iany_i8.c: Ditto.
108 * generated/iparity_i1.c: Ditto.
109 * generated/iparity_i16.c: Ditto.
110 * generated/iparity_i2.c: Ditto.
111 * generated/iparity_i4.c: Ditto.
112 * generated/iparity_i8.c: Ditto.
113 * generated/maxloc0_16_i1.c: Ditto.
114 * generated/maxloc0_16_i16.c: Ditto.
115 * generated/maxloc0_16_i2.c: Ditto.
116 * generated/maxloc0_16_i4.c: Ditto.
117 * generated/maxloc0_16_i8.c: Ditto.
118 * generated/maxloc0_16_r10.c: Ditto.
119 * generated/maxloc0_16_r16.c: Ditto.
120 * generated/maxloc0_16_r4.c: Ditto.
121 * generated/maxloc0_16_r8.c: Ditto.
122 * generated/maxloc0_16_s1.c: Ditto.
123 * generated/maxloc0_16_s4.c: Ditto.
124 * generated/maxloc0_4_i1.c: Ditto.
125 * generated/maxloc0_4_i16.c: Ditto.
126 * generated/maxloc0_4_i2.c: Ditto.
127 * generated/maxloc0_4_i4.c: Ditto.
128 * generated/maxloc0_4_i8.c: Ditto.
129 * generated/maxloc0_4_r10.c: Ditto.
130 * generated/maxloc0_4_r16.c: Ditto.
131 * generated/maxloc0_4_r4.c: Ditto.
132 * generated/maxloc0_4_r8.c: Ditto.
133 * generated/maxloc0_4_s1.c: Ditto.
134 * generated/maxloc0_4_s4.c: Ditto.
135 * generated/maxloc0_8_i1.c: Ditto.
136 * generated/maxloc0_8_i16.c: Ditto.
137 * generated/maxloc0_8_i2.c: Ditto.
138 * generated/maxloc0_8_i4.c: Ditto.
139 * generated/maxloc0_8_i8.c: Ditto.
140 * generated/maxloc0_8_r10.c: Ditto.
141 * generated/maxloc0_8_r16.c: Ditto.
142 * generated/maxloc0_8_r4.c: Ditto.
143 * generated/maxloc0_8_r8.c: Ditto.
144 * generated/maxloc0_8_s1.c: Ditto.
145 * generated/maxloc0_8_s4.c: Ditto.
146 * generated/maxloc1_16_i1.c: Ditto.
147 * generated/maxloc1_16_i16.c: Ditto.
148 * generated/maxloc1_16_i2.c: Ditto.
149 * generated/maxloc1_16_i4.c: Ditto.
150 * generated/maxloc1_16_i8.c: Ditto.
151 * generated/maxloc1_16_r10.c: Ditto.
152 * generated/maxloc1_16_r16.c: Ditto.
153 * generated/maxloc1_16_r4.c: Ditto.
154 * generated/maxloc1_16_r8.c: Ditto.
155 * generated/maxloc1_16_s1.c: Ditto.
156 * generated/maxloc1_16_s4.c: Ditto.
157 * generated/maxloc1_4_i1.c: Ditto.
158 * generated/maxloc1_4_i16.c: Ditto.
159 * generated/maxloc1_4_i2.c: Ditto.
160 * generated/maxloc1_4_i4.c: Ditto.
161 * generated/maxloc1_4_i8.c: Ditto.
162 * generated/maxloc1_4_r10.c: Ditto.
163 * generated/maxloc1_4_r16.c: Ditto.
164 * generated/maxloc1_4_r4.c: Ditto.
165 * generated/maxloc1_4_r8.c: Ditto.
166 * generated/maxloc1_4_s1.c: Ditto.
167 * generated/maxloc1_4_s4.c: Ditto.
168 * generated/maxloc1_8_i1.c: Ditto.
169 * generated/maxloc1_8_i16.c: Ditto.
170 * generated/maxloc1_8_i2.c: Ditto.
171 * generated/maxloc1_8_i4.c: Ditto.
172 * generated/maxloc1_8_i8.c: Ditto.
173 * generated/maxloc1_8_r10.c: Ditto.
174 * generated/maxloc1_8_r16.c: Ditto.
175 * generated/maxloc1_8_r4.c: Ditto.
176 * generated/maxloc1_8_r8.c: Ditto.
177 * generated/maxloc1_8_s1.c: Ditto.
178 * generated/maxloc1_8_s4.c: Ditto.
179 * generated/maxval1_s1.c: Ditto.
180 * generated/maxval1_s4.c: Ditto.
181 * generated/maxval_i1.c: Ditto.
182 * generated/maxval_i16.c: Ditto.
183 * generated/maxval_i2.c: Ditto.
184 * generated/maxval_i4.c: Ditto.
185 * generated/maxval_i8.c: Ditto.
186 * generated/maxval_r10.c: Ditto.
187 * generated/maxval_r16.c: Ditto.
188 * generated/maxval_r4.c: Ditto.
189 * generated/maxval_r8.c: Ditto.
190 * generated/minloc0_16_i1.c: Ditto.
191 * generated/minloc0_16_i16.c: Ditto.
192 * generated/minloc0_16_i2.c: Ditto.
193 * generated/minloc0_16_i4.c: Ditto.
194 * generated/minloc0_16_i8.c: Ditto.
195 * generated/minloc0_16_r10.c: Ditto.
196 * generated/minloc0_16_r16.c: Ditto.
197 * generated/minloc0_16_r4.c: Ditto.
198 * generated/minloc0_16_r8.c: Ditto.
199 * generated/minloc0_16_s1.c: Ditto.
200 * generated/minloc0_16_s4.c: Ditto.
201 * generated/minloc0_4_i1.c: Ditto.
202 * generated/minloc0_4_i16.c: Ditto.
203 * generated/minloc0_4_i2.c: Ditto.
204 * generated/minloc0_4_i4.c: Ditto.
205 * generated/minloc0_4_i8.c: Ditto.
206 * generated/minloc0_4_r10.c: Ditto.
207 * generated/minloc0_4_r16.c: Ditto.
208 * generated/minloc0_4_r4.c: Ditto.
209 * generated/minloc0_4_r8.c: Ditto.
210 * generated/minloc0_4_s1.c: Ditto.
211 * generated/minloc0_4_s4.c: Ditto.
212 * generated/minloc0_8_i1.c: Ditto.
213 * generated/minloc0_8_i16.c: Ditto.
214 * generated/minloc0_8_i2.c: Ditto.
215 * generated/minloc0_8_i4.c: Ditto.
216 * generated/minloc0_8_i8.c: Ditto.
217 * generated/minloc0_8_r10.c: Ditto.
218 * generated/minloc0_8_r16.c: Ditto.
219 * generated/minloc0_8_r4.c: Ditto.
220 * generated/minloc0_8_r8.c: Ditto.
221 * generated/minloc0_8_s1.c: Ditto.
222 * generated/minloc0_8_s4.c: Ditto.
223 * generated/minloc1_16_i1.c: Ditto.
224 * generated/minloc1_16_i16.c: Ditto.
225 * generated/minloc1_16_i2.c: Ditto.
226 * generated/minloc1_16_i4.c: Ditto.
227 * generated/minloc1_16_i8.c: Ditto.
228 * generated/minloc1_16_r10.c: Ditto.
229 * generated/minloc1_16_r16.c: Ditto.
230 * generated/minloc1_16_r4.c: Ditto.
231 * generated/minloc1_16_r8.c: Ditto.
232 * generated/minloc1_16_s1.c: Ditto.
233 * generated/minloc1_16_s4.c: Ditto.
234 * generated/minloc1_4_i1.c: Ditto.
235 * generated/minloc1_4_i16.c: Ditto.
236 * generated/minloc1_4_i2.c: Ditto.
237 * generated/minloc1_4_i4.c: Ditto.
238 * generated/minloc1_4_i8.c: Ditto.
239 * generated/minloc1_4_r10.c: Ditto.
240 * generated/minloc1_4_r16.c: Ditto.
241 * generated/minloc1_4_r4.c: Ditto.
242 * generated/minloc1_4_r8.c: Ditto.
243 * generated/minloc1_4_s1.c: Ditto.
244 * generated/minloc1_4_s4.c: Ditto.
245 * generated/minloc1_8_i1.c: Ditto.
246 * generated/minloc1_8_i16.c: Ditto.
247 * generated/minloc1_8_i2.c: Ditto.
248 * generated/minloc1_8_i4.c: Ditto.
249 * generated/minloc1_8_i8.c: Ditto.
250 * generated/minloc1_8_r10.c: Ditto.
251 * generated/minloc1_8_r16.c: Ditto.
252 * generated/minloc1_8_r4.c: Ditto.
253 * generated/minloc1_8_r8.c: Ditto.
254 * generated/minloc1_8_s1.c: Ditto.
255 * generated/minloc1_8_s4.c: Ditto.
256 * generated/minval1_s1.c: Ditto.
257 * generated/minval1_s4.c: Ditto.
258 * generated/minval_i1.c: Ditto.
259 * generated/minval_i16.c: Ditto.
260 * generated/minval_i2.c: Ditto.
261 * generated/minval_i4.c: Ditto.
262 * generated/minval_i8.c: Ditto.
263 * generated/minval_r10.c: Ditto.
264 * generated/minval_r16.c: Ditto.
265 * generated/minval_r4.c: Ditto.
266 * generated/minval_r8.c: Ditto.
267 * generated/norm2_r10.c: Ditto.
268 * generated/norm2_r16.c: Ditto.
269 * generated/norm2_r4.c: Ditto.
270 * generated/norm2_r8.c: Ditto.
271 * generated/parity_l1.c: Ditto.
272 * generated/parity_l16.c: Ditto.
273 * generated/parity_l2.c: Ditto.
274 * generated/parity_l4.c: Ditto.
275 * generated/parity_l8.c: Ditto.
276 * generated/product_c10.c: Ditto.
277 * generated/product_c16.c: Ditto.
278 * generated/product_c4.c: Ditto.
279 * generated/product_c8.c: Ditto.
280 * generated/product_i1.c: Ditto.
281 * generated/product_i16.c: Ditto.
282 * generated/product_i2.c: Ditto.
283 * generated/product_i4.c: Ditto.
284 * generated/product_i8.c: Ditto.
285 * generated/product_r10.c: Ditto.
286 * generated/product_r16.c: Ditto.
287 * generated/product_r4.c: Ditto.
288 * generated/product_r8.c: Ditto.
289 * generated/reshape_c10.c: Ditto.
290 * generated/reshape_c16.c: Ditto.
291 * generated/reshape_c4.c: Ditto.
292 * generated/reshape_c8.c: Ditto.
293 * generated/reshape_i16.c: Ditto.
294 * generated/reshape_i4.c: Ditto.
295 * generated/reshape_i8.c: Ditto.
296 * generated/reshape_r10.c: Ditto.
297 * generated/reshape_r16.c: Ditto.
298 * generated/reshape_r4.c: Ditto.
299 * generated/reshape_r8.c: Ditto.
300 * generated/spread_c10.c: Ditto.
301 * generated/spread_c16.c: Ditto.
302 * generated/spread_c4.c: Ditto.
303 * generated/spread_c8.c: Ditto.
304 * generated/spread_i1.c: Ditto.
305 * generated/spread_i16.c: Ditto.
306 * generated/spread_i2.c: Ditto.
307 * generated/spread_i4.c: Ditto.
308 * generated/spread_i8.c: Ditto.
309 * generated/spread_r10.c: Ditto.
310 * generated/spread_r16.c: Ditto.
311 * generated/spread_r4.c: Ditto.
312 * generated/spread_r8.c: Ditto.
313 * generated/sum_c10.c: Ditto.
314 * generated/sum_c16.c: Ditto.
315 * generated/sum_c4.c: Ditto.
316 * generated/sum_c8.c: Ditto.
317 * generated/sum_i1.c: Ditto.
318 * generated/sum_i16.c: Ditto.
319 * generated/sum_i2.c: Ditto.
320 * generated/sum_i4.c: Ditto.
321 * generated/sum_i8.c: Ditto.
322 * generated/sum_r10.c: Ditto.
323 * generated/sum_r16.c: Ditto.
324 * generated/sum_r4.c: Ditto.
325 * generated/sum_r8.c: Ditto.
327 2018-06-01 Steven G. Kargl <kargl@gcc.gnu.org>
330 * libgfortran/Makefile.am: Add random_init.f90 to build.
331 * libgfortran/Makefile.in: Regenerated.
332 * libgfortran/gfortran.map: Expose symbol for _gfortran_random_init.
333 * libgfortran/intrinsics/random_init.f90: Implementation.
335 2018-05-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
338 * io/write.c (write_real, write_real_g0, write_complex): Use
339 separate local variables for the float string length.
341 2018-05-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
344 * io/write.c (write_integer): Initialise the fnode format to
345 FMT_NONE, used for list directed write.
346 (BUF_STACK_SZ): Bump default buffer size up to avoid allocs on
349 2018-05-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
352 * io/write.c (write_float_0): Use separate local variable for
353 the float string length.
355 2018-05-08 Thomas Koenig <tkoenig@gcc.gnu.org>
358 * m4/iforeach-s.m4: Remove assertion that back is zero.
359 * m4/iforeach.m4: Likewise. Remove leading 'do'
360 before implementation start.
361 * m4/ifunction-s.m4: Remove assertion that back is zero.
362 * m4/ifunction.m4: Likewise. Remove for loop if HAVE_BACK_ARG
364 * m4/maxloc0.m4: Reorganize loops. Split loops between >= and =,
365 depending if back is true. Mark the condition of having
366 found a value which exceeds the limit as unlikely.
367 * m4/minloc0.m4: Likewise.
368 * m4/maxloc1.m4: Likewise.
369 * m4/minloc1.m4: Likewise.
370 * m4/maxloc1s.m4: Handle back argument.
371 * m4/minloc1s.m4: Likewise.
372 * m4/maxloc2s.m4: Remove assertion that back is zero.
373 Remove special handling of loop start. Handle back argument.
374 * m4/minloc2s.m4: Likewise.
375 * generated/iall_i1.c: Regenerated.
376 * generated/iall_i16.c: Regenerated.
377 * generated/iall_i2.c: Regenerated.
378 * generated/iall_i4.c: Regenerated.
379 * generated/iall_i8.c: Regenerated.
380 * generated/iany_i1.c: Regenerated.
381 * generated/iany_i16.c: Regenerated.
382 * generated/iany_i2.c: Regenerated.
383 * generated/iany_i4.c: Regenerated.
384 * generated/iany_i8.c: Regenerated.
385 * generated/iparity_i1.c: Regenerated.
386 * generated/iparity_i16.c: Regenerated.
387 * generated/iparity_i2.c: Regenerated.
388 * generated/iparity_i4.c: Regenerated.
389 * generated/iparity_i8.c: Regenerated.
390 * generated/maxloc0_16_i1.c: Regenerated.
391 * generated/maxloc0_16_i16.c: Regenerated.
392 * generated/maxloc0_16_i2.c: Regenerated.
393 * generated/maxloc0_16_i4.c: Regenerated.
394 * generated/maxloc0_16_i8.c: Regenerated.
395 * generated/maxloc0_16_r10.c: Regenerated.
396 * generated/maxloc0_16_r16.c: Regenerated.
397 * generated/maxloc0_16_r4.c: Regenerated.
398 * generated/maxloc0_16_r8.c: Regenerated.
399 * generated/maxloc0_16_s1.c: Regenerated.
400 * generated/maxloc0_16_s4.c: Regenerated.
401 * generated/maxloc0_4_i1.c: Regenerated.
402 * generated/maxloc0_4_i16.c: Regenerated.
403 * generated/maxloc0_4_i2.c: Regenerated.
404 * generated/maxloc0_4_i4.c: Regenerated.
405 * generated/maxloc0_4_i8.c: Regenerated.
406 * generated/maxloc0_4_r10.c: Regenerated.
407 * generated/maxloc0_4_r16.c: Regenerated.
408 * generated/maxloc0_4_r4.c: Regenerated.
409 * generated/maxloc0_4_r8.c: Regenerated.
410 * generated/maxloc0_4_s1.c: Regenerated.
411 * generated/maxloc0_4_s4.c: Regenerated.
412 * generated/maxloc0_8_i1.c: Regenerated.
413 * generated/maxloc0_8_i16.c: Regenerated.
414 * generated/maxloc0_8_i2.c: Regenerated.
415 * generated/maxloc0_8_i4.c: Regenerated.
416 * generated/maxloc0_8_i8.c: Regenerated.
417 * generated/maxloc0_8_r10.c: Regenerated.
418 * generated/maxloc0_8_r16.c: Regenerated.
419 * generated/maxloc0_8_r4.c: Regenerated.
420 * generated/maxloc0_8_r8.c: Regenerated.
421 * generated/maxloc0_8_s1.c: Regenerated.
422 * generated/maxloc0_8_s4.c: Regenerated.
423 * generated/maxloc1_16_i1.c: Regenerated.
424 * generated/maxloc1_16_i16.c: Regenerated.
425 * generated/maxloc1_16_i2.c: Regenerated.
426 * generated/maxloc1_16_i4.c: Regenerated.
427 * generated/maxloc1_16_i8.c: Regenerated.
428 * generated/maxloc1_16_r10.c: Regenerated.
429 * generated/maxloc1_16_r16.c: Regenerated.
430 * generated/maxloc1_16_r4.c: Regenerated.
431 * generated/maxloc1_16_r8.c: Regenerated.
432 * generated/maxloc1_16_s1.c: Regenerated.
433 * generated/maxloc1_16_s4.c: Regenerated.
434 * generated/maxloc1_4_i1.c: Regenerated.
435 * generated/maxloc1_4_i16.c: Regenerated.
436 * generated/maxloc1_4_i2.c: Regenerated.
437 * generated/maxloc1_4_i4.c: Regenerated.
438 * generated/maxloc1_4_i8.c: Regenerated.
439 * generated/maxloc1_4_r10.c: Regenerated.
440 * generated/maxloc1_4_r16.c: Regenerated.
441 * generated/maxloc1_4_r4.c: Regenerated.
442 * generated/maxloc1_4_r8.c: Regenerated.
443 * generated/maxloc1_4_s1.c: Regenerated.
444 * generated/maxloc1_4_s4.c: Regenerated.
445 * generated/maxloc1_8_i1.c: Regenerated.
446 * generated/maxloc1_8_i16.c: Regenerated.
447 * generated/maxloc1_8_i2.c: Regenerated.
448 * generated/maxloc1_8_i4.c: Regenerated.
449 * generated/maxloc1_8_i8.c: Regenerated.
450 * generated/maxloc1_8_r10.c: Regenerated.
451 * generated/maxloc1_8_r16.c: Regenerated.
452 * generated/maxloc1_8_r4.c: Regenerated.
453 * generated/maxloc1_8_r8.c: Regenerated.
454 * generated/maxloc1_8_s1.c: Regenerated.
455 * generated/maxloc1_8_s4.c: Regenerated.
456 * generated/maxloc2_16_s1.c: Regenerated.
457 * generated/maxloc2_16_s4.c: Regenerated.
458 * generated/maxloc2_4_s1.c: Regenerated.
459 * generated/maxloc2_4_s4.c: Regenerated.
460 * generated/maxloc2_8_s1.c: Regenerated.
461 * generated/maxloc2_8_s4.c: Regenerated.
462 * generated/maxval_i1.c: Regenerated.
463 * generated/maxval_i16.c: Regenerated.
464 * generated/maxval_i2.c: Regenerated.
465 * generated/maxval_i4.c: Regenerated.
466 * generated/maxval_i8.c: Regenerated.
467 * generated/maxval_r10.c: Regenerated.
468 * generated/maxval_r16.c: Regenerated.
469 * generated/maxval_r4.c: Regenerated.
470 * generated/maxval_r8.c: Regenerated.
471 * generated/minloc0_16_i1.c: Regenerated.
472 * generated/minloc0_16_i16.c: Regenerated.
473 * generated/minloc0_16_i2.c: Regenerated.
474 * generated/minloc0_16_i4.c: Regenerated.
475 * generated/minloc0_16_i8.c: Regenerated.
476 * generated/minloc0_16_r10.c: Regenerated.
477 * generated/minloc0_16_r16.c: Regenerated.
478 * generated/minloc0_16_r4.c: Regenerated.
479 * generated/minloc0_16_r8.c: Regenerated.
480 * generated/minloc0_16_s1.c: Regenerated.
481 * generated/minloc0_16_s4.c: Regenerated.
482 * generated/minloc0_4_i1.c: Regenerated.
483 * generated/minloc0_4_i16.c: Regenerated.
484 * generated/minloc0_4_i2.c: Regenerated.
485 * generated/minloc0_4_i4.c: Regenerated.
486 * generated/minloc0_4_i8.c: Regenerated.
487 * generated/minloc0_4_r10.c: Regenerated.
488 * generated/minloc0_4_r16.c: Regenerated.
489 * generated/minloc0_4_r4.c: Regenerated.
490 * generated/minloc0_4_r8.c: Regenerated.
491 * generated/minloc0_4_s1.c: Regenerated.
492 * generated/minloc0_4_s4.c: Regenerated.
493 * generated/minloc0_8_i1.c: Regenerated.
494 * generated/minloc0_8_i16.c: Regenerated.
495 * generated/minloc0_8_i2.c: Regenerated.
496 * generated/minloc0_8_i4.c: Regenerated.
497 * generated/minloc0_8_i8.c: Regenerated.
498 * generated/minloc0_8_r10.c: Regenerated.
499 * generated/minloc0_8_r16.c: Regenerated.
500 * generated/minloc0_8_r4.c: Regenerated.
501 * generated/minloc0_8_r8.c: Regenerated.
502 * generated/minloc0_8_s1.c: Regenerated.
503 * generated/minloc0_8_s4.c: Regenerated.
504 * generated/minloc1_16_i1.c: Regenerated.
505 * generated/minloc1_16_i16.c: Regenerated.
506 * generated/minloc1_16_i2.c: Regenerated.
507 * generated/minloc1_16_i4.c: Regenerated.
508 * generated/minloc1_16_i8.c: Regenerated.
509 * generated/minloc1_16_r10.c: Regenerated.
510 * generated/minloc1_16_r16.c: Regenerated.
511 * generated/minloc1_16_r4.c: Regenerated.
512 * generated/minloc1_16_r8.c: Regenerated.
513 * generated/minloc1_16_s1.c: Regenerated.
514 * generated/minloc1_16_s4.c: Regenerated.
515 * generated/minloc1_4_i1.c: Regenerated.
516 * generated/minloc1_4_i16.c: Regenerated.
517 * generated/minloc1_4_i2.c: Regenerated.
518 * generated/minloc1_4_i4.c: Regenerated.
519 * generated/minloc1_4_i8.c: Regenerated.
520 * generated/minloc1_4_r10.c: Regenerated.
521 * generated/minloc1_4_r16.c: Regenerated.
522 * generated/minloc1_4_r4.c: Regenerated.
523 * generated/minloc1_4_r8.c: Regenerated.
524 * generated/minloc1_4_s1.c: Regenerated.
525 * generated/minloc1_4_s4.c: Regenerated.
526 * generated/minloc1_8_i1.c: Regenerated.
527 * generated/minloc1_8_i16.c: Regenerated.
528 * generated/minloc1_8_i2.c: Regenerated.
529 * generated/minloc1_8_i4.c: Regenerated.
530 * generated/minloc1_8_i8.c: Regenerated.
531 * generated/minloc1_8_r10.c: Regenerated.
532 * generated/minloc1_8_r16.c: Regenerated.
533 * generated/minloc1_8_r4.c: Regenerated.
534 * generated/minloc1_8_r8.c: Regenerated.
535 * generated/minloc1_8_s1.c: Regenerated.
536 * generated/minloc1_8_s4.c: Regenerated.
537 * generated/minloc2_16_s1.c: Regenerated.
538 * generated/minloc2_16_s4.c: Regenerated.
539 * generated/minloc2_4_s1.c: Regenerated.
540 * generated/minloc2_4_s4.c: Regenerated.
541 * generated/minloc2_8_s1.c: Regenerated.
542 * generated/minloc2_8_s4.c: Regenerated.
543 * generated/minval_i1.c: Regenerated.
544 * generated/minval_i16.c: Regenerated.
545 * generated/minval_i2.c: Regenerated.
546 * generated/minval_i4.c: Regenerated.
547 * generated/minval_i8.c: Regenerated.
548 * generated/minval_r10.c: Regenerated.
549 * generated/minval_r16.c: Regenerated.
550 * generated/minval_r4.c: Regenerated.
551 * generated/minval_r8.c: Regenerated.
552 * generated/norm2_r10.c: Regenerated.
553 * generated/norm2_r16.c: Regenerated.
554 * generated/norm2_r4.c: Regenerated.
555 * generated/norm2_r8.c: Regenerated.
556 * generated/parity_l1.c: Regenerated.
557 * generated/parity_l16.c: Regenerated.
558 * generated/parity_l2.c: Regenerated.
559 * generated/parity_l4.c: Regenerated.
560 * generated/parity_l8.c: Regenerated.
561 * generated/product_c10.c: Regenerated.
562 * generated/product_c16.c: Regenerated.
563 * generated/product_c4.c: Regenerated.
564 * generated/product_c8.c: Regenerated.
565 * generated/product_i1.c: Regenerated.
566 * generated/product_i16.c: Regenerated.
567 * generated/product_i2.c: Regenerated.
568 * generated/product_i4.c: Regenerated.
569 * generated/product_i8.c: Regenerated.
570 * generated/product_r10.c: Regenerated.
571 * generated/product_r16.c: Regenerated.
572 * generated/product_r4.c: Regenerated.
573 * generated/product_r8.c: Regenerated.
574 * generated/sum_c10.c: Regenerated.
575 * generated/sum_c16.c: Regenerated.
576 * generated/sum_c4.c: Regenerated.
577 * generated/sum_c8.c: Regenerated.
578 * generated/sum_i1.c: Regenerated.
579 * generated/sum_i16.c: Regenerated.
580 * generated/sum_i2.c: Regenerated.
581 * generated/sum_i4.c: Regenerated.
582 * generated/sum_i8.c: Regenerated.
583 * generated/sum_r10.c: Regenerated.
584 * generated/sum_r16.c: Regenerated.
585 * generated/sum_r4.c: Regenerated.
586 * generated/sum_r8.c: Regenerated.
588 2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
590 * configure: Regenerated.
592 2018-04-19 Thomas Schwinge <thomas@codesourcery.com>
596 * runtime/minimal.c (stop_numeric): Reimplement.
597 (stop_string, error_stop_string, error_stop_numeric): New
600 2018-04-19 Jakub Jelinek <jakub@redhat.com>
602 * configure: Regenerated.
604 2018-04-18 David Malcolm <dmalcolm@redhat.com>
607 * configure: Regenerate.
609 2018-04-06 Thomas Koenig <tkoenig@gcc.gnu.org>
612 * m4/matmul_internal.m4: If ycount == 1, add one more row to
614 * generated/matmul_c10.c: Regenerated.
615 * generated/matmul_c16.c: Regenerated.
616 * generated/matmul_c4.c: Regenerated.
617 * generated/matmul_c8.c: Regenerated.
618 * generated/matmul_i1.c: Regenerated.
619 * generated/matmul_i16.c: Regenerated.
620 * generated/matmul_i2.c: Regenerated.
621 * generated/matmul_i4.c: Regenerated.
622 * generated/matmul_i8.c: Regenerated.
623 * generated/matmul_r10.c: Regenerated.
624 * generated/matmul_r16.c: Regenerated.
625 * generated/matmul_r4.c: Regenerated.
626 * generated/matmul_r8.c: Regenerated.
627 * generated/matmulavx128_c10.c: Regenerated.
628 * generated/matmulavx128_c16.c: Regenerated.
629 * generated/matmulavx128_c4.c: Regenerated.
630 * generated/matmulavx128_c8.c: Regenerated.
631 * generated/matmulavx128_i1.c: Regenerated.
632 * generated/matmulavx128_i16.c: Regenerated.
633 * generated/matmulavx128_i2.c: Regenerated.
634 * generated/matmulavx128_i4.c: Regenerated.
635 * generated/matmulavx128_i8.c: Regenerated.
636 * generated/matmulavx128_r10.c: Regenerated.
637 * generated/matmulavx128_r16.c: Regenerated.
638 * generated/matmulavx128_r4.c: Regenerated.
639 * generated/matmulavx128_r8.c: Regenerated.
641 2018-04-04 Thomas Koenig <tkoenig@gcc.gnu.org>
644 * runtime/minimal.c (stop_numeric): Add new function in order to
645 implement numeric stop on minimal targets.
647 2018-03-28 Jakub Jelinek <jakub@redhat.com>
649 * io/io.h (IOPARM_DT_DEFAULT_EXP): Rename to ...
650 (IOPARM_DT_DEC_EXT): ... this.
651 * io/list_read.c (parse_real): Adjust for IOPARM_DT_DEFAULT_EXP
652 renaming to IOPARM_DT_DEC_EXT.
653 (read_real): Likewise.
654 * io/read.c (read_f): Likewise.
656 2018-03-15 Jakub Jelinek <jakub@redhat.com>
659 * intrinsics/kill.c (kill): Rename to...
660 (PREFIX (kill)): ... this. Use export_proto_np instead of export_proto.
662 2018-03-13 Steven G. Kargl <kargl@gcc.gnu.org>
664 * libgfortran/gfortran.map: Remove _gfortran_kill_i4,
665 _gfortran_kill_i4_sub, _gfortran_kill_i8, and _gfortran_kill_i8_sub.
666 Add _gfortran_kill and _gfortran_kill_sub.
667 * libgfortran/intrinsics/kill.c: Eliminate _gfortran_kill_i4,
668 _gfortran_kill_i4_sub, _gfortran_kill_i8, and _gfortran_kill_i8_sub.
669 Add _gfortran_kill and _gfortran_kill_sub.
671 2018-02-23 Janne Blomqvist <jb@gcc.gnu.org>
674 * caf/libcaf.h (_gfortran_caf_stop_numeric): Add bool argument.
675 (_gfortran_caf_stop_str): Likewise.
676 (_gfortran_caf_error_stop_str): Likewise.
677 (_gfortran_caf_error_stop): Likewise.
678 * caf/mpi.c (_gfortran_caf_error_stop_str): Handle new argument.
679 (_gfortran_caf_error_stop): Likewise.
680 * caf/single.c (_gfortran_caf_stop_numeric): Likewise.
681 (_gfortran_caf_stop_str): Likewise.
682 (_gfortran_caf_error_stop_str): Likewise.
683 (_gfortran_caf_error_stop): Likewise.
684 (_gfortran_caf_lock): Likewise.
685 (_gfortran_caf_unlock): Likewise.
686 * libgfortran.h (stop_string): Add bool argument.
687 * runtime/pause.c (do_pause): Add false argument.
688 * runtime/stop.c (stop_numeric): Handle new argument.
689 (stop_string): Likewise.
690 (error_stop_string): Likewise.
691 (error_stop_numeric): Likewise.
693 2018-02-22 Janne Blomqvist <jb@gcc.gnu.org>
697 * runtime/pause.c (pause_numeric): Modify to take GFC_INTEGER_8
699 (pause_string): Modify to take size_t character length argument.
701 2018-02-22 Janne Blomqvist <jb@gcc.gnu.org>
703 * libgfortran.h (stop_string): Use size_t for character length.
704 * runtime/stop.c (stop_string): Likewise.
705 (error_stop_string): Likewise.
706 (stop_numeric): Use int for exit code.
707 (error_stop_numeric): Likewise.
708 * caf/libcaf.h: Remove stdint.h include.
709 (_gfortran_caf_register): Use size_t for character length.
710 (_gfortran_caf_deregister): Likewise.
711 (_gfortran_caf_sync_all): Likewise.
712 (_gfortran_caf_sync_memory): Likewise.
713 (_gfortran_caf_sync_images): Likewise.
714 (_gfortran_caf_stop_numeric): Use int for exit code.
715 (_gfortran_caf_stop_str): Use size_t for character length.
716 (_gfortran_caf_error_stop_str): Likewise.
717 (_gfortran_caf_error_stop): Use int for exit code.
718 (_gfortran_caf_co_broadcast): Use size_t for character length.
719 (_gfortran_caf_co_sum): Likewise.
720 (_gfortran_caf_co_min): Likewise.
721 (_gfortran_caf_co_max): Likewise.
722 (_gfortran_caf_co_reduce): Likewise.
723 (_gfortran_caf_lock): Likewise.
724 (_gfortran_caf_unlock): Likewise.
725 (_gfortran_caf_event_post): Likewise.
726 (_gfortran_caf_event_wait): Likewise.
727 * caf/mpi.c (_gfortran_caf_register): Update implementation to
729 (_gfortran_caf_deregister): Likewise.
730 (_gfortran_caf_sync_all): Likewise.
731 (_gfortran_caf_sync_images): Likewise.
732 (_gfortran_caf_error_stop_str): Likewise.
733 (_gfortran_caf_error_stop): Likewise.
734 * caf/single.c (caf_internal_error): Likewise.
735 (_gfortran_caf_register): Likewise.
736 (_gfortran_caf_deregister): Likewise.
737 (_gfortran_caf_sync_all): Likewise.
738 (_gfortran_caf_sync_memory): Likewise.
739 (_gfortran_caf_sync_images): Likewise.
740 (_gfortran_caf_stop_numeric): Likewise.
741 (_gfortran_caf_stop_str): Likewise.
742 (_gfortran_caf_error_stop_str): Likewise.
743 (_gfortran_caf_error_stop): Likewise.
744 (_gfortran_caf_co_broadcast): Likewise.
745 (_gfortran_caf_co_sum): Likewise.
746 (_gfortran_caf_co_min): Likewise.
747 (_gfortran_caf_co_max): Likewise.
748 (_gfortran_caf_co_reduce): Likewise.
749 (_gfortran_caf_event_post): Likewise.
750 (_gfortran_caf_event_wait): Likewise.
751 (_gfortran_caf_lock): Likewise.
752 (_gfortran_caf_unlock): Likewise.
754 2018-02-19 Andre Vehreschild <vehre@gcc.gnu.org>
756 * caf/libcaf.h: Add type parameters to the caf_*_by_ref prototypes.
757 * caf/single.c (get_for_ref): Simplifications and now respecting
759 (_gfortran_caf_get_by_ref): Added source type handing to get_for_ref().
760 (send_by_ref): Simplifications and respecting the dst_type now.
761 (_gfortran_caf_send_by_ref): Added destination type hand over to
763 (_gfortran_caf_sendget_by_ref): Added general support and fixed stack
764 corruption. The function is now really usable.
766 2018-02-14 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
769 * configure: Regenerate.
771 2018-02-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
774 * io/transfer.c (finalize_transfer): After completng an internal unit
775 I/O operation, clear internal_unit_kind.
777 2018-02-12 Thomas Koenig <tkoenig@gcc.gnu.org>
779 * libgfortran.h (GFC_ARRAY_DESCRIPTOR): Remove dimension
780 of descriptor to use vaiable members for dim.
781 Change usage of GFC_ARRAY_DESCRIPTOR accordingly.
782 (GFC_FILL_ARRAY_DESCRIPTOR): New macro.
783 (gfc_full_array_i4): New type.
784 * intrinsics/date_and_time.c (secnds): Use sizeof
785 (gfc_array_i4) + sizeof (descriptor_dimension) for memory
787 * intrinsics/reshape_generic.c: Use GFC_FULL_ARRAY_DESCRIPTOR.
788 * io/format.c: Use sizeof (gfc_array_i4) + sizeof
789 (descriptor_dimension) for memoy allocation.
790 * io/list_read.c (list_formatted_read_scalar): Use
791 gfc_full_array_i4 for variable.
792 (nml_read_obj): Likewise.
793 * io/write.c (list_formatted_write_scalar): Likewise.
794 (nml_write_obj): Likewise.
795 * m4/reshape.m4: Use GFC_FULL_ARRAY_DESCRIPTOR.
796 * generated/reshape_c10.c: Regenerated.
797 * generated/reshape_c16.c: Regenerated.
798 * generated/reshape_c4.c: Regenerated.
799 * generated/reshape_c8.c: Regenerated.
800 * generated/reshape_i16.c: Regenerated.
801 * generated/reshape_i4.c: Regenerated.
802 * generated/reshape_i8.c: Regenerated.
803 * generated/reshape_r10.c: Regenerated.
804 * generated/reshape_r16.c: Regenerated.
805 * generated/reshape_r4.c: Regenerated.
806 * generated/reshape_r8.c: Regenerated.
808 2018-01-31 Janne Blomqvist <jb@gcc.gnu.org>
810 * generated/cshift1_16.c (cshift1): Regenerated.
811 * generated/cshift1_4.c (cshift1): Regenerated.
812 * generated/cshift1_8.c (cshift1): Regenerated.
813 * generated/eoshift1_16.c (eoshift1): Regenerated.
814 * generated/eoshift1_4.c (eoshift1): Regenerated.
815 * generated/eoshift1_8.c (eoshift1): Regenerated.
816 * generated/eoshift3_16.c (eoshift3): Regenerated.
817 * generated/eoshift3_4.c (eoshift3): Regenerated.
818 * generated/eoshift3_8.c (eoshift3): Regenerated.
819 * generated/in_pack_c10.c (internal_pack_c10): Regenerated.
820 * generated/in_pack_c16.c (internal_pack_c16): Regenerated.
821 * generated/in_pack_c4.c (internal_pack_c4): Regenerated.
822 * generated/in_pack_c8.c (internal_pack_c8): Regenerated.
823 * generated/in_pack_i1.c (internal_pack_1): Regenerated.
824 * generated/in_pack_i16.c (internal_pack_16): Regenerated.
825 * generated/in_pack_i2.c (internal_pack_2): Regenerated.
826 * generated/in_pack_i4.c (internal_pack_4): Regenerated.
827 * generated/in_pack_i8.c (internal_pack_8): Regenerated.
828 * generated/in_pack_r10.c (internal_pack_r10): Regenerated.
829 * generated/in_pack_r16.c (internal_pack_r16): Regenerated.
830 * generated/in_pack_r4.c (internal_pack_r4): Regenerated.
831 * generated/in_pack_r8.c (internal_pack_r8): Regenerated.
832 * generated/in_unpack_c10.c (internal_unpack_c10): Regenerated.
833 * generated/in_unpack_c16.c (internal_unpack_c16): Regenerated.
834 * generated/in_unpack_c4.c (internal_unpack_c4): Regenerated.
835 * generated/in_unpack_c8.c (internal_unpack_c8): Regenerated.
836 * generated/in_unpack_i1.c (internal_unpack_1): Regenerated.
837 * generated/in_unpack_i16.c (internal_unpack_16): Regenerated.
838 * generated/in_unpack_i2.c (internal_unpack_2): Regenerated.
839 * generated/in_unpack_i4.c (internal_unpack_4): Regenerated.
840 * generated/in_unpack_i8.c (internal_unpack_8): Regenerated.
841 * generated/in_unpack_r10.c (internal_unpack_r10): Regenerated.
842 * generated/in_unpack_r16.c (internal_unpack_r16): Regenerated.
843 * generated/in_unpack_r4.c (internal_unpack_r4): Regenerated.
844 * generated/in_unpack_r8.c (internal_unpack_r8): Regenerated.
845 * generated/reshape_c10.c (reshape_c10): Regenerated.
846 * generated/reshape_c16.c (reshape_c16): Regenerated.
847 * generated/reshape_c4.c (reshape_c4): Regenerated.
848 * generated/reshape_c8.c (reshape_c8): Regenerated.
849 * generated/reshape_i16.c (reshape_16): Regenerated.
850 * generated/reshape_i4.c (reshape_4): Regenerated.
851 * generated/reshape_i8.c (reshape_8): Regenerated.
852 * generated/reshape_r10.c (reshape_r10): Regenerated.
853 * generated/reshape_r16.c (reshape_r16): Regenerated.
854 * generated/reshape_r4.c (reshape_r4): Regenerated.
855 * generated/reshape_r8.c (reshape_r8): Regenerated.
856 * generated/shape_i1.c (shape_1): Regenerated.
857 * generated/shape_i16.c (shape_16): Regenerated.
858 * generated/shape_i2.c (shape_2): Regenerated.
859 * generated/shape_i4.c (shape_4): Regenerated.
860 * generated/shape_i8.c (shape_8): Regenerated.
861 * generated/spread_c10.c (spread_scalar_c10): Regenerated.
862 * generated/spread_c16.c (spread_scalar_c16): Regenerated.
863 * generated/spread_c4.c (spread_scalar_c4): Regenerated.
864 * generated/spread_c8.c (spread_scalar_c8): Regenerated.
865 * generated/spread_i1.c (spread_scalar_i1): Regenerated.
866 * generated/spread_i16.c (spread_scalar_i16): Regenerated.
867 * generated/spread_i2.c (spread_scalar_i2): Regenerated.
868 * generated/spread_i4.c (spread_scalar_i4): Regenerated.
869 * generated/spread_i8.c (spread_scalar_i8): Regenerated.
870 * generated/spread_r10.c (spread_scalar_r10): Regenerated.
871 * generated/spread_r16.c (spread_scalar_r16): Regenerated.
872 * generated/spread_r4.c (spread_scalar_r4): Regenerated.
873 * generated/spread_r8.c (spread_scalar_r8): Regenerated.
874 * intrinsics/random.c (jump): Use size_t for array index in loop.
875 (getosrandom): Likewise.
876 (arandom_r4): Make n an index_type.
877 (arandom_r8): Likewise.
878 (arandom_r10): Likewise.
879 (arandom_r16): Likewise.
880 (scramble_seed): Use size_t for array index in loop.
881 * m4/cshift1.m4: Make i an index_type.
882 * m4/eoshift1.m4: Likewise.
883 * m4/eoshift3.m4: Likewise.
884 * m4/in_pack.m4: Make n an index_type.
885 * m4/in_unpack.m4: Likewise.
886 * m4/reshape.m4: Make n and dim index_type's.
887 * m4/shape.m4: Make n an index_type.
888 * m4/spread.m4: Likewise, use index_type argument rather than
890 * runtime/bounds.c (bounds_ifunction_return): Make n an
892 * runtime/in_pack_generic.c (internal_pack): Likewise.
893 * runtime/in_unpack_generic.c (internal_unpack): Make n and size
896 2018-01-30 Thomas Koenig <tkoenig@gcc.gnu.org>
899 * libgfortran.h: Remove GFC_DTYPE_DERIVED_1, GFC_DTYPE_DERIVED_2,
900 GFC_DTYPE_DERIVED_4, GFC_DTYPE_DERIVED_8 and GFC_DTYPE_DERIVED_16.
901 * m4/cshift1.m4: Remove GFC_DTYPE_DERIVED_1.
902 * generated/cshift1_16.c: Regenerated.
903 * generated/cshift1_4.c: Regenerated.
904 * generated/cshift1_8.c: Regenerated.
905 * intrinsics/cshift0.c: Remove GFC_DTYPE_DERIVED_1.
906 * intrinsics/pack_generic.c (pack): Move handling of other types
907 into separate switch statement.
908 * intrinsics/spread_generic.c (spread): Likewise.
909 (spread_scalar): Likewise.
910 * intrinsics/unpack_generic.c (unpack1): Likewise.
912 * runtime/in_pack_generic.c (internal_pack): Likewise.
913 * runtime/in_unpack_generic.c (internal_unpack): Likewise.
915 2018-01-25 Paul Thomas <pault@gcc.gnu.org>
918 * caf/single.c (_gfortran_caf_failed_images): Access the 'type'
919 and 'elem_len' fields of the dtype instead of the shifts.
920 (_gfortran_caf_stopped_images): Likewise.
921 * intrinsics/associated.c (associated): Compare the 'type' and
922 'elem_len' fields instead of the dtype.
923 * caf/date_and_time.c : Access the dtype fields rather using
925 * io/transfer.c (transfer_array ): Comment on item count.
926 (set_nml_var,st_set_nml_var): Change dtype type and use fields.
927 (st_set_nml_dtio_var): Likewise.
928 * libgfortran.h : Change definition of GFC_ARRAY_DESCRIPTOR and
929 add a typedef for the dtype_type. Change the GFC_DTYPE_* macros
930 to access the dtype fields.
932 2018-01-15 Thomas Koenig <tkoenig@gcc.gnu.org>
935 * m4/iparm.m4: Add back_arg macro if in minloc or maxloc.
936 * m4/iforeach-s.m4: Add optional argument back with back_arg
937 macro. Improve m4 quoting. If HAVE_BACK_ARG is defined, assert
938 that back is non-true.
939 * m4/iforeach.m4: Likewise.
940 * m4/ifunction-s.m4: Likewise.
941 * m4/ifunction.m4: Likewise.
942 * m4/maxloc0.m4: Include assert.h
943 * m4/minloc0.m4: Likewise.
944 * m4/maxloc0s.m4: #define HAVE_BACK_ARG.
945 * m4/minloc0s.m4: Likewise.
946 * m4/maxloc1s.m4: Likewise.
947 * m4/minloc1s.m4: Likewise.
948 * m4/maxloc1.m4: Include assert.h, #define HAVE_BACK_ARG.
949 * m4/minloc1.m4: Likewise.
950 * m4/maxloc2s.m4: Add assert.h, add back_arg, assert that
952 * m4/minloc2s.m4: Likewise.
953 * generated/iall_i1.c: Regenerated.
954 * generated/iall_i16.c: Regenerated.
955 * generated/iall_i2.c: Regenerated.
956 * generated/iall_i4.c: Regenerated.
957 * generated/iall_i8.c: Regenerated.
958 * generated/iany_i1.c: Regenerated.
959 * generated/iany_i16.c: Regenerated.
960 * generated/iany_i2.c: Regenerated.
961 * generated/iany_i4.c: Regenerated.
962 * generated/iany_i8.c: Regenerated.
963 * generated/iparity_i1.c: Regenerated.
964 * generated/iparity_i16.c: Regenerated.
965 * generated/iparity_i2.c: Regenerated.
966 * generated/iparity_i4.c: Regenerated.
967 * generated/iparity_i8.c: Regenerated.
968 * generated/maxloc0_16_i1.c: Regenerated.
969 * generated/maxloc0_16_i16.c: Regenerated.
970 * generated/maxloc0_16_i2.c: Regenerated.
971 * generated/maxloc0_16_i4.c: Regenerated.
972 * generated/maxloc0_16_i8.c: Regenerated.
973 * generated/maxloc0_16_r10.c: Regenerated.
974 * generated/maxloc0_16_r16.c: Regenerated.
975 * generated/maxloc0_16_r4.c: Regenerated.
976 * generated/maxloc0_16_r8.c: Regenerated.
977 * generated/maxloc0_16_s1.c: Regenerated.
978 * generated/maxloc0_16_s4.c: Regenerated.
979 * generated/maxloc0_4_i1.c: Regenerated.
980 * generated/maxloc0_4_i16.c: Regenerated.
981 * generated/maxloc0_4_i2.c: Regenerated.
982 * generated/maxloc0_4_i4.c: Regenerated.
983 * generated/maxloc0_4_i8.c: Regenerated.
984 * generated/maxloc0_4_r10.c: Regenerated.
985 * generated/maxloc0_4_r16.c: Regenerated.
986 * generated/maxloc0_4_r4.c: Regenerated.
987 * generated/maxloc0_4_r8.c: Regenerated.
988 * generated/maxloc0_4_s1.c: Regenerated.
989 * generated/maxloc0_4_s4.c: Regenerated.
990 * generated/maxloc0_8_i1.c: Regenerated.
991 * generated/maxloc0_8_i16.c: Regenerated.
992 * generated/maxloc0_8_i2.c: Regenerated.
993 * generated/maxloc0_8_i4.c: Regenerated.
994 * generated/maxloc0_8_i8.c: Regenerated.
995 * generated/maxloc0_8_r10.c: Regenerated.
996 * generated/maxloc0_8_r16.c: Regenerated.
997 * generated/maxloc0_8_r4.c: Regenerated.
998 * generated/maxloc0_8_r8.c: Regenerated.
999 * generated/maxloc0_8_s1.c: Regenerated.
1000 * generated/maxloc0_8_s4.c: Regenerated.
1001 * generated/maxloc1_16_i1.c: Regenerated.
1002 * generated/maxloc1_16_i16.c: Regenerated.
1003 * generated/maxloc1_16_i2.c: Regenerated.
1004 * generated/maxloc1_16_i4.c: Regenerated.
1005 * generated/maxloc1_16_i8.c: Regenerated.
1006 * generated/maxloc1_16_r10.c: Regenerated.
1007 * generated/maxloc1_16_r16.c: Regenerated.
1008 * generated/maxloc1_16_r4.c: Regenerated.
1009 * generated/maxloc1_16_r8.c: Regenerated.
1010 * generated/maxloc1_16_s1.c: Regenerated.
1011 * generated/maxloc1_16_s4.c: Regenerated.
1012 * generated/maxloc1_4_i1.c: Regenerated.
1013 * generated/maxloc1_4_i16.c: Regenerated.
1014 * generated/maxloc1_4_i2.c: Regenerated.
1015 * generated/maxloc1_4_i4.c: Regenerated.
1016 * generated/maxloc1_4_i8.c: Regenerated.
1017 * generated/maxloc1_4_r10.c: Regenerated.
1018 * generated/maxloc1_4_r16.c: Regenerated.
1019 * generated/maxloc1_4_r4.c: Regenerated.
1020 * generated/maxloc1_4_r8.c: Regenerated.
1021 * generated/maxloc1_4_s1.c: Regenerated.
1022 * generated/maxloc1_4_s4.c: Regenerated.
1023 * generated/maxloc1_8_i1.c: Regenerated.
1024 * generated/maxloc1_8_i16.c: Regenerated.
1025 * generated/maxloc1_8_i2.c: Regenerated.
1026 * generated/maxloc1_8_i4.c: Regenerated.
1027 * generated/maxloc1_8_i8.c: Regenerated.
1028 * generated/maxloc1_8_r10.c: Regenerated.
1029 * generated/maxloc1_8_r16.c: Regenerated.
1030 * generated/maxloc1_8_r4.c: Regenerated.
1031 * generated/maxloc1_8_r8.c: Regenerated.
1032 * generated/maxloc1_8_s1.c: Regenerated.
1033 * generated/maxloc1_8_s4.c: Regenerated.
1034 * generated/maxval_i1.c: Regenerated.
1035 * generated/maxval_i16.c: Regenerated.
1036 * generated/maxval_i2.c: Regenerated.
1037 * generated/maxval_i4.c: Regenerated.
1038 * generated/maxval_i8.c: Regenerated.
1039 * generated/maxval_r10.c: Regenerated.
1040 * generated/maxval_r16.c: Regenerated.
1041 * generated/maxval_r4.c: Regenerated.
1042 * generated/maxval_r8.c: Regenerated.
1043 * generated/minloc0_16_i1.c: Regenerated.
1044 * generated/minloc0_16_i16.c: Regenerated.
1045 * generated/minloc0_16_i2.c: Regenerated.
1046 * generated/minloc0_16_i4.c: Regenerated.
1047 * generated/minloc0_16_i8.c: Regenerated.
1048 * generated/minloc0_16_r10.c: Regenerated.
1049 * generated/minloc0_16_r16.c: Regenerated.
1050 * generated/minloc0_16_r4.c: Regenerated.
1051 * generated/minloc0_16_r8.c: Regenerated.
1052 * generated/minloc0_16_s1.c: Regenerated.
1053 * generated/minloc0_16_s4.c: Regenerated.
1054 * generated/minloc0_4_i1.c: Regenerated.
1055 * generated/minloc0_4_i16.c: Regenerated.
1056 * generated/minloc0_4_i2.c: Regenerated.
1057 * generated/minloc0_4_i4.c: Regenerated.
1058 * generated/minloc0_4_i8.c: Regenerated.
1059 * generated/minloc0_4_r10.c: Regenerated.
1060 * generated/minloc0_4_r16.c: Regenerated.
1061 * generated/minloc0_4_r4.c: Regenerated.
1062 * generated/minloc0_4_r8.c: Regenerated.
1063 * generated/minloc0_4_s1.c: Regenerated.
1064 * generated/minloc0_4_s4.c: Regenerated.
1065 * generated/minloc0_8_i1.c: Regenerated.
1066 * generated/minloc0_8_i16.c: Regenerated.
1067 * generated/minloc0_8_i2.c: Regenerated.
1068 * generated/minloc0_8_i4.c: Regenerated.
1069 * generated/minloc0_8_i8.c: Regenerated.
1070 * generated/minloc0_8_r10.c: Regenerated.
1071 * generated/minloc0_8_r16.c: Regenerated.
1072 * generated/minloc0_8_r4.c: Regenerated.
1073 * generated/minloc0_8_r8.c: Regenerated.
1074 * generated/minloc0_8_s1.c: Regenerated.
1075 * generated/minloc0_8_s4.c: Regenerated.
1076 * generated/minloc1_16_i1.c: Regenerated.
1077 * generated/minloc1_16_i16.c: Regenerated.
1078 * generated/minloc1_16_i2.c: Regenerated.
1079 * generated/minloc1_16_i4.c: Regenerated.
1080 * generated/minloc1_16_i8.c: Regenerated.
1081 * generated/minloc1_16_r10.c: Regenerated.
1082 * generated/minloc1_16_r16.c: Regenerated.
1083 * generated/minloc1_16_r4.c: Regenerated.
1084 * generated/minloc1_16_r8.c: Regenerated.
1085 * generated/minloc1_16_s1.c: Regenerated.
1086 * generated/minloc1_16_s4.c: Regenerated.
1087 * generated/minloc1_4_i1.c: Regenerated.
1088 * generated/minloc1_4_i16.c: Regenerated.
1089 * generated/minloc1_4_i2.c: Regenerated.
1090 * generated/minloc1_4_i4.c: Regenerated.
1091 * generated/minloc1_4_i8.c: Regenerated.
1092 * generated/minloc1_4_r10.c: Regenerated.
1093 * generated/minloc1_4_r16.c: Regenerated.
1094 * generated/minloc1_4_r4.c: Regenerated.
1095 * generated/minloc1_4_r8.c: Regenerated.
1096 * generated/minloc1_4_s1.c: Regenerated.
1097 * generated/minloc1_4_s4.c: Regenerated.
1098 * generated/minloc1_8_i1.c: Regenerated.
1099 * generated/minloc1_8_i16.c: Regenerated.
1100 * generated/minloc1_8_i2.c: Regenerated.
1101 * generated/minloc1_8_i4.c: Regenerated.
1102 * generated/minloc1_8_i8.c: Regenerated.
1103 * generated/minloc1_8_r10.c: Regenerated.
1104 * generated/minloc1_8_r16.c: Regenerated.
1105 * generated/minloc1_8_r4.c: Regenerated.
1106 * generated/minloc1_8_r8.c: Regenerated.
1107 * generated/minloc1_8_s1.c: Regenerated.
1108 * generated/minloc1_8_s4.c: Regenerated.
1109 * generated/minval_i1.c: Regenerated.
1110 * generated/minval_i16.c: Regenerated.
1111 * generated/minval_i2.c: Regenerated.
1112 * generated/minval_i4.c: Regenerated.
1113 * generated/minval_i8.c: Regenerated.
1114 * generated/minval_r10.c: Regenerated.
1115 * generated/minval_r16.c: Regenerated.
1116 * generated/minval_r4.c: Regenerated.
1117 * generated/minval_r8.c: Regenerated.
1118 * generated/norm2_r10.c: Regenerated.
1119 * generated/norm2_r16.c: Regenerated.
1120 * generated/norm2_r4.c: Regenerated.
1121 * generated/norm2_r8.c: Regenerated.
1122 * generated/parity_l1.c: Regenerated.
1123 * generated/parity_l16.c: Regenerated.
1124 * generated/parity_l2.c: Regenerated.
1125 * generated/parity_l4.c: Regenerated.
1126 * generated/parity_l8.c: Regenerated.
1127 * generated/product_c10.c: Regenerated.
1128 * generated/product_c16.c: Regenerated.
1129 * generated/product_c4.c: Regenerated.
1130 * generated/product_c8.c: Regenerated.
1131 * generated/product_i1.c: Regenerated.
1132 * generated/product_i16.c: Regenerated.
1133 * generated/product_i2.c: Regenerated.
1134 * generated/product_i4.c: Regenerated.
1135 * generated/product_i8.c: Regenerated.
1136 * generated/product_r10.c: Regenerated.
1137 * generated/product_r16.c: Regenerated.
1138 * generated/product_r4.c: Regenerated.
1139 * generated/product_r8.c: Regenerated.
1140 * generated/sum_c10.c: Regenerated.
1141 * generated/sum_c16.c: Regenerated.
1142 * generated/sum_c4.c: Regenerated.
1143 * generated/sum_c8.c: Regenerated.
1144 * generated/sum_i1.c: Regenerated.
1145 * generated/sum_i16.c: Regenerated.
1146 * generated/sum_i2.c: Regenerated.
1147 * generated/sum_i4.c: Regenerated.
1148 * generated/sum_i8.c: Regenerated.
1149 * generated/sum_r10.c: Regenerated.
1150 * generated/sum_r16.c: Regenerated.
1151 * generated/sum_r4.c: Regenerated.
1152 * generated/sum_r8.c: Regenerated.
1154 2018-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1156 PR libgfortran/83811
1157 * write.c (select_buffer): Adjust buffer size up by 1.
1159 2018-01-08 Janne Blomqvist <jb@gcc.gnu.org>
1161 PR 78534, bugfix for r256322
1162 * io/transfer.c (next_record_w): Use correct type for return value
1163 of next_array_record.
1165 2018-01-07 Thomas Koenig <tkoenig@gcc.gnu.org>
1167 * libgfortran.h (GFC_DTYPE_COPY): New macro.
1168 (GFC_DTYPE_COPY_SETRANK): New macro.
1169 (GFC_DTYPE_IS_UNSET): New macro.
1170 * intrinsics/cshift0.c (cshift0): Use new macros.
1171 * intrinsics/eoshift0.c (eoshift0): Likewise.
1172 * intrinsics/eoshift2.c (eoshift2): Likewise.
1173 * intrinsics/move_alloc.c (move_alloc): Likewise.
1174 * intrinsics/reshape_generic.c (reshape_internal): Likewise.
1175 * intrinsics/spread_generic.c (spread_internal): Likewise.
1176 * intrinsics/spread_generic.c (spread_scalar): Likewise.
1177 * intrinsics/spread_generic.c (spread_char_scalar): Likewise.
1178 * intrinsics/spread_generic.c (spread_char4_scalar): Likewise.
1179 * intrinsics/unpack_generic.c (unpack0): Likewise.
1180 * intrinsics/unpack_generic.c (unpack0_char): Likewise.
1181 * intrinsics/unpack_generic.c (unpack0_char4): Likewise.
1182 * m4/cshift1.m4 (cshift1): Likewise.
1183 * m4/eoshift1.m4 (eoshift1): Likewise.
1184 * m4/eoshift3.m4 (eoshift3): Likewise.
1185 * m4/iforeach-s.m4: Likewise.
1186 * m4/iforeach.m4: Likewise.
1187 * m4/ifunction-s.m4: Likewise.
1188 * m4/ifunction-s2.m4: Likewise.
1189 * m4/ifunction.m4: Likewise.
1190 * m4/ifunction_logical.m4: Likewise.
1191 * m4/reshape.m4: Likewise.
1192 * m4/spread.m4: Likewise.
1193 * generated/all_l1.c : Regenerated.
1194 * generated/all_l16.c : Regenerated.
1195 * generated/all_l2.c : Regenerated.
1196 * generated/all_l4.c : Regenerated.
1197 * generated/all_l8.c : Regenerated.
1198 * generated/any_l1.c : Regenerated.
1199 * generated/any_l16.c : Regenerated.
1200 * generated/any_l2.c : Regenerated.
1201 * generated/any_l4.c : Regenerated.
1202 * generated/any_l8.c : Regenerated.
1203 * generated/count_16_l.c : Regenerated.
1204 * generated/count_1_l.c : Regenerated.
1205 * generated/count_2_l.c : Regenerated.
1206 * generated/count_4_l.c : Regenerated.
1207 * generated/count_8_l.c : Regenerated.
1208 * generated/cshift1_16.c : Regenerated.
1209 * generated/cshift1_4.c : Regenerated.
1210 * generated/cshift1_8.c : Regenerated.
1211 * generated/eoshift1_16.c : Regenerated.
1212 * generated/eoshift1_4.c : Regenerated.
1213 * generated/eoshift1_8.c : Regenerated.
1214 * generated/eoshift3_16.c : Regenerated.
1215 * generated/eoshift3_4.c : Regenerated.
1216 * generated/eoshift3_8.c : Regenerated.
1217 * generated/iall_i1.c : Regenerated.
1218 * generated/iall_i16.c : Regenerated.
1219 * generated/iall_i2.c : Regenerated.
1220 * generated/iall_i4.c : Regenerated.
1221 * generated/iall_i8.c : Regenerated.
1222 * generated/iany_i1.c : Regenerated.
1223 * generated/iany_i16.c : Regenerated.
1224 * generated/iany_i2.c : Regenerated.
1225 * generated/iany_i4.c : Regenerated.
1226 * generated/iany_i8.c : Regenerated.
1227 * generated/iparity_i1.c : Regenerated.
1228 * generated/iparity_i16.c : Regenerated.
1229 * generated/iparity_i2.c : Regenerated.
1230 * generated/iparity_i4.c : Regenerated.
1231 * generated/iparity_i8.c : Regenerated.
1232 * generated/maxloc0_16_i1.c : Regenerated.
1233 * generated/maxloc0_16_i16.c : Regenerated.
1234 * generated/maxloc0_16_i2.c : Regenerated.
1235 * generated/maxloc0_16_i4.c : Regenerated.
1236 * generated/maxloc0_16_i8.c : Regenerated.
1237 * generated/maxloc0_16_r10.c : Regenerated.
1238 * generated/maxloc0_16_r16.c : Regenerated.
1239 * generated/maxloc0_16_r4.c : Regenerated.
1240 * generated/maxloc0_16_r8.c : Regenerated.
1241 * generated/maxloc0_16_s1.c : Regenerated.
1242 * generated/maxloc0_16_s4.c : Regenerated.
1243 * generated/maxloc0_4_i1.c : Regenerated.
1244 * generated/maxloc0_4_i16.c : Regenerated.
1245 * generated/maxloc0_4_i2.c : Regenerated.
1246 * generated/maxloc0_4_i4.c : Regenerated.
1247 * generated/maxloc0_4_i8.c : Regenerated.
1248 * generated/maxloc0_4_r10.c : Regenerated.
1249 * generated/maxloc0_4_r16.c : Regenerated.
1250 * generated/maxloc0_4_r4.c : Regenerated.
1251 * generated/maxloc0_4_r8.c : Regenerated.
1252 * generated/maxloc0_4_s1.c : Regenerated.
1253 * generated/maxloc0_4_s4.c : Regenerated.
1254 * generated/maxloc0_8_i1.c : Regenerated.
1255 * generated/maxloc0_8_i16.c : Regenerated.
1256 * generated/maxloc0_8_i2.c : Regenerated.
1257 * generated/maxloc0_8_i4.c : Regenerated.
1258 * generated/maxloc0_8_i8.c : Regenerated.
1259 * generated/maxloc0_8_r10.c : Regenerated.
1260 * generated/maxloc0_8_r16.c : Regenerated.
1261 * generated/maxloc0_8_r4.c : Regenerated.
1262 * generated/maxloc0_8_r8.c : Regenerated.
1263 * generated/maxloc0_8_s1.c : Regenerated.
1264 * generated/maxloc0_8_s4.c : Regenerated.
1265 * generated/maxloc1_16_i1.c : Regenerated.
1266 * generated/maxloc1_16_i16.c : Regenerated.
1267 * generated/maxloc1_16_i2.c : Regenerated.
1268 * generated/maxloc1_16_i4.c : Regenerated.
1269 * generated/maxloc1_16_i8.c : Regenerated.
1270 * generated/maxloc1_16_r10.c : Regenerated.
1271 * generated/maxloc1_16_r16.c : Regenerated.
1272 * generated/maxloc1_16_r4.c : Regenerated.
1273 * generated/maxloc1_16_r8.c : Regenerated.
1274 * generated/maxloc1_16_s1.c : Regenerated.
1275 * generated/maxloc1_16_s4.c : Regenerated.
1276 * generated/maxloc1_4_i1.c : Regenerated.
1277 * generated/maxloc1_4_i16.c : Regenerated.
1278 * generated/maxloc1_4_i2.c : Regenerated.
1279 * generated/maxloc1_4_i4.c : Regenerated.
1280 * generated/maxloc1_4_i8.c : Regenerated.
1281 * generated/maxloc1_4_r10.c : Regenerated.
1282 * generated/maxloc1_4_r16.c : Regenerated.
1283 * generated/maxloc1_4_r4.c : Regenerated.
1284 * generated/maxloc1_4_r8.c : Regenerated.
1285 * generated/maxloc1_4_s1.c : Regenerated.
1286 * generated/maxloc1_4_s4.c : Regenerated.
1287 * generated/maxloc1_8_i1.c : Regenerated.
1288 * generated/maxloc1_8_i16.c : Regenerated.
1289 * generated/maxloc1_8_i2.c : Regenerated.
1290 * generated/maxloc1_8_i4.c : Regenerated.
1291 * generated/maxloc1_8_i8.c : Regenerated.
1292 * generated/maxloc1_8_r10.c : Regenerated.
1293 * generated/maxloc1_8_r16.c : Regenerated.
1294 * generated/maxloc1_8_r4.c : Regenerated.
1295 * generated/maxloc1_8_r8.c : Regenerated.
1296 * generated/maxloc1_8_s1.c : Regenerated.
1297 * generated/maxloc1_8_s4.c : Regenerated.
1298 * generated/maxval1_s1.c : Regenerated.
1299 * generated/maxval1_s4.c : Regenerated.
1300 * generated/maxval_i1.c : Regenerated.
1301 * generated/maxval_i16.c : Regenerated.
1302 * generated/maxval_i2.c : Regenerated.
1303 * generated/maxval_i4.c : Regenerated.
1304 * generated/maxval_i8.c : Regenerated.
1305 * generated/maxval_r10.c : Regenerated.
1306 * generated/maxval_r16.c : Regenerated.
1307 * generated/maxval_r4.c : Regenerated.
1308 * generated/maxval_r8.c : Regenerated.
1309 * generated/minloc0_16_i1.c : Regenerated.
1310 * generated/minloc0_16_i16.c : Regenerated.
1311 * generated/minloc0_16_i2.c : Regenerated.
1312 * generated/minloc0_16_i4.c : Regenerated.
1313 * generated/minloc0_16_i8.c : Regenerated.
1314 * generated/minloc0_16_r10.c : Regenerated.
1315 * generated/minloc0_16_r16.c : Regenerated.
1316 * generated/minloc0_16_r4.c : Regenerated.
1317 * generated/minloc0_16_r8.c : Regenerated.
1318 * generated/minloc0_16_s1.c : Regenerated.
1319 * generated/minloc0_16_s4.c : Regenerated.
1320 * generated/minloc0_4_i1.c : Regenerated.
1321 * generated/minloc0_4_i16.c : Regenerated.
1322 * generated/minloc0_4_i2.c : Regenerated.
1323 * generated/minloc0_4_i4.c : Regenerated.
1324 * generated/minloc0_4_i8.c : Regenerated.
1325 * generated/minloc0_4_r10.c : Regenerated.
1326 * generated/minloc0_4_r16.c : Regenerated.
1327 * generated/minloc0_4_r4.c : Regenerated.
1328 * generated/minloc0_4_r8.c : Regenerated.
1329 * generated/minloc0_4_s1.c : Regenerated.
1330 * generated/minloc0_4_s4.c : Regenerated.
1331 * generated/minloc0_8_i1.c : Regenerated.
1332 * generated/minloc0_8_i16.c : Regenerated.
1333 * generated/minloc0_8_i2.c : Regenerated.
1334 * generated/minloc0_8_i4.c : Regenerated.
1335 * generated/minloc0_8_i8.c : Regenerated.
1336 * generated/minloc0_8_r10.c : Regenerated.
1337 * generated/minloc0_8_r16.c : Regenerated.
1338 * generated/minloc0_8_r4.c : Regenerated.
1339 * generated/minloc0_8_r8.c : Regenerated.
1340 * generated/minloc0_8_s1.c : Regenerated.
1341 * generated/minloc0_8_s4.c : Regenerated.
1342 * generated/minloc1_16_i1.c : Regenerated.
1343 * generated/minloc1_16_i16.c : Regenerated.
1344 * generated/minloc1_16_i2.c : Regenerated.
1345 * generated/minloc1_16_i4.c : Regenerated.
1346 * generated/minloc1_16_i8.c : Regenerated.
1347 * generated/minloc1_16_r10.c : Regenerated.
1348 * generated/minloc1_16_r16.c : Regenerated.
1349 * generated/minloc1_16_r4.c : Regenerated.
1350 * generated/minloc1_16_r8.c : Regenerated.
1351 * generated/minloc1_16_s1.c : Regenerated.
1352 * generated/minloc1_16_s4.c : Regenerated.
1353 * generated/minloc1_4_i1.c : Regenerated.
1354 * generated/minloc1_4_i16.c : Regenerated.
1355 * generated/minloc1_4_i2.c : Regenerated.
1356 * generated/minloc1_4_i4.c : Regenerated.
1357 * generated/minloc1_4_i8.c : Regenerated.
1358 * generated/minloc1_4_r10.c : Regenerated.
1359 * generated/minloc1_4_r16.c : Regenerated.
1360 * generated/minloc1_4_r4.c : Regenerated.
1361 * generated/minloc1_4_r8.c : Regenerated.
1362 * generated/minloc1_4_s1.c : Regenerated.
1363 * generated/minloc1_4_s4.c : Regenerated.
1364 * generated/minloc1_8_i1.c : Regenerated.
1365 * generated/minloc1_8_i16.c : Regenerated.
1366 * generated/minloc1_8_i2.c : Regenerated.
1367 * generated/minloc1_8_i4.c : Regenerated.
1368 * generated/minloc1_8_i8.c : Regenerated.
1369 * generated/minloc1_8_r10.c : Regenerated.
1370 * generated/minloc1_8_r16.c : Regenerated.
1371 * generated/minloc1_8_r4.c : Regenerated.
1372 * generated/minloc1_8_r8.c : Regenerated.
1373 * generated/minloc1_8_s1.c : Regenerated.
1374 * generated/minloc1_8_s4.c : Regenerated.
1375 * generated/minval1_s1.c : Regenerated.
1376 * generated/minval1_s4.c : Regenerated.
1377 * generated/minval_i1.c : Regenerated.
1378 * generated/minval_i16.c : Regenerated.
1379 * generated/minval_i2.c : Regenerated.
1380 * generated/minval_i4.c : Regenerated.
1381 * generated/minval_i8.c : Regenerated.
1382 * generated/minval_r10.c : Regenerated.
1383 * generated/minval_r16.c : Regenerated.
1384 * generated/minval_r4.c : Regenerated.
1385 * generated/minval_r8.c : Regenerated.
1386 * generated/norm2_r10.c : Regenerated.
1387 * generated/norm2_r16.c : Regenerated.
1388 * generated/norm2_r4.c : Regenerated.
1389 * generated/norm2_r8.c : Regenerated.
1390 * generated/parity_l1.c : Regenerated.
1391 * generated/parity_l16.c : Regenerated.
1392 * generated/parity_l2.c : Regenerated.
1393 * generated/parity_l4.c : Regenerated.
1394 * generated/parity_l8.c : Regenerated.
1395 * generated/product_c10.c : Regenerated.
1396 * generated/product_c16.c : Regenerated.
1397 * generated/product_c4.c : Regenerated.
1398 * generated/product_c8.c : Regenerated.
1399 * generated/product_i1.c : Regenerated.
1400 * generated/product_i16.c : Regenerated.
1401 * generated/product_i2.c : Regenerated.
1402 * generated/product_i4.c : Regenerated.
1403 * generated/product_i8.c : Regenerated.
1404 * generated/product_r10.c : Regenerated.
1405 * generated/product_r16.c : Regenerated.
1406 * generated/product_r4.c : Regenerated.
1407 * generated/product_r8.c : Regenerated.
1408 * generated/reshape_c10.c : Regenerated.
1409 * generated/reshape_c16.c : Regenerated.
1410 * generated/reshape_c4.c : Regenerated.
1411 * generated/reshape_c8.c : Regenerated.
1412 * generated/reshape_i16.c : Regenerated.
1413 * generated/reshape_i4.c : Regenerated.
1414 * generated/reshape_i8.c : Regenerated.
1415 * generated/reshape_r10.c : Regenerated.
1416 * generated/reshape_r16.c : Regenerated.
1417 * generated/reshape_r4.c : Regenerated.
1418 * generated/reshape_r8.c : Regenerated.
1419 * generated/spread_c10.c : Regenerated.
1420 * generated/spread_c16.c : Regenerated.
1421 * generated/spread_c4.c : Regenerated.
1422 * generated/spread_c8.c : Regenerated.
1423 * generated/spread_i1.c : Regenerated.
1424 * generated/spread_i16.c : Regenerated.
1425 * generated/spread_i2.c : Regenerated.
1426 * generated/spread_i4.c : Regenerated.
1427 * generated/spread_i8.c : Regenerated.
1428 * generated/spread_r10.c : Regenerated.
1429 * generated/spread_r16.c : Regenerated.
1430 * generated/spread_r4.c : Regenerated.
1431 * generated/spread_r8.c : Regenerated.
1432 * generated/sum_c10.c : Regenerated.
1433 * generated/sum_c16.c : Regenerated.
1434 * generated/sum_c4.c : Regenerated.
1435 * generated/sum_c8.c : Regenerated.
1436 * generated/sum_i1.c : Regenerated.
1437 * generated/sum_i16.c : Regenerated.
1438 * generated/sum_i2.c : Regenerated.
1439 * generated/sum_i4.c : Regenerated.
1440 * generated/sum_i8.c : Regenerated.
1441 * generated/sum_r10.c : Regenerated.
1442 * generated/sum_r16.c : Regenerated.
1443 * generated/sum_r4.c : Regenerated.
1444 * generated/sum_r8.c : Regenerated.
1446 2018-01-07 Janne Blomqvist <jb@gcc.gnu.org>
1450 * io/fbuf.c (fbuf_init): Use size_t instead of int for length.
1451 (fbuf_debug): Convert debug output to unsigned long.
1452 (fbuf_reset): Use ptrdiff_t for return value.
1453 (fbuf_alloc): Use size_t for length argument.
1454 (fbuf_flush): Handle large buffers.
1455 (fbuf_flush_list): Likewise.
1456 (fbuf_seek): Use ptrdiff_t for offset and return value.
1457 (fbuf_read): Use size_t for length argument.
1458 (fbuf_getc_refill): Use size_t to match fbuf_read.
1459 * io/fbuf.h (struct fbuf): Use size_t for lengths.
1460 (fbuf_init): Use size_t instead of int for length.
1461 (fbuf_reset): Use ptrdiff_t for return value.
1462 (fbuf_alloc): Use size_t for length argument.
1463 (fbuf_seek): Use ptrdiff_t for offset and return value.
1464 (fbuf_read): Use size_t for length argument.
1465 * io/io.h (read_block_form): Likewise.
1466 (read_block_form4): Likewise.
1467 (write_block): Likewise.
1469 (read_a_char4): Likewise.
1471 (write_a): Likewise.
1472 (write_a_char4): Likewise.
1473 * io/list_read.c (list_formatted_read_scalar): Use size_t to
1474 handle large buffers.
1475 * io/read.c (read_l): Likewise.
1476 (read_utf8): Likewise.
1477 (read_utf8_char1): Likewise.
1478 (read_default_char1): Likewise.
1479 (read_utf8_char4): Likewise.
1480 (read_default_char4): Likewise.
1482 (read_a_char4): Likewise.
1483 (eat_leading_spaces): Likewise.
1484 (next_char): Likewise.
1485 (read_decimal): Likewise.
1486 (read_radix): Likewise.
1489 * io/transfer.c (read_sf_internal): Likewise.
1490 (read_sf): Likewise.
1491 (read_block_form): Likewise.
1492 (read_block_form4): Likewise.
1493 (write_block): Likewise.
1494 (formatted_transfer_scalar_write): Likewise.
1495 (next_record_w): Likewise.
1496 * io/unix.c (mem_alloc_r): Likewise.
1497 (mem_alloc_r4): Likewise.
1498 (mem_alloc_w): Likewise.
1499 (mem_alloc_w4): Likewise.
1500 (mem_read): Likewise.
1501 (mem_read4): Likewise.
1502 (mem_write): Likewise.
1503 (mem_write4): Likewise.
1504 (open_internal): Likewise.
1505 (open_internal4): Likewise.
1506 * io/unix.h (open_internal): Likewise.
1507 (open_internal4): Likewise.
1508 (mem_alloc_w): Likewise.
1509 (mem_alloc_r): Likewise.
1510 (mem_alloc_w4): Likewise.
1511 (mem_alloc_r4): Likewise.
1512 * io/write.c (write_check_cc): Likewise.
1513 (write_cc): Likewise.
1514 (write_a): Likewise.
1515 (write_a_char4): Likewise.
1517 2018-01-06 Janne Blomqvist <jb@gcc.gnu.org>
1519 * io/write.c (namelist_write): Remove unused variable "i".
1521 2018-01-06 Dominique d'Humieres <dominiq@lps.ens.fr>
1522 Janne Blomqvist <jb@gcc.gnu.org>
1525 * io/write.c (write_character): Use size_t instead of int for
1528 2018-01-05 Janne Blomqvist <jb@gcc.gnu.org>
1531 * intrinsics/args.c (getarg_i4): Use gfc_charlen_type.
1532 (get_command_argument_i4): Likewise.
1533 (get_command_i4): Likewise.
1534 * intrinsics/chmod.c (chmod_internal): Likewise.
1535 * intrinsics/env.c (get_environment_variable_i4): Likewise.
1536 * intrinsics/extends_type_of.c (struct vtype): Use size_t for size
1538 * intrinsics/gerror.c (gerror): Use gfc_charlen_type.
1539 * intrinsics/getlog.c (getlog): Likewise.
1540 * intrinsics/hostnm.c (hostnm_0): Likewise.
1541 * intrinsics/string_intrinsics_inc.c (string_len_trim): Rework to
1542 work if gfc_charlen_type is unsigned.
1543 (string_scan): Likewise.
1544 * io/transfer.c (transfer_character): Modify prototype.
1545 (transfer_character_write): Likewise.
1546 (transfer_character_wide): Likewise.
1547 (transfer_character_wide_write): Likewise.
1548 (transfer_array): Typecast to avoid signed-unsigned comparison.
1549 * io/unit.c (is_trim_ok): Use gfc_charlen_type.
1550 * io/write.c (namelist_write): Likewise.
1551 * libgfortran.h (gfc_charlen_type): Change typedef to size_t.
1553 2018-01-03 Jakub Jelinek <jakub@redhat.com>
1555 Update copyright years.
1557 2018-01-02 Janne Blomqvist <jb@gcc.gnu.org>
1559 PR libgfortran/83649
1560 * io/unix.c (MAX_CHUNK): New define.
1561 (raw_read): For reads larger than MAX_CHUNK, loop.
1562 (raw_write): Write no more than MAX_CHUNK bytes per iteration.
1564 Copyright (C) 2018 Free Software Foundation, Inc.
1566 Copying and distribution of this file, with or without modification,
1567 are permitted in any medium without royalty provided the copyright
1568 notice and this notice are preserved.