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