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