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