1 2017-10-10 Thomas Koenig <tkoenig@gcc.gnu.org>
4 * intrinsics/execute_command_line.c (execute_command_line):
5 No call to runtime_error if cmdstat is present.
7 2017-09-24 Dominique d'Humieres <dominiq@lps.ens.fr>
10 * runtime/bounds.c: Use GFC_ASSERT.
12 2017-09-10 Paul Thomas <pault@gcc.gnu.org>
15 * libgfortran/libgfortran.h: Add span field to descriptor.
16 * libgfortran/libtool-version : Bump up version number to 5:0:0.
18 2017-08-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
21 * io/list_read.c (nml_read_obj): Remove use of stash.
22 * io/transfer.c (st_read_done, st_write_done): Likewise.
23 * io/unit.c (stash_internal_unit): Delete function.
24 (get_unit): Remove use of stash.
25 (init_units): Likewise.
26 (close_units): Likewise.
27 * io/write.c (nml_write_obj): Likewise:
29 2017-07-31 Thomas Koenig <tkoenig@gcc.gnu.org>
32 * m4/ifuntion.m4 (name`'rtype_qual`_'atype_code): Perform check
34 (`m'name`'rtype_qual`_'atype_code): Likewise. Change type of rank
35 and tim to index_type.
36 (`s'name`'rtype_qual`_'atype_code): Perform check for dim.
37 * generated/iall_i16.c: Regenerated.
38 * generated/iall_i1.c: Regenerated.
39 * generated/iall_i2.c: Regenerated.
40 * generated/iall_i4.c: Regenerated.
41 * generated/iall_i8.c: Regenerated.
42 * generated/iany_i16.c: Regenerated.
43 * generated/iany_i1.c: Regenerated.
44 * generated/iany_i2.c: Regenerated.
45 * generated/iany_i4.c: Regenerated.
46 * generated/iany_i8.c: Regenerated.
47 * generated/iparity_i16.c: Regenerated.
48 * generated/iparity_i1.c: Regenerated.
49 * generated/iparity_i2.c: Regenerated.
50 * generated/iparity_i4.c: Regenerated.
51 * generated/iparity_i8.c: Regenerated.
52 * generated/maxloc1_16_i16.c: Regenerated.
53 * generated/maxloc1_16_i1.c: Regenerated.
54 * generated/maxloc1_16_i2.c: Regenerated.
55 * generated/maxloc1_16_i4.c: Regenerated.
56 * generated/maxloc1_16_i8.c: Regenerated.
57 * generated/maxloc1_16_r10.c: Regenerated.
58 * generated/maxloc1_16_r16.c: Regenerated.
59 * generated/maxloc1_16_r4.c: Regenerated.
60 * generated/maxloc1_16_r8.c: Regenerated.
61 * generated/maxloc1_4_i16.c: Regenerated.
62 * generated/maxloc1_4_i1.c: Regenerated.
63 * generated/maxloc1_4_i2.c: Regenerated.
64 * generated/maxloc1_4_i4.c: Regenerated.
65 * generated/maxloc1_4_i8.c: Regenerated.
66 * generated/maxloc1_4_r10.c: Regenerated.
67 * generated/maxloc1_4_r16.c: Regenerated.
68 * generated/maxloc1_4_r4.c: Regenerated.
69 * generated/maxloc1_4_r8.c: Regenerated.
70 * generated/maxloc1_8_i16.c: Regenerated.
71 * generated/maxloc1_8_i1.c: Regenerated.
72 * generated/maxloc1_8_i2.c: Regenerated.
73 * generated/maxloc1_8_i4.c: Regenerated.
74 * generated/maxloc1_8_i8.c: Regenerated.
75 * generated/maxloc1_8_r10.c: Regenerated.
76 * generated/maxloc1_8_r16.c: Regenerated.
77 * generated/maxloc1_8_r4.c: Regenerated.
78 * generated/maxloc1_8_r8.c: Regenerated.
79 * generated/maxval_i16.c: Regenerated.
80 * generated/maxval_i1.c: Regenerated.
81 * generated/maxval_i2.c: Regenerated.
82 * generated/maxval_i4.c: Regenerated.
83 * generated/maxval_i8.c: Regenerated.
84 * generated/maxval_r10.c: Regenerated.
85 * generated/maxval_r16.c: Regenerated.
86 * generated/maxval_r4.c: Regenerated.
87 * generated/maxval_r8.c: Regenerated.
88 * generated/minloc1_16_i16.c: Regenerated.
89 * generated/minloc1_16_i1.c: Regenerated.
90 * generated/minloc1_16_i2.c: Regenerated.
91 * generated/minloc1_16_i4.c: Regenerated.
92 * generated/minloc1_16_i8.c: Regenerated.
93 * generated/minloc1_16_r10.c: Regenerated.
94 * generated/minloc1_16_r16.c: Regenerated.
95 * generated/minloc1_16_r4.c: Regenerated.
96 * generated/minloc1_16_r8.c: Regenerated.
97 * generated/minloc1_4_i16.c: Regenerated.
98 * generated/minloc1_4_i1.c: Regenerated.
99 * generated/minloc1_4_i2.c: Regenerated.
100 * generated/minloc1_4_i4.c: Regenerated.
101 * generated/minloc1_4_i8.c: Regenerated.
102 * generated/minloc1_4_r10.c: Regenerated.
103 * generated/minloc1_4_r16.c: Regenerated.
104 * generated/minloc1_4_r4.c: Regenerated.
105 * generated/minloc1_4_r8.c: Regenerated.
106 * generated/minloc1_8_i16.c: Regenerated.
107 * generated/minloc1_8_i1.c: Regenerated.
108 * generated/minloc1_8_i2.c: Regenerated.
109 * generated/minloc1_8_i4.c: Regenerated.
110 * generated/minloc1_8_i8.c: Regenerated.
111 * generated/minloc1_8_r10.c: Regenerated.
112 * generated/minloc1_8_r16.c: Regenerated.
113 * generated/minloc1_8_r4.c: Regenerated.
114 * generated/minloc1_8_r8.c: Regenerated.
115 * generated/minval_i16.c: Regenerated.
116 * generated/minval_i1.c: Regenerated.
117 * generated/minval_i2.c: Regenerated.
118 * generated/minval_i4.c: Regenerated.
119 * generated/minval_i8.c: Regenerated.
120 * generated/minval_r10.c: Regenerated.
121 * generated/minval_r16.c: Regenerated.
122 * generated/minval_r4.c: Regenerated.
123 * generated/minval_r8.c: Regenerated.
124 * generated/norm2_r10.c: Regenerated.
125 * generated/norm2_r16.c: Regenerated.
126 * generated/norm2_r4.c: Regenerated.
127 * generated/norm2_r8.c: Regenerated.
128 * generated/parity_l16.c: Regenerated.
129 * generated/parity_l1.c: Regenerated.
130 * generated/parity_l2.c: Regenerated.
131 * generated/parity_l4.c: Regenerated.
132 * generated/parity_l8.c: Regenerated.
133 * generated/product_c10.c: Regenerated.
134 * generated/product_c16.c: Regenerated.
135 * generated/product_c4.c: Regenerated.
136 * generated/product_c8.c: Regenerated.
137 * generated/product_i16.c: Regenerated.
138 * generated/product_i1.c: Regenerated.
139 * generated/product_i2.c: Regenerated.
140 * generated/product_i4.c: Regenerated.
141 * generated/product_i8.c: Regenerated.
142 * generated/product_r10.c: Regenerated.
143 * generated/product_r16.c: Regenerated.
144 * generated/product_r4.c: Regenerated.
145 * generated/product_r8.c: Regenerated.
146 * generated/sum_c10.c: Regenerated.
147 * generated/sum_c16.c: Regenerated.
148 * generated/sum_c4.c: Regenerated.
149 * generated/sum_c8.c: Regenerated.
150 * generated/sum_i16.c: Regenerated.
151 * generated/sum_i1.c: Regenerated.
152 * generated/sum_i2.c: Regenerated.
153 * generated/sum_i4.c: Regenerated.
154 * generated/sum_i8.c: Regenerated.
155 * generated/sum_r10.c: Regenerated.
156 * generated/sum_r16.c: Regenerated.
157 * generated/sum_r4.c: Regenerated.
158 * generated/sum_r8.c: Regenerated.
160 2017-07-24 Thomas Koenig <tkoenig@gcc.gnu.org>
163 * io/unix.c (buf_write): Return early if there is
166 2017-07-09 Thomas Koenig <tkoenig@gcc.gnu.org>
168 * intrinsics/eoshift2.c (eoshift2): Use memcpy
169 for innermost copy where possible.
170 * m4/eoshift1.m4 (eoshift1): Likewise.
171 * m4/eoshift3.m4 (eoshift3): Likewise.
172 * generated/eoshift1_16.c: Regenerated.
173 * generated/eoshift1_4.c: Regenerated.
174 * generated/eoshift1_8.c: Regenerated.
175 * generated/eoshift3_16.c: Regenerated.
176 * generated/eoshift3_4.c: Regenerated.
177 * generated/eoshift3_8.c: Regenerated.
179 2017-07-02 Thomas Koenig <tkoenig@gcc.gnu.org>
181 * intrinsics/eoshift0.c: For contiguous arrays, use
182 block algorithm. Use memcpy where possible.
184 2017-06-26 Jim Wilson <jim.wilson@r3-a15.aus-colo>
187 * io/unit.c (get_unit): Call __gthread_mutex_lock before newunit_stack
188 and newunit_tos references. Call __gthread_mutex_unlock afterward.
190 2017-06-24 Thomas Koenig <tkoenig@gcc.gnu.org>
193 * Makefile.am: Add i_cshift1a_c. Add rules to generate files
195 * Makefile.in: Regenerated.
196 * m4/cshift1a.m4: New file.
197 * m4/cshift.m4 (cshift1): Split up inner loop by removing
198 condition. Use memcpy where possible. Call helper functions
200 * libgfortran.h: Add prototypes for cshift1_16_c10,
201 cshift1_16_c16, cshift1_16_c4, cshift1_16_c8, cshift1_16_i1,
202 cshift1_16_i16, cshift1_16_i2, cshift1_16_i4, cshift1_16_i8,
203 cshift1_16_r10, cshift1_16_r16, cshift1_16_r4, cshift1_16_r8,
204 cshift1_4_c10, cshift1_4_c16, cshift1_4_c4, cshift1_4_c8,
205 cshift1_4_i1, cshift1_4_i16, cshift1_4_i2, cshift1_4_i4,
206 cshift1_4_i8, cshift1_4_r10, cshift1_4_r16, cshift1_4_r4,
207 cshift1_4_r8, cshift1_8_c10, cshift1_8_c16, cshift1_8_c4,
208 cshift1_8_c8, cshift1_8_i1, cshift1_8_i16, cshift1_8_i2,
209 cshift1_8_i4, cshift1_8_i8, cshift1_8_r10, cshift1_8_r16,
210 cshift1_8_r4 and cshift1_8_r8.
211 * generated/cshift1_16_c10.c: New file, generated from cshift1a.m4.
212 * generated/cshift1_16_c16.c: New file, generated from cshift1a.m4.
213 * generated/cshift1_16_c4.c: New file, generated from cshift1a.m4.
214 * generated/cshift1_16_c8.c: New file, generated from cshift1a.m4.
215 * generated/cshift1_16_i1.c: New file, generated from cshift1a.m4.
216 * generated/cshift1_16_i16.c: New file, generated from cshift1a.m4.
217 * generated/cshift1_16_i2.c: New file, generated from cshift1a.m4.
218 * generated/cshift1_16_i4.c: New file, generated from cshift1a.m4.
219 * generated/cshift1_16_i8.c: New file, generated from cshift1a.m4.
220 * generated/cshift1_16_r10.c: New file, generated from cshift1a.m4.
221 * generated/cshift1_16_r16.c: New file, generated from cshift1a.m4.
222 * generated/cshift1_16_r4.c: New file, generated from cshift1a.m4.
223 * generated/cshift1_16_r8.c: New file, generated from cshift1a.m4.
224 * generated/cshift1_4_c10.c: New file, generated from cshift1a.m4.
225 * generated/cshift1_4_c16.c: New file, generated from cshift1a.m4.
226 * generated/cshift1_4_c4.c: New file, generated from cshift1a.m4.
227 * generated/cshift1_4_c8.c: New file, generated from cshift1a.m4.
228 * generated/cshift1_4_i1.c: New file, generated from cshift1a.m4.
229 * generated/cshift1_4_i16.c: New file, generated from cshift1a.m4.
230 * generated/cshift1_4_i2.c: New file, generated from cshift1a.m4.
231 * generated/cshift1_4_i4.c: New file, generated from cshift1a.m4.
232 * generated/cshift1_4_i8.c: New file, generated from cshift1a.m4.
233 * generated/cshift1_4_r10.c: New file, generated from cshift1a.m4.
234 * generated/cshift1_4_r16.c: New file, generated from cshift1a.m4.
235 * generated/cshift1_4_r4.c: New file, generated from cshift1a.m4.
236 * generated/cshift1_4_r8.c: New file, generated from cshift1a.m4.
237 * generated/cshift1_8_c10.c: New file, generated from cshift1a.m4.
238 * generated/cshift1_8_c16.c: New file, generated from cshift1a.m4.
239 * generated/cshift1_8_c4.c: New file, generated from cshift1a.m4.
240 * generated/cshift1_8_c8.c: New file, generated from cshift1a.m4.
241 * generated/cshift1_8_i1.c: New file, generated from cshift1a.m4.
242 * generated/cshift1_8_i16.c: New file, generated from cshift1a.m4.
243 * generated/cshift1_8_i2.c: New file, generated from cshift1a.m4.
244 * generated/cshift1_8_i4.c: New file, generated from cshift1a.m4.
245 * generated/cshift1_8_i8.c: New file, generated from cshift1a.m4.
246 * generated/cshift1_8_r10.c: New file, generated from cshift1a.m4.
247 * generated/cshift1_8_r16.c: New file, generated from cshift1a.m4.
248 * generated/cshift1_8_r4.c: New file, generated from cshift1a.m4.
249 * generated/cshift1_8_r8.c: New file, generated from cshift1a.m4.
251 2017-06-18 Thomas Koenig <tkoenig@gcc.gnu.org>
254 * m4/cshift0.m4: For arrays that are contiguous up to
255 shift, implement blocked algorighm for cshift.
256 * generated/cshift0_c10.c: Regenerated.
257 * generated/cshift0_c16.c: Regenerated.
258 * generated/cshift0_c4.c: Regenerated.
259 * generated/cshift0_c8.c: Regenerated.
260 * generated/cshift0_i1.c: Regenerated.
261 * generated/cshift0_i16.c: Regenerated.
262 * generated/cshift0_i2.c: Regenerated.
263 * generated/cshift0_i4.c: Regenerated.
264 * generated/cshift0_i8.c: Regenerated.
265 * generated/cshift0_r10.c: Regenerated.
266 * generated/cshift0_r16.c: Regenerated.
267 * generated/cshift0_r4.c: Regenerated.
268 * generated/cshift0_r8.c: Regenerated.
270 2017-06-06 Thomas Koenig <tkoenig@gcc.gnu.org>
273 * m4/matmul_internal.m4: Move zeroing before early return.
274 * generated/matmul_c10.c: Regenerated.
275 * generated/matmul_c16.c: Regenerated.
276 * generated/matmul_c4.c: Regenerated.
277 * generated/matmul_c8.c: Regenerated.
278 * generated/matmul_i1.c: Regenerated.
279 * generated/matmul_i16.c: Regenerated.
280 * generated/matmul_i2.c: Regenerated.
281 * generated/matmul_i4.c: Regenerated.
282 * generated/matmul_i8.c: Regenerated.
283 * generated/matmul_r10.c: Regenerated.
284 * generated/matmul_r16.c: Regenerated.
285 * generated/matmul_r4.c: Regenerated.
286 * generated/matmul_r8.c: Regenerated.
287 * generated/matmulavx128_c10.c: Regenerated.
288 * generated/matmulavx128_c16.c: Regenerated.
289 * generated/matmulavx128_c4.c: Regenerated.
290 * generated/matmulavx128_c8.c: Regenerated.
291 * generated/matmulavx128_i1.c: Regenerated.
292 * generated/matmulavx128_i16.c: Regenerated.
293 * generated/matmulavx128_i2.c: Regenerated.
294 * generated/matmulavx128_i4.c: Regenerated.
295 * generated/matmulavx128_i8.c: Regenerated.
296 * generated/matmulavx128_r10.c: Regenerated.
297 * generated/matmulavx128_r16.c: Regenerated.
298 * generated/matmulavx128_r4.c: Regenerated.
299 * generated/matmulavx128_r8.c: Regenerated.
301 2017-05-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
304 * list_read.c (list_formatted_read_scala): Set the err return
305 value to the common.flags error values.
307 2017-05-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
309 * acinclude.m4 (LIBGFOR_CHECK_FMA3): Use test from
310 check_effective_target_fma in gcc.target/i386/i386.exp.
311 (LIBGFOR_CHECK_FMA4): Use test from check_effective_target_fma4.
312 * configure: Regenerate.
314 2017-05-26 Thomas Koenig <tkoenig@gcc.gnu.org>
317 * acinclude.m4: Also set HAVE_AVX128 on the false
318 branch of LIBGFOR_CHECK_AVX128.
319 * configure: Regenerated.
321 2017-05-25 Thomas Koenig <tkoenig@gcc.gnu.org>
324 * Makefile.am: Add generated/matmulavx128_*.c files.
325 Handle them for compiling and setting the right flags.
326 * acinclude.m4: Add tests for FMA3, FMA4 and AVX128.
327 * configure.ac: Call them.
328 * Makefile.in: Regenerated.
329 * config.h.in: Regenerated.
330 * configure: Regenerated.
331 * m4/matmul.m4: Handle AMD chips by calling 128-bit AVX
332 versions which use FMA3 or FMA4.
333 * m4/matmulavx128.m4: New file.
334 * generated/matmul_c10.c: Regenerated.
335 * generated/matmul_c16.c: Regenerated.
336 * generated/matmul_c4.c: Regenerated.
337 * generated/matmul_c8.c: Regenerated.
338 * generated/matmul_i1.c: Regenerated.
339 * generated/matmul_i16.c: Regenerated.
340 * generated/matmul_i2.c: Regenerated.
341 * generated/matmul_i4.c: Regenerated.
342 * generated/matmul_i8.c: Regenerated.
343 * generated/matmul_r10.c: Regenerated.
344 * generated/matmul_r16.c: Regenerated.
345 * generated/matmul_r4.c: Regenerated.
346 * generated/matmul_r8.c: Regenerated.
347 * generated/matmulavx128_c10.c: New file.
348 * generated/matmulavx128_c16.c: New file.
349 * generated/matmulavx128_c4.c: New file.
350 * generated/matmulavx128_c8.c: New file.
351 * generated/matmulavx128_i1.c: New file.
352 * generated/matmulavx128_i16.c: New file.
353 * generated/matmulavx128_i2.c: New file.
354 * generated/matmulavx128_i4.c: New file.
355 * generated/matmulavx128_i8.c: New file.
356 * generated/matmulavx128_r10.c: New file.
357 * generated/matmulavx128_r16.c: New file.
358 * generated/matmulavx128_r4.c: New file.
359 * generated/matmulavx128_r8.c: New file.
361 2017-05-19 Paul Thomas <pault@gcc.gnu.org>
362 Jerry DeLisle <jvdelisle@gcc.gnu.org>
365 * list_read.c (nml_read_obj): Compute pointer into class/type
366 arrays from the nl->dim information. Update it for each iteration
367 of the loop for the given object.
369 2017-05-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
372 * transfer.c (finalize_transfer): Reset last_char to 'empty'.
373 * file_pos.c (formatted_backspace): Likewise.
374 (st_endfile): Likewise.
375 (st_rewind): Likewise.
376 (st_flush): Likewise.
378 2017-05-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
381 * transfer.c (read_sf_internal): Remove bogus code to detect EOR.
382 (read_block_form): For internal units, generate EOR if no more
383 bytes left in unit and we are trying to read with ADVANCE='NO'.
385 2017-05-15 Thomas Koenig <tkoenig@gcc.gnu.org>
388 * m4/matmul_internal.m4: Set bystride to correct value in
389 vector-matrix multiplicatin for later calculation of buffer
391 * generated/matmul_c10.c: Regenerated.
392 * generated/matmul_c16.c: Regenerated.
393 * generated/matmul_c4.c: Regenerated.
394 * generated/matmul_c8.c: Regenerated.
395 * generated/matmul_i1.c: Regenerated.
396 * generated/matmul_i16.c: Regenerated.
397 * generated/matmul_i2.c: Regenerated.
398 * generated/matmul_i4.c: Regenerated.
399 * generated/matmul_i8.c: Regenerated.
400 * generated/matmul_r10.c: Regenerated.
401 * generated/matmul_r16.c: Regenerated.
402 * generated/matmul_r4.c: Regenerated.
403 * generated/matmul_r8.c: Regenerated.
405 2017-05-12 Thomas Schwinge <thomas@codesourcery.com>
407 * runtime/environ.c (weak_secure_getenv): Fix "__secure_gettime"
408 vs. "__secure_getenv" typo.
409 (secure_getenv): Fix "HAVE__SECURE_GETENV"
410 vs. "HAVE___SECURE_GETENV" typo.
412 2017-05-11 Janne Blomqvist <jb@gcc.gnu.org>
414 * libgfortran.h: HAVE_SECURE_GETENV: Don't check
415 HAVE___SECURE_GETENV.
416 * environ/runtime.c (secure_getenv): Use __secure_getenv via a
419 2017-05-10 Thomas Koenig <tkoenig@gcc.gnu.org>
423 * m4/matmul_internal.m4: 'matmul_name`: Always
424 use malloc/free to allocate t1.
425 * generated/matmul_c10.c: Regenerated.
426 * generated/matmul_c16.c: Regenerated.
427 * generated/matmul_c4.c: Regenerated.
428 * generated/matmul_c8.c: Regenerated.
429 * generated/matmul_i1.c: Regenerated.
430 * generated/matmul_i16.c: Regenerated.
431 * generated/matmul_i2.c: Regenerated.
432 * generated/matmul_i4.c: Regenerated.
433 * generated/matmul_i8.c: Regenerated.
434 * generated/matmul_r10.c: Regenerated.
435 * generated/matmul_r16.c: Regenerated.
436 * generated/matmul_r4.c: Regenerated.
437 * generated/matmul_r8.c: Regenerated.
439 2017-05-08 Thomas Koenig <tkoenig@gcc.gnu.org>
442 * m4/matmul_internal.m4: 'matmul_name`: Change
443 t1 to a VLA of the required size.
444 * generated/matmul_c10.c: Regenerated.
445 * generated/matmul_c16.c: Regenerated.
446 * generated/matmul_c4.c: Regenerated.
447 * generated/matmul_c8.c: Regenerated.
448 * generated/matmul_i1.c: Regenerated.
449 * generated/matmul_i16.c: Regenerated.
450 * generated/matmul_i2.c: Regenerated.
451 * generated/matmul_i4.c: Regenerated.
452 * generated/matmul_i8.c: Regenerated.
453 * generated/matmul_r10.c: Regenerated.
454 * generated/matmul_r16.c: Regenerated.
455 * generated/matmul_r4.c: Regenerated.
456 * generated/matmul_r8.c: Regenerated.
458 2017-04-11 Jerry DeLisle <jvdelisle@gcc.gnu.org>
460 * close.c: Fix white space in pointer declarations and comment
461 formats where applicable.
464 * format.c: Likewise.
465 * inquire.c: Likewise.
466 * intrinsics.c: Likewise.
467 * list_read.c: Likewise.
471 * transfer.c: Likewise.
477 2017-03-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
480 * io/list_read.c (nml_get_obj_data): Delete code which calls the
481 child read procedure. (nml_read_obj): Insert the code which
482 calls the child procedure. Don't need to touch nodes if using
483 dtio since parent will not be traversing the components.
485 2017-03-28 Janus Weil <janus@gcc.gnu.org>
488 * io/write.c (nml_write_obj): Build a class container only if necessary.
490 2017-03-27 Dominique d'Humieres <dominiq@lps.ens.fr>
492 * io/list_read.c: Insert /* Fall through. */ in the macro
493 CASE_SEPARATORS in order to silence warnings.
495 2017-03-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
498 * io/io.h (st_parameter_dt): Rename unused component last_char to
499 child_saved_iostat. Move comment to gfc_unit.
500 * io/list_read.c (list_formatted_read_scalar): After call to
501 child READ procedure, save the returned iostat value for later
502 check. (finish_list_read): Only finish READ if child_saved_iostat
504 * io/transfer.c (read_sf_internal): If there is a saved character
505 in last character, seek back one. Add a new check for EOR
506 condition. (read_sf): If there is a saved character
507 in last character, seek back one. (formatted_transfer_scalar_read):
508 Initialize last character before invoking child procedure.
509 (data_transfer_init): If child dtio, set advance
510 status to nonadvancing. Move update of size and check for EOR
511 condition to before child dtio return.
513 2017-03-17 Thomas Koenig <tkoenig@gcc.gnu.org>
516 * m4/reshape.m4 (reshape_'rtype_ccode`): Correct use
518 * generated/reshape_c10.c: Regenerated.
519 * generated/reshape_c16.c: Regenerated.
520 * generated/reshape_c4.c: Regenerated.
521 * generated/reshape_c8.c: Regenerated.
522 * generated/reshape_i16.c: Regenerated.
523 * generated/reshape_i4.c: Regenerated.
524 * generated/reshape_i8.c: Regenerated.
525 * generated/reshape_r10.c: Regenerated.
526 * generated/reshape_r16.c: Regenerated.
527 * generated/reshape_r4.c: Regenerated.
528 * generated/reshape_r8.c: Regenerated.
530 2017-03-15 NightStrike <nightstrike@gmail.com>
531 Janne Blomqvist <jb@gcc.gnu.org>
533 * intrinsics/random.c (getosrandom): Remove check for __CYGWIN__
535 * intrinsics/system_clock.c: Likewise.
536 (system_clock_4): Likewise.
537 (system_clock_8): Likewise.
538 * intrinsics/time_1.h: Don't include windows.h if __CYGWIN__ is
541 2017-03-10 Thomas Koenig <tkoenig@gcc.gnu.org>
544 * libgfortran.h (GFC_ASSERT): New macro.
545 * m4/reshape.m4 (reshape_'rtype_ccode`): Use GFC_ASSERT
546 to specify that sdim > 0 and rdim > 0.
547 * intrinsic/reshape_generic.c (reshape_internal): Likweise.
548 * generated/reshape_c10.c: Regenerated.
549 * generated/reshape_c16.c: Regenerated.
550 * generated/reshape_c4.c: Regenerated.
551 * generated/reshape_c8.c: Regenerated.
552 * generated/reshape_i16.c: Regenerated.
553 * generated/reshape_i4.c: Regenerated.
554 * generated/reshape_i8.c: Regenerated.
555 * generated/reshape_r10.c: Regenerated.
556 * generated/reshape_r16.c: Regenerated.
557 * generated/reshape_r4.c: Regenerated.
558 * generated/reshape_r8.c: Regenerated.
560 2017-03-11 Jerry DeLisle <jvdelisle@gcc.gnu.org>
563 * io/list_read.c (nml_get_obj_data): Stash internal unit for
564 later use by child procedures.
565 * io/write.c (nml_write_obj): Likewise.
566 * io/tranfer.c (data_transfer_init): Minor whitespace.
567 * io/unit.c (set_internal_uit): Look for the stashed internal
568 unit and use it if found.
570 2017-03-10 Thomas Koenig <tkoenig@gcc.gnu.org>
573 * m4/iforeach.m4: Change exit condition from loop for
574 increasing dimension to >=. Fix type in comment.
575 * m4/ifunction.m4: Likewise.
576 * m4/ifunction_logical.m4: Likewise.
577 * generated/all_l1.c: Regenerated.
578 * generated/all_l16.c: Regenerated.
579 * generated/all_l2.c: Regenerated.
580 * generated/all_l4.c: Regenerated.
581 * generated/all_l8.c: Regenerated.
582 * generated/any_l1.c: Regenerated.
583 * generated/any_l16.c: Regenerated.
584 * generated/any_l2.c: Regenerated.
585 * generated/any_l4.c: Regenerated.
586 * generated/any_l8.c: Regenerated.
587 * generated/count_16_l.c: Regenerated.
588 * generated/count_1_l.c: Regenerated.
589 * generated/count_2_l.c: Regenerated.
590 * generated/count_4_l.c: Regenerated.
591 * generated/count_8_l.c: Regenerated.
592 * generated/iall_i1.c: Regenerated.
593 * generated/iall_i16.c: Regenerated.
594 * generated/iall_i2.c: Regenerated.
595 * generated/iall_i4.c: Regenerated.
596 * generated/iall_i8.c: Regenerated.
597 * generated/iany_i1.c: Regenerated.
598 * generated/iany_i16.c: Regenerated.
599 * generated/iany_i2.c: Regenerated.
600 * generated/iany_i4.c: Regenerated.
601 * generated/iany_i8.c: Regenerated.
602 * generated/iparity_i1.c: Regenerated.
603 * generated/iparity_i16.c: Regenerated.
604 * generated/iparity_i2.c: Regenerated.
605 * generated/iparity_i4.c: Regenerated.
606 * generated/iparity_i8.c: Regenerated.
607 * generated/maxloc0_16_i1.c: Regenerated.
608 * generated/maxloc0_16_i16.c: Regenerated.
609 * generated/maxloc0_16_i2.c: Regenerated.
610 * generated/maxloc0_16_i4.c: Regenerated.
611 * generated/maxloc0_16_i8.c: Regenerated.
612 * generated/maxloc0_16_r10.c: Regenerated.
613 * generated/maxloc0_16_r16.c: Regenerated.
614 * generated/maxloc0_16_r4.c: Regenerated.
615 * generated/maxloc0_16_r8.c: Regenerated.
616 * generated/maxloc0_4_i1.c: Regenerated.
617 * generated/maxloc0_4_i16.c: Regenerated.
618 * generated/maxloc0_4_i2.c: Regenerated.
619 * generated/maxloc0_4_i4.c: Regenerated.
620 * generated/maxloc0_4_i8.c: Regenerated.
621 * generated/maxloc0_4_r10.c: Regenerated.
622 * generated/maxloc0_4_r16.c: Regenerated.
623 * generated/maxloc0_4_r4.c: Regenerated.
624 * generated/maxloc0_4_r8.c: Regenerated.
625 * generated/maxloc0_8_i1.c: Regenerated.
626 * generated/maxloc0_8_i16.c: Regenerated.
627 * generated/maxloc0_8_i2.c: Regenerated.
628 * generated/maxloc0_8_i4.c: Regenerated.
629 * generated/maxloc0_8_i8.c: Regenerated.
630 * generated/maxloc0_8_r10.c: Regenerated.
631 * generated/maxloc0_8_r16.c: Regenerated.
632 * generated/maxloc0_8_r4.c: Regenerated.
633 * generated/maxloc0_8_r8.c: Regenerated.
634 * generated/maxloc1_16_i1.c: Regenerated.
635 * generated/maxloc1_16_i16.c: Regenerated.
636 * generated/maxloc1_16_i2.c: Regenerated.
637 * generated/maxloc1_16_i4.c: Regenerated.
638 * generated/maxloc1_16_i8.c: Regenerated.
639 * generated/maxloc1_16_r10.c: Regenerated.
640 * generated/maxloc1_16_r16.c: Regenerated.
641 * generated/maxloc1_16_r4.c: Regenerated.
642 * generated/maxloc1_16_r8.c: Regenerated.
643 * generated/maxloc1_4_i1.c: Regenerated.
644 * generated/maxloc1_4_i16.c: Regenerated.
645 * generated/maxloc1_4_i2.c: Regenerated.
646 * generated/maxloc1_4_i4.c: Regenerated.
647 * generated/maxloc1_4_i8.c: Regenerated.
648 * generated/maxloc1_4_r10.c: Regenerated.
649 * generated/maxloc1_4_r16.c: Regenerated.
650 * generated/maxloc1_4_r4.c: Regenerated.
651 * generated/maxloc1_4_r8.c: Regenerated.
652 * generated/maxloc1_8_i1.c: Regenerated.
653 * generated/maxloc1_8_i16.c: Regenerated.
654 * generated/maxloc1_8_i2.c: Regenerated.
655 * generated/maxloc1_8_i4.c: Regenerated.
656 * generated/maxloc1_8_i8.c: Regenerated.
657 * generated/maxloc1_8_r10.c: Regenerated.
658 * generated/maxloc1_8_r16.c: Regenerated.
659 * generated/maxloc1_8_r4.c: Regenerated.
660 * generated/maxloc1_8_r8.c: Regenerated.
661 * generated/maxval_i1.c: Regenerated.
662 * generated/maxval_i16.c: Regenerated.
663 * generated/maxval_i2.c: Regenerated.
664 * generated/maxval_i4.c: Regenerated.
665 * generated/maxval_i8.c: Regenerated.
666 * generated/maxval_r10.c: Regenerated.
667 * generated/maxval_r16.c: Regenerated.
668 * generated/maxval_r4.c: Regenerated.
669 * generated/maxval_r8.c: Regenerated.
670 * generated/minloc0_16_i1.c: Regenerated.
671 * generated/minloc0_16_i16.c: Regenerated.
672 * generated/minloc0_16_i2.c: Regenerated.
673 * generated/minloc0_16_i4.c: Regenerated.
674 * generated/minloc0_16_i8.c: Regenerated.
675 * generated/minloc0_16_r10.c: Regenerated.
676 * generated/minloc0_16_r16.c: Regenerated.
677 * generated/minloc0_16_r4.c: Regenerated.
678 * generated/minloc0_16_r8.c: Regenerated.
679 * generated/minloc0_4_i1.c: Regenerated.
680 * generated/minloc0_4_i16.c: Regenerated.
681 * generated/minloc0_4_i2.c: Regenerated.
682 * generated/minloc0_4_i4.c: Regenerated.
683 * generated/minloc0_4_i8.c: Regenerated.
684 * generated/minloc0_4_r10.c: Regenerated.
685 * generated/minloc0_4_r16.c: Regenerated.
686 * generated/minloc0_4_r4.c: Regenerated.
687 * generated/minloc0_4_r8.c: Regenerated.
688 * generated/minloc0_8_i1.c: Regenerated.
689 * generated/minloc0_8_i16.c: Regenerated.
690 * generated/minloc0_8_i2.c: Regenerated.
691 * generated/minloc0_8_i4.c: Regenerated.
692 * generated/minloc0_8_i8.c: Regenerated.
693 * generated/minloc0_8_r10.c: Regenerated.
694 * generated/minloc0_8_r16.c: Regenerated.
695 * generated/minloc0_8_r4.c: Regenerated.
696 * generated/minloc0_8_r8.c: Regenerated.
697 * generated/minloc1_16_i1.c: Regenerated.
698 * generated/minloc1_16_i16.c: Regenerated.
699 * generated/minloc1_16_i2.c: Regenerated.
700 * generated/minloc1_16_i4.c: Regenerated.
701 * generated/minloc1_16_i8.c: Regenerated.
702 * generated/minloc1_16_r10.c: Regenerated.
703 * generated/minloc1_16_r16.c: Regenerated.
704 * generated/minloc1_16_r4.c: Regenerated.
705 * generated/minloc1_16_r8.c: Regenerated.
706 * generated/minloc1_4_i1.c: Regenerated.
707 * generated/minloc1_4_i16.c: Regenerated.
708 * generated/minloc1_4_i2.c: Regenerated.
709 * generated/minloc1_4_i4.c: Regenerated.
710 * generated/minloc1_4_i8.c: Regenerated.
711 * generated/minloc1_4_r10.c: Regenerated.
712 * generated/minloc1_4_r16.c: Regenerated.
713 * generated/minloc1_4_r4.c: Regenerated.
714 * generated/minloc1_4_r8.c: Regenerated.
715 * generated/minloc1_8_i1.c: Regenerated.
716 * generated/minloc1_8_i16.c: Regenerated.
717 * generated/minloc1_8_i2.c: Regenerated.
718 * generated/minloc1_8_i4.c: Regenerated.
719 * generated/minloc1_8_i8.c: Regenerated.
720 * generated/minloc1_8_r10.c: Regenerated.
721 * generated/minloc1_8_r16.c: Regenerated.
722 * generated/minloc1_8_r4.c: Regenerated.
723 * generated/minloc1_8_r8.c: Regenerated.
724 * generated/minval_i1.c: Regenerated.
725 * generated/minval_i16.c: Regenerated.
726 * generated/minval_i2.c: Regenerated.
727 * generated/minval_i4.c: Regenerated.
728 * generated/minval_i8.c: Regenerated.
729 * generated/minval_r10.c: Regenerated.
730 * generated/minval_r16.c: Regenerated.
731 * generated/minval_r4.c: Regenerated.
732 * generated/minval_r8.c: Regenerated.
733 * generated/norm2_r10.c: Regenerated.
734 * generated/norm2_r16.c: Regenerated.
735 * generated/norm2_r4.c: Regenerated.
736 * generated/norm2_r8.c: Regenerated.
737 * generated/parity_l1.c: Regenerated.
738 * generated/parity_l16.c: Regenerated.
739 * generated/parity_l2.c: Regenerated.
740 * generated/parity_l4.c: Regenerated.
741 * generated/parity_l8.c: Regenerated.
742 * generated/product_c10.c: Regenerated.
743 * generated/product_c16.c: Regenerated.
744 * generated/product_c4.c: Regenerated.
745 * generated/product_c8.c: Regenerated.
746 * generated/product_i1.c: Regenerated.
747 * generated/product_i16.c: Regenerated.
748 * generated/product_i2.c: Regenerated.
749 * generated/product_i4.c: Regenerated.
750 * generated/product_i8.c: Regenerated.
751 * generated/product_r10.c: Regenerated.
752 * generated/product_r16.c: Regenerated.
753 * generated/product_r4.c: Regenerated.
754 * generated/product_r8.c: Regenerated.
755 * generated/sum_c10.c: Regenerated.
756 * generated/sum_c16.c: Regenerated.
757 * generated/sum_c4.c: Regenerated.
758 * generated/sum_c8.c: Regenerated.
759 * generated/sum_i1.c: Regenerated.
760 * generated/sum_i16.c: Regenerated.
761 * generated/sum_i2.c: Regenerated.
762 * generated/sum_i4.c: Regenerated.
763 * generated/sum_i8.c: Regenerated.
764 * generated/sum_r10.c: Regenerated.
765 * generated/sum_r16.c: Regenerated.
766 * generated/sum_r4.c: Regenerated.
767 * generated/sum_r8.c: Regenerated.
769 2017-03-05 Andre Vehreschild <vehre@gcc.gnu.org>
770 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
772 * caf/libcaf.h: Added prototypes and stat codes for failed and stopped
774 * caf/single.c (void _gfortran_caf_fail_image): Add the routine.
775 (int _gfortran_caf_image_status): Same.
776 (_gfortran_caf_failed_images): Same.
777 (_gfortran_caf_stopped_images): Same.
779 2017-03-02 Thomas Koenig <tkoenig@gcc.gnu.org>
780 Jakub Jelinek <jakub@redhat.com>
782 * m4/matmul.m4 (matmul_'rtype_code`): Avoid
783 race condition on storing function pointer.
784 * generated/matmul_c10.c: Regenerated.
785 * generated/matmul_c16.c: Regenerated.
786 * generated/matmul_c4.c: Regenerated.
787 * generated/matmul_c8.c: Regenerated.
788 * generated/matmul_i1.c: Regenerated.
789 * generated/matmul_i16.c: Regenerated.
790 * generated/matmul_i2.c: Regenerated.
791 * generated/matmul_i4.c: Regenerated.
792 * generated/matmul_i8.c: Regenerated.
793 * generated/matmul_r10.c: Regenerated.
794 * generated/matmul_r16.c: Regenerated.
795 * generated/matmul_r4.c: Regenerated.
796 * generated/matmul_r8.c: Regenerated.
798 2017-03-02 Thomas Koenig <tkoenig@gcc.gnu.org>
801 * m4/matmul.m4: (matmul_'rtype_code`_avx2): Also generate for
802 reals. Add fma to target options.
803 (matmul_'rtype_code`): Call AVX2 only if FMA is available.
804 * generated/matmul_c10.c: Regenerated.
805 * generated/matmul_c16.c: Regenerated.
806 * generated/matmul_c4.c: Regenerated.
807 * generated/matmul_c8.c: Regenerated.
808 * generated/matmul_i1.c: Regenerated.
809 * generated/matmul_i16.c: Regenerated.
810 * generated/matmul_i2.c: Regenerated.
811 * generated/matmul_i4.c: Regenerated.
812 * generated/matmul_i8.c: Regenerated.
813 * generated/matmul_r10.c: Regenerated.
814 * generated/matmul_r16.c: Regenerated.
815 * generated/matmul_r4.c: Regenerated.
816 * generated/matmul_r8.c: Regenerated.
818 2017-02-27 Janne Blomqvist <jb@gcc.gnu.org>
820 * intrinsics/random.c (getosrandom): Don't try to use rand_s on
823 2017-02-16 Paul Thomas <pault@gcc.gnu.org>
826 * io/transfer.c (check_dtio_proc): New function.
827 (formatted_transfer_scalar_read): Use it.
828 (formatted_transfer_scalar_write): ditto.
830 2017-01-31 Steven G. Kargl <kargl@gcc.gnu.org>
833 * c99_protos.h: Spell HAVE_EXPL correctly.
834 * intrinsics/c99_functions.c: Ditto.
836 2017-01-19 Uros Bizjak <ubizjak@gmail.com>
839 * acinclude.m4: Include ../config/ax_check_define.m4
840 * configure.ac: Check if _SOFT_FLOAT is defined.
841 * configure.host (i?86 | x86_64): Use fpu-generic when
842 have_soft_float is set.
843 * configure: Regenerate.
845 2017-01-19 Jakub Jelinek <jakub@redhat.com>
848 * acinclude.m4 (LIBGFOR_CHECK_AVX512F): Ensure the test clobbers
849 some zmm16+ registers to verify they are handled by unwind info
851 * configure: Regenerated.
853 2017-01-17 Jakub Jelinek <jakub@redhat.com>
856 * configure.ac: Add GCC_BASE_VER.
857 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
858 get version from BASE-VER file.
859 * configure: Regenerated.
860 * Makefile.in: Regenerated.
862 2017-01-13 Andre Vehreschild <vehre@gcc.gnu.org>
865 * caf/single.c (_gfortran_caf_register): Allocate enough memory for
868 2017-01-07 Andre Vehreschild <vehre@gcc.gnu.org>
872 * caf/single.c (send_by_ref): Fix addressing of non-allocatable scalar
873 destination components.
875 2017-01-01 Jakub Jelinek <jakub@redhat.com>
877 Update copyright years.
879 Copyright (C) 2017 Free Software Foundation, Inc.
881 Copying and distribution of this file, with or without modification,
882 are permitted in any medium without royalty provided the copyright
883 notice and this notice are preserved.