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