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