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