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