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