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