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