1 2017-11-22 Thomas Koenig <tkoenig@gcc.gnu.org>
4 * Makefile.am: Add i_maxloc0s_c, i_maxloc1s_c, i_maxloc2s_c,
5 i_minloc0s_c, i_minloc1s_c and i_minloc2s_c.
6 * Makefile.in: Regenerated.
7 * generated/maxloc0_16_s1.c: New file.
8 * generated/maxloc0_16_s4.c: New file.
9 * generated/maxloc0_4_s1.c: New file.
10 * generated/maxloc0_4_s4.c: New file.
11 * generated/maxloc0_8_s1.c: New file.
12 * generated/maxloc0_8_s4.c: New file.
13 * generated/maxloc1_16_s1.c: New file.
14 * generated/maxloc1_16_s4.c: New file.
15 * generated/maxloc1_4_s1.c: New file.
16 * generated/maxloc1_4_s4.c: New file.
17 * generated/maxloc1_8_s1.c: New file.
18 * generated/maxloc1_8_s4.c: New file.
19 * generated/maxloc2_16_s1.c: New file.
20 * generated/maxloc2_16_s4.c: New file.
21 * generated/maxloc2_4_s1.c: New file.
22 * generated/maxloc2_4_s4.c: New file.
23 * generated/maxloc2_8_s1.c: New file.
24 * generated/maxloc2_8_s4.c: New file.
25 * generated/minloc0_16_s1.c: New file.
26 * generated/minloc0_16_s4.c: New file.
27 * generated/minloc0_4_s1.c: New file.
28 * generated/minloc0_4_s4.c: New file.
29 * generated/minloc0_8_s1.c: New file.
30 * generated/minloc0_8_s4.c: New file.
31 * generated/minloc1_16_s1.c: New file.
32 * generated/minloc1_16_s4.c: New file.
33 * generated/minloc1_4_s1.c: New file.
34 * generated/minloc1_4_s4.c: New file.
35 * generated/minloc1_8_s1.c: New file.
36 * generated/minloc1_8_s4.c: New file.
37 * generated/minloc2_16_s1.c: New file.
38 * generated/minloc2_16_s4.c: New file.
39 * generated/minloc2_4_s1.c: New file.
40 * generated/minloc2_4_s4.c: New file.
41 * generated/minloc2_8_s1.c: New file.
42 * generated/minloc2_8_s4.c: New file.
43 * m4/iforeach-s.m4: New file.
44 * m4/ifunction-s.m4: New file.
45 * m4/maxloc0s.m4: New file.
46 * m4/maxloc1s.m4: New file.
47 * m4/maxloc2s.m4: New file.
48 * m4/minloc0s.m4: New file.
49 * m4/minloc1s.m4: New file.
50 * m4/minloc2s.m4: New file.
51 * gfortran.map: Add new functions.
52 * libgfortran.h: Add gfc_array_s1 and gfc_array_s4.
54 2017-11-22 Janne Blomqvist <jb@gcc.gnu.org>
57 * intrinsics/eoshift0.c (eoshift0): Fix -Wsign-compare warning by
58 making a_ex and r_ex index_type instead of size_t.
60 2017-11-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>
63 * io/io.h (newunit_free): Add declaration. Clean some whitespace.
64 * io/transfer.c (st_read_done, st_write_done): Call newunit_free.
65 * io/unit.c (newunit_free): Change type from static void to void.
67 2017-11-19 Janne Blomqvist <jb@gcc.gnu.org>
70 * io/transfer.c (skip_record): Use gfc_offset to handle large
72 (next_record_r): Likewise.
74 (next_record_w): Use gfc_offset/ptrdiff_t appropriately.
76 2017-11-18 Janne Blomqvist <jb@gcc.gnu.org>
79 * io/io.h: Make nextrec a GFC_IO_INT*.
81 2017-11-18 Janne Blomqvist <jb@gcc.gnu.org>
84 * io/io.h: Make recl_in a GC_IO_INT and recl_out a type
87 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
89 * acinclude.m4: Add enable.m4, cet.m4.
90 * Makefile.in: Regenerate.
91 * configure: Likewise.
92 * configure.ac: Set CET_FLAGS. Update AM_FCFLAGS,
95 2017-10-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
99 io/format.c (free_format_data): Don't try to free vlist
100 descriptors past the end of the fnode array.
102 2017-10-10 Thomas Koenig <tkoenig@gcc.gnu.org>
105 * intrinsics/execute_command_line.c (execute_command_line):
106 No call to runtime_error if cmdstat is present.
108 2017-09-24 Dominique d'Humieres <dominiq@lps.ens.fr>
111 * runtime/bounds.c: Use GFC_ASSERT.
113 2017-09-10 Paul Thomas <pault@gcc.gnu.org>
116 * libgfortran/libgfortran.h: Add span field to descriptor.
117 * libgfortran/libtool-version : Bump up version number to 5:0:0.
119 2017-08-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
122 * io/list_read.c (nml_read_obj): Remove use of stash.
123 * io/transfer.c (st_read_done, st_write_done): Likewise.
124 * io/unit.c (stash_internal_unit): Delete function.
125 (get_unit): Remove use of stash.
126 (init_units): Likewise.
127 (close_units): Likewise.
128 * io/write.c (nml_write_obj): Likewise:
130 2017-07-31 Thomas Koenig <tkoenig@gcc.gnu.org>
133 * m4/ifuntion.m4 (name`'rtype_qual`_'atype_code): Perform check
135 (`m'name`'rtype_qual`_'atype_code): Likewise. Change type of rank
136 and tim to index_type.
137 (`s'name`'rtype_qual`_'atype_code): Perform check for dim.
138 * generated/iall_i16.c: Regenerated.
139 * generated/iall_i1.c: Regenerated.
140 * generated/iall_i2.c: Regenerated.
141 * generated/iall_i4.c: Regenerated.
142 * generated/iall_i8.c: Regenerated.
143 * generated/iany_i16.c: Regenerated.
144 * generated/iany_i1.c: Regenerated.
145 * generated/iany_i2.c: Regenerated.
146 * generated/iany_i4.c: Regenerated.
147 * generated/iany_i8.c: Regenerated.
148 * generated/iparity_i16.c: Regenerated.
149 * generated/iparity_i1.c: Regenerated.
150 * generated/iparity_i2.c: Regenerated.
151 * generated/iparity_i4.c: Regenerated.
152 * generated/iparity_i8.c: Regenerated.
153 * generated/maxloc1_16_i16.c: Regenerated.
154 * generated/maxloc1_16_i1.c: Regenerated.
155 * generated/maxloc1_16_i2.c: Regenerated.
156 * generated/maxloc1_16_i4.c: Regenerated.
157 * generated/maxloc1_16_i8.c: Regenerated.
158 * generated/maxloc1_16_r10.c: Regenerated.
159 * generated/maxloc1_16_r16.c: Regenerated.
160 * generated/maxloc1_16_r4.c: Regenerated.
161 * generated/maxloc1_16_r8.c: Regenerated.
162 * generated/maxloc1_4_i16.c: Regenerated.
163 * generated/maxloc1_4_i1.c: Regenerated.
164 * generated/maxloc1_4_i2.c: Regenerated.
165 * generated/maxloc1_4_i4.c: Regenerated.
166 * generated/maxloc1_4_i8.c: Regenerated.
167 * generated/maxloc1_4_r10.c: Regenerated.
168 * generated/maxloc1_4_r16.c: Regenerated.
169 * generated/maxloc1_4_r4.c: Regenerated.
170 * generated/maxloc1_4_r8.c: Regenerated.
171 * generated/maxloc1_8_i16.c: Regenerated.
172 * generated/maxloc1_8_i1.c: Regenerated.
173 * generated/maxloc1_8_i2.c: Regenerated.
174 * generated/maxloc1_8_i4.c: Regenerated.
175 * generated/maxloc1_8_i8.c: Regenerated.
176 * generated/maxloc1_8_r10.c: Regenerated.
177 * generated/maxloc1_8_r16.c: Regenerated.
178 * generated/maxloc1_8_r4.c: Regenerated.
179 * generated/maxloc1_8_r8.c: Regenerated.
180 * generated/maxval_i16.c: Regenerated.
181 * generated/maxval_i1.c: Regenerated.
182 * generated/maxval_i2.c: Regenerated.
183 * generated/maxval_i4.c: Regenerated.
184 * generated/maxval_i8.c: Regenerated.
185 * generated/maxval_r10.c: Regenerated.
186 * generated/maxval_r16.c: Regenerated.
187 * generated/maxval_r4.c: Regenerated.
188 * generated/maxval_r8.c: Regenerated.
189 * generated/minloc1_16_i16.c: Regenerated.
190 * generated/minloc1_16_i1.c: Regenerated.
191 * generated/minloc1_16_i2.c: Regenerated.
192 * generated/minloc1_16_i4.c: Regenerated.
193 * generated/minloc1_16_i8.c: Regenerated.
194 * generated/minloc1_16_r10.c: Regenerated.
195 * generated/minloc1_16_r16.c: Regenerated.
196 * generated/minloc1_16_r4.c: Regenerated.
197 * generated/minloc1_16_r8.c: Regenerated.
198 * generated/minloc1_4_i16.c: Regenerated.
199 * generated/minloc1_4_i1.c: Regenerated.
200 * generated/minloc1_4_i2.c: Regenerated.
201 * generated/minloc1_4_i4.c: Regenerated.
202 * generated/minloc1_4_i8.c: Regenerated.
203 * generated/minloc1_4_r10.c: Regenerated.
204 * generated/minloc1_4_r16.c: Regenerated.
205 * generated/minloc1_4_r4.c: Regenerated.
206 * generated/minloc1_4_r8.c: Regenerated.
207 * generated/minloc1_8_i16.c: Regenerated.
208 * generated/minloc1_8_i1.c: Regenerated.
209 * generated/minloc1_8_i2.c: Regenerated.
210 * generated/minloc1_8_i4.c: Regenerated.
211 * generated/minloc1_8_i8.c: Regenerated.
212 * generated/minloc1_8_r10.c: Regenerated.
213 * generated/minloc1_8_r16.c: Regenerated.
214 * generated/minloc1_8_r4.c: Regenerated.
215 * generated/minloc1_8_r8.c: Regenerated.
216 * generated/minval_i16.c: Regenerated.
217 * generated/minval_i1.c: Regenerated.
218 * generated/minval_i2.c: Regenerated.
219 * generated/minval_i4.c: Regenerated.
220 * generated/minval_i8.c: Regenerated.
221 * generated/minval_r10.c: Regenerated.
222 * generated/minval_r16.c: Regenerated.
223 * generated/minval_r4.c: Regenerated.
224 * generated/minval_r8.c: Regenerated.
225 * generated/norm2_r10.c: Regenerated.
226 * generated/norm2_r16.c: Regenerated.
227 * generated/norm2_r4.c: Regenerated.
228 * generated/norm2_r8.c: Regenerated.
229 * generated/parity_l16.c: Regenerated.
230 * generated/parity_l1.c: Regenerated.
231 * generated/parity_l2.c: Regenerated.
232 * generated/parity_l4.c: Regenerated.
233 * generated/parity_l8.c: Regenerated.
234 * generated/product_c10.c: Regenerated.
235 * generated/product_c16.c: Regenerated.
236 * generated/product_c4.c: Regenerated.
237 * generated/product_c8.c: Regenerated.
238 * generated/product_i16.c: Regenerated.
239 * generated/product_i1.c: Regenerated.
240 * generated/product_i2.c: Regenerated.
241 * generated/product_i4.c: Regenerated.
242 * generated/product_i8.c: Regenerated.
243 * generated/product_r10.c: Regenerated.
244 * generated/product_r16.c: Regenerated.
245 * generated/product_r4.c: Regenerated.
246 * generated/product_r8.c: Regenerated.
247 * generated/sum_c10.c: Regenerated.
248 * generated/sum_c16.c: Regenerated.
249 * generated/sum_c4.c: Regenerated.
250 * generated/sum_c8.c: Regenerated.
251 * generated/sum_i16.c: Regenerated.
252 * generated/sum_i1.c: Regenerated.
253 * generated/sum_i2.c: Regenerated.
254 * generated/sum_i4.c: Regenerated.
255 * generated/sum_i8.c: Regenerated.
256 * generated/sum_r10.c: Regenerated.
257 * generated/sum_r16.c: Regenerated.
258 * generated/sum_r4.c: Regenerated.
259 * generated/sum_r8.c: Regenerated.
261 2017-07-24 Thomas Koenig <tkoenig@gcc.gnu.org>
264 * io/unix.c (buf_write): Return early if there is
267 2017-07-09 Thomas Koenig <tkoenig@gcc.gnu.org>
269 * intrinsics/eoshift2.c (eoshift2): Use memcpy
270 for innermost copy where possible.
271 * m4/eoshift1.m4 (eoshift1): Likewise.
272 * m4/eoshift3.m4 (eoshift3): Likewise.
273 * generated/eoshift1_16.c: Regenerated.
274 * generated/eoshift1_4.c: Regenerated.
275 * generated/eoshift1_8.c: Regenerated.
276 * generated/eoshift3_16.c: Regenerated.
277 * generated/eoshift3_4.c: Regenerated.
278 * generated/eoshift3_8.c: Regenerated.
280 2017-07-02 Thomas Koenig <tkoenig@gcc.gnu.org>
282 * intrinsics/eoshift0.c: For contiguous arrays, use
283 block algorithm. Use memcpy where possible.
285 2017-06-26 Jim Wilson <jim.wilson@r3-a15.aus-colo>
288 * io/unit.c (get_unit): Call __gthread_mutex_lock before newunit_stack
289 and newunit_tos references. Call __gthread_mutex_unlock afterward.
291 2017-06-24 Thomas Koenig <tkoenig@gcc.gnu.org>
294 * Makefile.am: Add i_cshift1a_c. Add rules to generate files
296 * Makefile.in: Regenerated.
297 * m4/cshift1a.m4: New file.
298 * m4/cshift.m4 (cshift1): Split up inner loop by removing
299 condition. Use memcpy where possible. Call helper functions
301 * libgfortran.h: Add prototypes for cshift1_16_c10,
302 cshift1_16_c16, cshift1_16_c4, cshift1_16_c8, cshift1_16_i1,
303 cshift1_16_i16, cshift1_16_i2, cshift1_16_i4, cshift1_16_i8,
304 cshift1_16_r10, cshift1_16_r16, cshift1_16_r4, cshift1_16_r8,
305 cshift1_4_c10, cshift1_4_c16, cshift1_4_c4, cshift1_4_c8,
306 cshift1_4_i1, cshift1_4_i16, cshift1_4_i2, cshift1_4_i4,
307 cshift1_4_i8, cshift1_4_r10, cshift1_4_r16, cshift1_4_r4,
308 cshift1_4_r8, cshift1_8_c10, cshift1_8_c16, cshift1_8_c4,
309 cshift1_8_c8, cshift1_8_i1, cshift1_8_i16, cshift1_8_i2,
310 cshift1_8_i4, cshift1_8_i8, cshift1_8_r10, cshift1_8_r16,
311 cshift1_8_r4 and cshift1_8_r8.
312 * generated/cshift1_16_c10.c: New file, generated from cshift1a.m4.
313 * generated/cshift1_16_c16.c: New file, generated from cshift1a.m4.
314 * generated/cshift1_16_c4.c: New file, generated from cshift1a.m4.
315 * generated/cshift1_16_c8.c: New file, generated from cshift1a.m4.
316 * generated/cshift1_16_i1.c: New file, generated from cshift1a.m4.
317 * generated/cshift1_16_i16.c: New file, generated from cshift1a.m4.
318 * generated/cshift1_16_i2.c: New file, generated from cshift1a.m4.
319 * generated/cshift1_16_i4.c: New file, generated from cshift1a.m4.
320 * generated/cshift1_16_i8.c: New file, generated from cshift1a.m4.
321 * generated/cshift1_16_r10.c: New file, generated from cshift1a.m4.
322 * generated/cshift1_16_r16.c: New file, generated from cshift1a.m4.
323 * generated/cshift1_16_r4.c: New file, generated from cshift1a.m4.
324 * generated/cshift1_16_r8.c: New file, generated from cshift1a.m4.
325 * generated/cshift1_4_c10.c: New file, generated from cshift1a.m4.
326 * generated/cshift1_4_c16.c: New file, generated from cshift1a.m4.
327 * generated/cshift1_4_c4.c: New file, generated from cshift1a.m4.
328 * generated/cshift1_4_c8.c: New file, generated from cshift1a.m4.
329 * generated/cshift1_4_i1.c: New file, generated from cshift1a.m4.
330 * generated/cshift1_4_i16.c: New file, generated from cshift1a.m4.
331 * generated/cshift1_4_i2.c: New file, generated from cshift1a.m4.
332 * generated/cshift1_4_i4.c: New file, generated from cshift1a.m4.
333 * generated/cshift1_4_i8.c: New file, generated from cshift1a.m4.
334 * generated/cshift1_4_r10.c: New file, generated from cshift1a.m4.
335 * generated/cshift1_4_r16.c: New file, generated from cshift1a.m4.
336 * generated/cshift1_4_r4.c: New file, generated from cshift1a.m4.
337 * generated/cshift1_4_r8.c: New file, generated from cshift1a.m4.
338 * generated/cshift1_8_c10.c: New file, generated from cshift1a.m4.
339 * generated/cshift1_8_c16.c: New file, generated from cshift1a.m4.
340 * generated/cshift1_8_c4.c: New file, generated from cshift1a.m4.
341 * generated/cshift1_8_c8.c: New file, generated from cshift1a.m4.
342 * generated/cshift1_8_i1.c: New file, generated from cshift1a.m4.
343 * generated/cshift1_8_i16.c: New file, generated from cshift1a.m4.
344 * generated/cshift1_8_i2.c: New file, generated from cshift1a.m4.
345 * generated/cshift1_8_i4.c: New file, generated from cshift1a.m4.
346 * generated/cshift1_8_i8.c: New file, generated from cshift1a.m4.
347 * generated/cshift1_8_r10.c: New file, generated from cshift1a.m4.
348 * generated/cshift1_8_r16.c: New file, generated from cshift1a.m4.
349 * generated/cshift1_8_r4.c: New file, generated from cshift1a.m4.
350 * generated/cshift1_8_r8.c: New file, generated from cshift1a.m4.
352 2017-06-18 Thomas Koenig <tkoenig@gcc.gnu.org>
355 * m4/cshift0.m4: For arrays that are contiguous up to
356 shift, implement blocked algorighm for cshift.
357 * generated/cshift0_c10.c: Regenerated.
358 * generated/cshift0_c16.c: Regenerated.
359 * generated/cshift0_c4.c: Regenerated.
360 * generated/cshift0_c8.c: Regenerated.
361 * generated/cshift0_i1.c: Regenerated.
362 * generated/cshift0_i16.c: Regenerated.
363 * generated/cshift0_i2.c: Regenerated.
364 * generated/cshift0_i4.c: Regenerated.
365 * generated/cshift0_i8.c: Regenerated.
366 * generated/cshift0_r10.c: Regenerated.
367 * generated/cshift0_r16.c: Regenerated.
368 * generated/cshift0_r4.c: Regenerated.
369 * generated/cshift0_r8.c: Regenerated.
371 2017-06-06 Thomas Koenig <tkoenig@gcc.gnu.org>
374 * m4/matmul_internal.m4: Move zeroing before early return.
375 * generated/matmul_c10.c: Regenerated.
376 * generated/matmul_c16.c: Regenerated.
377 * generated/matmul_c4.c: Regenerated.
378 * generated/matmul_c8.c: Regenerated.
379 * generated/matmul_i1.c: Regenerated.
380 * generated/matmul_i16.c: Regenerated.
381 * generated/matmul_i2.c: Regenerated.
382 * generated/matmul_i4.c: Regenerated.
383 * generated/matmul_i8.c: Regenerated.
384 * generated/matmul_r10.c: Regenerated.
385 * generated/matmul_r16.c: Regenerated.
386 * generated/matmul_r4.c: Regenerated.
387 * generated/matmul_r8.c: Regenerated.
388 * generated/matmulavx128_c10.c: Regenerated.
389 * generated/matmulavx128_c16.c: Regenerated.
390 * generated/matmulavx128_c4.c: Regenerated.
391 * generated/matmulavx128_c8.c: Regenerated.
392 * generated/matmulavx128_i1.c: Regenerated.
393 * generated/matmulavx128_i16.c: Regenerated.
394 * generated/matmulavx128_i2.c: Regenerated.
395 * generated/matmulavx128_i4.c: Regenerated.
396 * generated/matmulavx128_i8.c: Regenerated.
397 * generated/matmulavx128_r10.c: Regenerated.
398 * generated/matmulavx128_r16.c: Regenerated.
399 * generated/matmulavx128_r4.c: Regenerated.
400 * generated/matmulavx128_r8.c: Regenerated.
402 2017-05-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
405 * list_read.c (list_formatted_read_scala): Set the err return
406 value to the common.flags error values.
408 2017-05-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
410 * acinclude.m4 (LIBGFOR_CHECK_FMA3): Use test from
411 check_effective_target_fma in gcc.target/i386/i386.exp.
412 (LIBGFOR_CHECK_FMA4): Use test from check_effective_target_fma4.
413 * configure: Regenerate.
415 2017-05-26 Thomas Koenig <tkoenig@gcc.gnu.org>
418 * acinclude.m4: Also set HAVE_AVX128 on the false
419 branch of LIBGFOR_CHECK_AVX128.
420 * configure: Regenerated.
422 2017-05-25 Thomas Koenig <tkoenig@gcc.gnu.org>
425 * Makefile.am: Add generated/matmulavx128_*.c files.
426 Handle them for compiling and setting the right flags.
427 * acinclude.m4: Add tests for FMA3, FMA4 and AVX128.
428 * configure.ac: Call them.
429 * Makefile.in: Regenerated.
430 * config.h.in: Regenerated.
431 * configure: Regenerated.
432 * m4/matmul.m4: Handle AMD chips by calling 128-bit AVX
433 versions which use FMA3 or FMA4.
434 * m4/matmulavx128.m4: New file.
435 * generated/matmul_c10.c: Regenerated.
436 * generated/matmul_c16.c: Regenerated.
437 * generated/matmul_c4.c: Regenerated.
438 * generated/matmul_c8.c: Regenerated.
439 * generated/matmul_i1.c: Regenerated.
440 * generated/matmul_i16.c: Regenerated.
441 * generated/matmul_i2.c: Regenerated.
442 * generated/matmul_i4.c: Regenerated.
443 * generated/matmul_i8.c: Regenerated.
444 * generated/matmul_r10.c: Regenerated.
445 * generated/matmul_r16.c: Regenerated.
446 * generated/matmul_r4.c: Regenerated.
447 * generated/matmul_r8.c: Regenerated.
448 * generated/matmulavx128_c10.c: New file.
449 * generated/matmulavx128_c16.c: New file.
450 * generated/matmulavx128_c4.c: New file.
451 * generated/matmulavx128_c8.c: New file.
452 * generated/matmulavx128_i1.c: New file.
453 * generated/matmulavx128_i16.c: New file.
454 * generated/matmulavx128_i2.c: New file.
455 * generated/matmulavx128_i4.c: New file.
456 * generated/matmulavx128_i8.c: New file.
457 * generated/matmulavx128_r10.c: New file.
458 * generated/matmulavx128_r16.c: New file.
459 * generated/matmulavx128_r4.c: New file.
460 * generated/matmulavx128_r8.c: New file.
462 2017-05-19 Paul Thomas <pault@gcc.gnu.org>
463 Jerry DeLisle <jvdelisle@gcc.gnu.org>
466 * list_read.c (nml_read_obj): Compute pointer into class/type
467 arrays from the nl->dim information. Update it for each iteration
468 of the loop for the given object.
470 2017-05-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
473 * transfer.c (finalize_transfer): Reset last_char to 'empty'.
474 * file_pos.c (formatted_backspace): Likewise.
475 (st_endfile): Likewise.
476 (st_rewind): Likewise.
477 (st_flush): Likewise.
479 2017-05-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
482 * transfer.c (read_sf_internal): Remove bogus code to detect EOR.
483 (read_block_form): For internal units, generate EOR if no more
484 bytes left in unit and we are trying to read with ADVANCE='NO'.
486 2017-05-15 Thomas Koenig <tkoenig@gcc.gnu.org>
489 * m4/matmul_internal.m4: Set bystride to correct value in
490 vector-matrix multiplicatin for later calculation of buffer
492 * generated/matmul_c10.c: Regenerated.
493 * generated/matmul_c16.c: Regenerated.
494 * generated/matmul_c4.c: Regenerated.
495 * generated/matmul_c8.c: Regenerated.
496 * generated/matmul_i1.c: Regenerated.
497 * generated/matmul_i16.c: Regenerated.
498 * generated/matmul_i2.c: Regenerated.
499 * generated/matmul_i4.c: Regenerated.
500 * generated/matmul_i8.c: Regenerated.
501 * generated/matmul_r10.c: Regenerated.
502 * generated/matmul_r16.c: Regenerated.
503 * generated/matmul_r4.c: Regenerated.
504 * generated/matmul_r8.c: Regenerated.
506 2017-05-12 Thomas Schwinge <thomas@codesourcery.com>
508 * runtime/environ.c (weak_secure_getenv): Fix "__secure_gettime"
509 vs. "__secure_getenv" typo.
510 (secure_getenv): Fix "HAVE__SECURE_GETENV"
511 vs. "HAVE___SECURE_GETENV" typo.
513 2017-05-11 Janne Blomqvist <jb@gcc.gnu.org>
515 * libgfortran.h: HAVE_SECURE_GETENV: Don't check
516 HAVE___SECURE_GETENV.
517 * environ/runtime.c (secure_getenv): Use __secure_getenv via a
520 2017-05-10 Thomas Koenig <tkoenig@gcc.gnu.org>
524 * m4/matmul_internal.m4: 'matmul_name`: Always
525 use malloc/free to allocate t1.
526 * generated/matmul_c10.c: Regenerated.
527 * generated/matmul_c16.c: Regenerated.
528 * generated/matmul_c4.c: Regenerated.
529 * generated/matmul_c8.c: Regenerated.
530 * generated/matmul_i1.c: Regenerated.
531 * generated/matmul_i16.c: Regenerated.
532 * generated/matmul_i2.c: Regenerated.
533 * generated/matmul_i4.c: Regenerated.
534 * generated/matmul_i8.c: Regenerated.
535 * generated/matmul_r10.c: Regenerated.
536 * generated/matmul_r16.c: Regenerated.
537 * generated/matmul_r4.c: Regenerated.
538 * generated/matmul_r8.c: Regenerated.
540 2017-05-08 Thomas Koenig <tkoenig@gcc.gnu.org>
543 * m4/matmul_internal.m4: 'matmul_name`: Change
544 t1 to a VLA of the required size.
545 * generated/matmul_c10.c: Regenerated.
546 * generated/matmul_c16.c: Regenerated.
547 * generated/matmul_c4.c: Regenerated.
548 * generated/matmul_c8.c: Regenerated.
549 * generated/matmul_i1.c: Regenerated.
550 * generated/matmul_i16.c: Regenerated.
551 * generated/matmul_i2.c: Regenerated.
552 * generated/matmul_i4.c: Regenerated.
553 * generated/matmul_i8.c: Regenerated.
554 * generated/matmul_r10.c: Regenerated.
555 * generated/matmul_r16.c: Regenerated.
556 * generated/matmul_r4.c: Regenerated.
557 * generated/matmul_r8.c: Regenerated.
559 2017-04-11 Jerry DeLisle <jvdelisle@gcc.gnu.org>
561 * close.c: Fix white space in pointer declarations and comment
562 formats where applicable.
565 * format.c: Likewise.
566 * inquire.c: Likewise.
567 * intrinsics.c: Likewise.
568 * list_read.c: Likewise.
572 * transfer.c: Likewise.
578 2017-03-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
581 * io/list_read.c (nml_get_obj_data): Delete code which calls the
582 child read procedure. (nml_read_obj): Insert the code which
583 calls the child procedure. Don't need to touch nodes if using
584 dtio since parent will not be traversing the components.
586 2017-03-28 Janus Weil <janus@gcc.gnu.org>
589 * io/write.c (nml_write_obj): Build a class container only if necessary.
591 2017-03-27 Dominique d'Humieres <dominiq@lps.ens.fr>
593 * io/list_read.c: Insert /* Fall through. */ in the macro
594 CASE_SEPARATORS in order to silence warnings.
596 2017-03-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
599 * io/io.h (st_parameter_dt): Rename unused component last_char to
600 child_saved_iostat. Move comment to gfc_unit.
601 * io/list_read.c (list_formatted_read_scalar): After call to
602 child READ procedure, save the returned iostat value for later
603 check. (finish_list_read): Only finish READ if child_saved_iostat
605 * io/transfer.c (read_sf_internal): If there is a saved character
606 in last character, seek back one. Add a new check for EOR
607 condition. (read_sf): If there is a saved character
608 in last character, seek back one. (formatted_transfer_scalar_read):
609 Initialize last character before invoking child procedure.
610 (data_transfer_init): If child dtio, set advance
611 status to nonadvancing. Move update of size and check for EOR
612 condition to before child dtio return.
614 2017-03-17 Thomas Koenig <tkoenig@gcc.gnu.org>
617 * m4/reshape.m4 (reshape_'rtype_ccode`): Correct use
619 * generated/reshape_c10.c: Regenerated.
620 * generated/reshape_c16.c: Regenerated.
621 * generated/reshape_c4.c: Regenerated.
622 * generated/reshape_c8.c: Regenerated.
623 * generated/reshape_i16.c: Regenerated.
624 * generated/reshape_i4.c: Regenerated.
625 * generated/reshape_i8.c: Regenerated.
626 * generated/reshape_r10.c: Regenerated.
627 * generated/reshape_r16.c: Regenerated.
628 * generated/reshape_r4.c: Regenerated.
629 * generated/reshape_r8.c: Regenerated.
631 2017-03-15 NightStrike <nightstrike@gmail.com>
632 Janne Blomqvist <jb@gcc.gnu.org>
634 * intrinsics/random.c (getosrandom): Remove check for __CYGWIN__
636 * intrinsics/system_clock.c: Likewise.
637 (system_clock_4): Likewise.
638 (system_clock_8): Likewise.
639 * intrinsics/time_1.h: Don't include windows.h if __CYGWIN__ is
642 2017-03-10 Thomas Koenig <tkoenig@gcc.gnu.org>
645 * libgfortran.h (GFC_ASSERT): New macro.
646 * m4/reshape.m4 (reshape_'rtype_ccode`): Use GFC_ASSERT
647 to specify that sdim > 0 and rdim > 0.
648 * intrinsic/reshape_generic.c (reshape_internal): Likweise.
649 * generated/reshape_c10.c: Regenerated.
650 * generated/reshape_c16.c: Regenerated.
651 * generated/reshape_c4.c: Regenerated.
652 * generated/reshape_c8.c: Regenerated.
653 * generated/reshape_i16.c: Regenerated.
654 * generated/reshape_i4.c: Regenerated.
655 * generated/reshape_i8.c: Regenerated.
656 * generated/reshape_r10.c: Regenerated.
657 * generated/reshape_r16.c: Regenerated.
658 * generated/reshape_r4.c: Regenerated.
659 * generated/reshape_r8.c: Regenerated.
661 2017-03-11 Jerry DeLisle <jvdelisle@gcc.gnu.org>
664 * io/list_read.c (nml_get_obj_data): Stash internal unit for
665 later use by child procedures.
666 * io/write.c (nml_write_obj): Likewise.
667 * io/tranfer.c (data_transfer_init): Minor whitespace.
668 * io/unit.c (set_internal_uit): Look for the stashed internal
669 unit and use it if found.
671 2017-03-10 Thomas Koenig <tkoenig@gcc.gnu.org>
674 * m4/iforeach.m4: Change exit condition from loop for
675 increasing dimension to >=. Fix type in comment.
676 * m4/ifunction.m4: Likewise.
677 * m4/ifunction_logical.m4: Likewise.
678 * generated/all_l1.c: Regenerated.
679 * generated/all_l16.c: Regenerated.
680 * generated/all_l2.c: Regenerated.
681 * generated/all_l4.c: Regenerated.
682 * generated/all_l8.c: Regenerated.
683 * generated/any_l1.c: Regenerated.
684 * generated/any_l16.c: Regenerated.
685 * generated/any_l2.c: Regenerated.
686 * generated/any_l4.c: Regenerated.
687 * generated/any_l8.c: Regenerated.
688 * generated/count_16_l.c: Regenerated.
689 * generated/count_1_l.c: Regenerated.
690 * generated/count_2_l.c: Regenerated.
691 * generated/count_4_l.c: Regenerated.
692 * generated/count_8_l.c: Regenerated.
693 * generated/iall_i1.c: Regenerated.
694 * generated/iall_i16.c: Regenerated.
695 * generated/iall_i2.c: Regenerated.
696 * generated/iall_i4.c: Regenerated.
697 * generated/iall_i8.c: Regenerated.
698 * generated/iany_i1.c: Regenerated.
699 * generated/iany_i16.c: Regenerated.
700 * generated/iany_i2.c: Regenerated.
701 * generated/iany_i4.c: Regenerated.
702 * generated/iany_i8.c: Regenerated.
703 * generated/iparity_i1.c: Regenerated.
704 * generated/iparity_i16.c: Regenerated.
705 * generated/iparity_i2.c: Regenerated.
706 * generated/iparity_i4.c: Regenerated.
707 * generated/iparity_i8.c: Regenerated.
708 * generated/maxloc0_16_i1.c: Regenerated.
709 * generated/maxloc0_16_i16.c: Regenerated.
710 * generated/maxloc0_16_i2.c: Regenerated.
711 * generated/maxloc0_16_i4.c: Regenerated.
712 * generated/maxloc0_16_i8.c: Regenerated.
713 * generated/maxloc0_16_r10.c: Regenerated.
714 * generated/maxloc0_16_r16.c: Regenerated.
715 * generated/maxloc0_16_r4.c: Regenerated.
716 * generated/maxloc0_16_r8.c: Regenerated.
717 * generated/maxloc0_4_i1.c: Regenerated.
718 * generated/maxloc0_4_i16.c: Regenerated.
719 * generated/maxloc0_4_i2.c: Regenerated.
720 * generated/maxloc0_4_i4.c: Regenerated.
721 * generated/maxloc0_4_i8.c: Regenerated.
722 * generated/maxloc0_4_r10.c: Regenerated.
723 * generated/maxloc0_4_r16.c: Regenerated.
724 * generated/maxloc0_4_r4.c: Regenerated.
725 * generated/maxloc0_4_r8.c: Regenerated.
726 * generated/maxloc0_8_i1.c: Regenerated.
727 * generated/maxloc0_8_i16.c: Regenerated.
728 * generated/maxloc0_8_i2.c: Regenerated.
729 * generated/maxloc0_8_i4.c: Regenerated.
730 * generated/maxloc0_8_i8.c: Regenerated.
731 * generated/maxloc0_8_r10.c: Regenerated.
732 * generated/maxloc0_8_r16.c: Regenerated.
733 * generated/maxloc0_8_r4.c: Regenerated.
734 * generated/maxloc0_8_r8.c: Regenerated.
735 * generated/maxloc1_16_i1.c: Regenerated.
736 * generated/maxloc1_16_i16.c: Regenerated.
737 * generated/maxloc1_16_i2.c: Regenerated.
738 * generated/maxloc1_16_i4.c: Regenerated.
739 * generated/maxloc1_16_i8.c: Regenerated.
740 * generated/maxloc1_16_r10.c: Regenerated.
741 * generated/maxloc1_16_r16.c: Regenerated.
742 * generated/maxloc1_16_r4.c: Regenerated.
743 * generated/maxloc1_16_r8.c: Regenerated.
744 * generated/maxloc1_4_i1.c: Regenerated.
745 * generated/maxloc1_4_i16.c: Regenerated.
746 * generated/maxloc1_4_i2.c: Regenerated.
747 * generated/maxloc1_4_i4.c: Regenerated.
748 * generated/maxloc1_4_i8.c: Regenerated.
749 * generated/maxloc1_4_r10.c: Regenerated.
750 * generated/maxloc1_4_r16.c: Regenerated.
751 * generated/maxloc1_4_r4.c: Regenerated.
752 * generated/maxloc1_4_r8.c: Regenerated.
753 * generated/maxloc1_8_i1.c: Regenerated.
754 * generated/maxloc1_8_i16.c: Regenerated.
755 * generated/maxloc1_8_i2.c: Regenerated.
756 * generated/maxloc1_8_i4.c: Regenerated.
757 * generated/maxloc1_8_i8.c: Regenerated.
758 * generated/maxloc1_8_r10.c: Regenerated.
759 * generated/maxloc1_8_r16.c: Regenerated.
760 * generated/maxloc1_8_r4.c: Regenerated.
761 * generated/maxloc1_8_r8.c: Regenerated.
762 * generated/maxval_i1.c: Regenerated.
763 * generated/maxval_i16.c: Regenerated.
764 * generated/maxval_i2.c: Regenerated.
765 * generated/maxval_i4.c: Regenerated.
766 * generated/maxval_i8.c: Regenerated.
767 * generated/maxval_r10.c: Regenerated.
768 * generated/maxval_r16.c: Regenerated.
769 * generated/maxval_r4.c: Regenerated.
770 * generated/maxval_r8.c: Regenerated.
771 * generated/minloc0_16_i1.c: Regenerated.
772 * generated/minloc0_16_i16.c: Regenerated.
773 * generated/minloc0_16_i2.c: Regenerated.
774 * generated/minloc0_16_i4.c: Regenerated.
775 * generated/minloc0_16_i8.c: Regenerated.
776 * generated/minloc0_16_r10.c: Regenerated.
777 * generated/minloc0_16_r16.c: Regenerated.
778 * generated/minloc0_16_r4.c: Regenerated.
779 * generated/minloc0_16_r8.c: Regenerated.
780 * generated/minloc0_4_i1.c: Regenerated.
781 * generated/minloc0_4_i16.c: Regenerated.
782 * generated/minloc0_4_i2.c: Regenerated.
783 * generated/minloc0_4_i4.c: Regenerated.
784 * generated/minloc0_4_i8.c: Regenerated.
785 * generated/minloc0_4_r10.c: Regenerated.
786 * generated/minloc0_4_r16.c: Regenerated.
787 * generated/minloc0_4_r4.c: Regenerated.
788 * generated/minloc0_4_r8.c: Regenerated.
789 * generated/minloc0_8_i1.c: Regenerated.
790 * generated/minloc0_8_i16.c: Regenerated.
791 * generated/minloc0_8_i2.c: Regenerated.
792 * generated/minloc0_8_i4.c: Regenerated.
793 * generated/minloc0_8_i8.c: Regenerated.
794 * generated/minloc0_8_r10.c: Regenerated.
795 * generated/minloc0_8_r16.c: Regenerated.
796 * generated/minloc0_8_r4.c: Regenerated.
797 * generated/minloc0_8_r8.c: Regenerated.
798 * generated/minloc1_16_i1.c: Regenerated.
799 * generated/minloc1_16_i16.c: Regenerated.
800 * generated/minloc1_16_i2.c: Regenerated.
801 * generated/minloc1_16_i4.c: Regenerated.
802 * generated/minloc1_16_i8.c: Regenerated.
803 * generated/minloc1_16_r10.c: Regenerated.
804 * generated/minloc1_16_r16.c: Regenerated.
805 * generated/minloc1_16_r4.c: Regenerated.
806 * generated/minloc1_16_r8.c: Regenerated.
807 * generated/minloc1_4_i1.c: Regenerated.
808 * generated/minloc1_4_i16.c: Regenerated.
809 * generated/minloc1_4_i2.c: Regenerated.
810 * generated/minloc1_4_i4.c: Regenerated.
811 * generated/minloc1_4_i8.c: Regenerated.
812 * generated/minloc1_4_r10.c: Regenerated.
813 * generated/minloc1_4_r16.c: Regenerated.
814 * generated/minloc1_4_r4.c: Regenerated.
815 * generated/minloc1_4_r8.c: Regenerated.
816 * generated/minloc1_8_i1.c: Regenerated.
817 * generated/minloc1_8_i16.c: Regenerated.
818 * generated/minloc1_8_i2.c: Regenerated.
819 * generated/minloc1_8_i4.c: Regenerated.
820 * generated/minloc1_8_i8.c: Regenerated.
821 * generated/minloc1_8_r10.c: Regenerated.
822 * generated/minloc1_8_r16.c: Regenerated.
823 * generated/minloc1_8_r4.c: Regenerated.
824 * generated/minloc1_8_r8.c: Regenerated.
825 * generated/minval_i1.c: Regenerated.
826 * generated/minval_i16.c: Regenerated.
827 * generated/minval_i2.c: Regenerated.
828 * generated/minval_i4.c: Regenerated.
829 * generated/minval_i8.c: Regenerated.
830 * generated/minval_r10.c: Regenerated.
831 * generated/minval_r16.c: Regenerated.
832 * generated/minval_r4.c: Regenerated.
833 * generated/minval_r8.c: Regenerated.
834 * generated/norm2_r10.c: Regenerated.
835 * generated/norm2_r16.c: Regenerated.
836 * generated/norm2_r4.c: Regenerated.
837 * generated/norm2_r8.c: Regenerated.
838 * generated/parity_l1.c: Regenerated.
839 * generated/parity_l16.c: Regenerated.
840 * generated/parity_l2.c: Regenerated.
841 * generated/parity_l4.c: Regenerated.
842 * generated/parity_l8.c: Regenerated.
843 * generated/product_c10.c: Regenerated.
844 * generated/product_c16.c: Regenerated.
845 * generated/product_c4.c: Regenerated.
846 * generated/product_c8.c: Regenerated.
847 * generated/product_i1.c: Regenerated.
848 * generated/product_i16.c: Regenerated.
849 * generated/product_i2.c: Regenerated.
850 * generated/product_i4.c: Regenerated.
851 * generated/product_i8.c: Regenerated.
852 * generated/product_r10.c: Regenerated.
853 * generated/product_r16.c: Regenerated.
854 * generated/product_r4.c: Regenerated.
855 * generated/product_r8.c: Regenerated.
856 * generated/sum_c10.c: Regenerated.
857 * generated/sum_c16.c: Regenerated.
858 * generated/sum_c4.c: Regenerated.
859 * generated/sum_c8.c: Regenerated.
860 * generated/sum_i1.c: Regenerated.
861 * generated/sum_i16.c: Regenerated.
862 * generated/sum_i2.c: Regenerated.
863 * generated/sum_i4.c: Regenerated.
864 * generated/sum_i8.c: Regenerated.
865 * generated/sum_r10.c: Regenerated.
866 * generated/sum_r16.c: Regenerated.
867 * generated/sum_r4.c: Regenerated.
868 * generated/sum_r8.c: Regenerated.
870 2017-03-05 Andre Vehreschild <vehre@gcc.gnu.org>
871 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
873 * caf/libcaf.h: Added prototypes and stat codes for failed and stopped
875 * caf/single.c (void _gfortran_caf_fail_image): Add the routine.
876 (int _gfortran_caf_image_status): Same.
877 (_gfortran_caf_failed_images): Same.
878 (_gfortran_caf_stopped_images): Same.
880 2017-03-02 Thomas Koenig <tkoenig@gcc.gnu.org>
881 Jakub Jelinek <jakub@redhat.com>
883 * m4/matmul.m4 (matmul_'rtype_code`): Avoid
884 race condition on storing function pointer.
885 * generated/matmul_c10.c: Regenerated.
886 * generated/matmul_c16.c: Regenerated.
887 * generated/matmul_c4.c: Regenerated.
888 * generated/matmul_c8.c: Regenerated.
889 * generated/matmul_i1.c: Regenerated.
890 * generated/matmul_i16.c: Regenerated.
891 * generated/matmul_i2.c: Regenerated.
892 * generated/matmul_i4.c: Regenerated.
893 * generated/matmul_i8.c: Regenerated.
894 * generated/matmul_r10.c: Regenerated.
895 * generated/matmul_r16.c: Regenerated.
896 * generated/matmul_r4.c: Regenerated.
897 * generated/matmul_r8.c: Regenerated.
899 2017-03-02 Thomas Koenig <tkoenig@gcc.gnu.org>
902 * m4/matmul.m4: (matmul_'rtype_code`_avx2): Also generate for
903 reals. Add fma to target options.
904 (matmul_'rtype_code`): Call AVX2 only if FMA is available.
905 * generated/matmul_c10.c: Regenerated.
906 * generated/matmul_c16.c: Regenerated.
907 * generated/matmul_c4.c: Regenerated.
908 * generated/matmul_c8.c: Regenerated.
909 * generated/matmul_i1.c: Regenerated.
910 * generated/matmul_i16.c: Regenerated.
911 * generated/matmul_i2.c: Regenerated.
912 * generated/matmul_i4.c: Regenerated.
913 * generated/matmul_i8.c: Regenerated.
914 * generated/matmul_r10.c: Regenerated.
915 * generated/matmul_r16.c: Regenerated.
916 * generated/matmul_r4.c: Regenerated.
917 * generated/matmul_r8.c: Regenerated.
919 2017-02-27 Janne Blomqvist <jb@gcc.gnu.org>
921 * intrinsics/random.c (getosrandom): Don't try to use rand_s on
924 2017-02-16 Paul Thomas <pault@gcc.gnu.org>
927 * io/transfer.c (check_dtio_proc): New function.
928 (formatted_transfer_scalar_read): Use it.
929 (formatted_transfer_scalar_write): ditto.
931 2017-01-31 Steven G. Kargl <kargl@gcc.gnu.org>
934 * c99_protos.h: Spell HAVE_EXPL correctly.
935 * intrinsics/c99_functions.c: Ditto.
937 2017-01-19 Uros Bizjak <ubizjak@gmail.com>
940 * acinclude.m4: Include ../config/ax_check_define.m4
941 * configure.ac: Check if _SOFT_FLOAT is defined.
942 * configure.host (i?86 | x86_64): Use fpu-generic when
943 have_soft_float is set.
944 * configure: Regenerate.
946 2017-01-19 Jakub Jelinek <jakub@redhat.com>
949 * acinclude.m4 (LIBGFOR_CHECK_AVX512F): Ensure the test clobbers
950 some zmm16+ registers to verify they are handled by unwind info
952 * configure: Regenerated.
954 2017-01-17 Jakub Jelinek <jakub@redhat.com>
957 * configure.ac: Add GCC_BASE_VER.
958 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
959 get version from BASE-VER file.
960 * configure: Regenerated.
961 * Makefile.in: Regenerated.
963 2017-01-13 Andre Vehreschild <vehre@gcc.gnu.org>
966 * caf/single.c (_gfortran_caf_register): Allocate enough memory for
969 2017-01-07 Andre Vehreschild <vehre@gcc.gnu.org>
973 * caf/single.c (send_by_ref): Fix addressing of non-allocatable scalar
974 destination components.
976 2017-01-01 Jakub Jelinek <jakub@redhat.com>
978 Update copyright years.
980 Copyright (C) 2017 Free Software Foundation, Inc.
982 Copying and distribution of this file, with or without modification,
983 are permitted in any medium without royalty provided the copyright
984 notice and this notice are preserved.