re PR libfortran/81937 (stack-buffer-overflow on memcpy in libgfortran/io/unix.c...
[official-gcc.git] / libgfortran / ChangeLog
blobaa2a0f7f673d9b46cbb90b459f490a98ededc820
1 2017-12-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
3         PR libgfortran/81937
4         * io/list_read.c (next_char_internal): Don't attempt to read
5         from the internal unit stream if no bytes are left. Decrement
6         bytes_left in the right place.
8 2017-12-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
10         PR libgfortran/78549
11         * io/inquire.c (inquire_via_unit): Adjust test for existence for
12         pre-connected internal units.
13         * io/transfer.c (finalize_transfer): When done with a transfer
14         to internal units, free the format buffer and close the stream.
15         (st_read_done): Delete freeing the stream, now handled using
16         sclose in finalize_transfer. (st_write_done): Likewise.
17         * io/unit.c (get_unit): Return NULL for special reserved unit
18         numbers, signifying not accessible to the user.
19         (init_units): Insert the two special internal units into the
20         unit treap. This makes these unit structures available without
21         further allocations for later use by internal unit I/O. These
22         units are automatically deleted by normal program termination.
23         * io/unix.c (mem_close): Add a guard check to protect from double free.
25 2017-12-03  Thomas Koenig  <tkoenig@gcc.gnu.org>
27         PR fortran/36313
28         * Makefile.am: Add new files for character-valued
29         maxval and minval.
30         * Makefile.in: Regenerated.
31         * gfortran.map: Add new functions.
32         * m4/iforeach-s2.m4: New file.
33         * m4/ifunction-s2.m4: New file.
34         * m4/iparm.m4: Add intitval for minval and maxval.
35         * m4/maxval0s.m4: New file.
36         * m4/maxval1s.m4: New file.
37         * m4/minval0s.m4: New file.
38         * m4/minval1s.m4: New file.
39         * generated/maxval0_s1.c: New file.
40         * generated/maxval0_s4.c: New file.
41         * generated/maxval1_s1.c: New file.
42         * generated/maxval1_s4.c: New file.
43         * generated/minval0_s1.c: New file.
44         * generated/minval0_s4.c: New file.
45         * generated/minval1_s1.c: New file.
46         * generated/minval1_s4.c: New file.
48 2017-12-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
49             Dominique d'Humieres  <dominiq@lps.ens.fr>
51         PR libgfortran/83191
52         * io/transfer.c (list_formatted_read_scalar): Do not set
53         namelist_mode bit here. (namelist_read): Likewise.
54         (data_transfer_init): Clear the mode bit here.
55         (finalize_transfer): Do set the mode bit just before any calls
56         to namelist_read or namelist_write. It can now be referred to
57         in complex_write.
58         * io/write.c (write_complex): Suppress the leading blanks when
59         namelist_mode bit is not set to 1.
61 2017-12-02  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
63         PR libgfortran/83225
64         * io/io.h (is_internal_unit): Use the unit_is_internal bit.
65         * io/transfer.c (data_transfer_init): Set the bit to true for
66         internal units. Use that bit for checks for internal unit
67         initializations.
68         * io/unit.c (insert_unit): As a precaution, set the
69         internal_unit_kind to zero when a unit structure is first created.
71 2017-11-28  Janne Blomqvist  <jb@gcc.gnu.org>
73         PR fortran/53796
74         * io/inquire.c (inquire_via_unit): Set recl to -1 for unconnected
75         units.
76         * io/io.h (default_recl): New variable.
77         * io/open.c (new_unit): Set recl to default_recl for sequential,
78         -2 for stream access.
79         * io/transfer.c (read_block_form): Test against default_recl
80         instead of DEFAULT_RECL.
81         (write_block): Likewise.
82         * io/unit.c (init_units): Calculate max_offset, default_recl.
83         * libgfortran.h (DEFAULT_RECL): Remove.
84         * runtime/environ.c: Remove GFORTRAN_DEFAULT_RECL.
86 2017-11-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
88         PR libgfortran/83168
89         * io/write.c (select_string): Bump size by one to avoid
90         overrun.
92 2017-11-24  Janne Blomqvist  <jb@gcc.gnu.org>
94         PR fortran/36313
95         * m4/maxloc2s.m4: Replace int with gfc_charlen_type, take 3.
96         * m4/minloc2s.m4: Likewise.
97         * generated/maxloc2_16_s1.c: Regenerated.
98         * generated/maxloc2_16_s4.c: Regenerated.
99         * generated/maxloc2_4_s1.c: Regenerated.
100         * generated/maxloc2_4_s4.c: Regenerated.
101         * generated/maxloc2_8_s1.c: Regenerated.
102         * generated/maxloc2_8_s4.c: Regenerated.
103         * generated/minloc2_16_s1.c: Regenerated.
104         * generated/minloc2_16_s4.c: Regenerated.
105         * generated/minloc2_4_s1.c: Regenerated.
106         * generated/minloc2_4_s4.c: Regenerated.
107         * generated/minloc2_8_s1.c: Regenerated.
108         * generated/minloc2_8_s4.c: Regenerated.
110 2017-11-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
112         PR fortran/36313
113         * m4/maxloc2s.m4: Replace int for character length by
114         gfc_charlen_type.
115         * m4/minloc2s.m4: Likewise.
116         * generated./maxloc2_16_s1.c: Regenerated.
117         * generated./maxloc2_16_s4.c: Regenerated.
118         * generated./maxloc2_4_s1.c: Regenerated.
119         * generated./maxloc2_4_s4.c: Regenerated.
120         * generated./maxloc2_8_s1.c: Regenerated.
121         * generated./maxloc2_8_s4.c: Regenerated.
122         * generated./minloc2_16_s1.c: Regenerated.
123         * generated./minloc2_16_s4.c: Regenerated.
124         * generated./minloc2_4_s1.c: Regenerated.
125         * generated./minloc2_4_s4.c: Regenerated.
126         * generated./minloc2_8_s1.c: Regenerated.
127         * generated./minloc2_8_s4.c: Regenerated.
129 2017-11-22  Janne Blomqvist  <jb@gcc.gnu.org>
131         * intrinsics/eoshift0.c (eoshift0): Make shift an index_type.
132         * intrinsics/eoshift2.c (eoshift2): Make shift an index_type.
134 2017-11-22  Janne Blomqvist  <jb@gcc.gnu.org>
136         PR libfortran/83097
137         * io/inquire.c (inquire_via_unit): Use __BYTE_ORDER__ predefined
138         macro.
139         * io/open.c (st_open): Likewise.
140         * io/transfer.c (data_transfer_init): Likewise.
141         * io/write.c (btoa_big): Likewise.
142         (otoa_big): Likewise.
143         (ztoa_big): Likewise.
144         * libgfortran.h (big_endian): Remove variable.
145         (GFOR_POINTER_TO_L1): Use __BYTE_ORDER__ macro.
146         * runtime/main.c (determine_endianness): Remove function.
147         (init): Remove call to determine_endianness.
148         * runtime/minimal.c: Remove setting big_endian variable.
150 2017-11-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
152         PR fortran/36313
153         * Makefile.am: Add i_maxloc0s_c, i_maxloc1s_c, i_maxloc2s_c,
154         i_minloc0s_c, i_minloc1s_c and i_minloc2s_c.
155         * Makefile.in: Regenerated.
156         * generated/maxloc0_16_s1.c: New file.
157         * generated/maxloc0_16_s4.c: New file.
158         * generated/maxloc0_4_s1.c: New file.
159         * generated/maxloc0_4_s4.c: New file.
160         * generated/maxloc0_8_s1.c: New file.
161         * generated/maxloc0_8_s4.c: New file.
162         * generated/maxloc1_16_s1.c: New file.
163         * generated/maxloc1_16_s4.c: New file.
164         * generated/maxloc1_4_s1.c: New file.
165         * generated/maxloc1_4_s4.c: New file.
166         * generated/maxloc1_8_s1.c: New file.
167         * generated/maxloc1_8_s4.c: New file.
168         * generated/maxloc2_16_s1.c: New file.
169         * generated/maxloc2_16_s4.c: New file.
170         * generated/maxloc2_4_s1.c: New file.
171         * generated/maxloc2_4_s4.c: New file.
172         * generated/maxloc2_8_s1.c: New file.
173         * generated/maxloc2_8_s4.c: New file.
174         * generated/minloc0_16_s1.c: New file.
175         * generated/minloc0_16_s4.c: New file.
176         * generated/minloc0_4_s1.c: New file.
177         * generated/minloc0_4_s4.c: New file.
178         * generated/minloc0_8_s1.c: New file.
179         * generated/minloc0_8_s4.c: New file.
180         * generated/minloc1_16_s1.c: New file.
181         * generated/minloc1_16_s4.c: New file.
182         * generated/minloc1_4_s1.c: New file.
183         * generated/minloc1_4_s4.c: New file.
184         * generated/minloc1_8_s1.c: New file.
185         * generated/minloc1_8_s4.c: New file.
186         * generated/minloc2_16_s1.c: New file.
187         * generated/minloc2_16_s4.c: New file.
188         * generated/minloc2_4_s1.c: New file.
189         * generated/minloc2_4_s4.c: New file.
190         * generated/minloc2_8_s1.c: New file.
191         * generated/minloc2_8_s4.c: New file.
192         * m4/iforeach-s.m4: New file.
193         * m4/ifunction-s.m4: New file.
194         * m4/maxloc0s.m4: New file.
195         * m4/maxloc1s.m4: New file.
196         * m4/maxloc2s.m4: New file.
197         * m4/minloc0s.m4: New file.
198         * m4/minloc1s.m4: New file.
199         * m4/minloc2s.m4: New file.
200         * gfortran.map: Add new functions.
201         * libgfortran.h: Add gfc_array_s1 and gfc_array_s4.
203 2017-11-22  Janne Blomqvist  <jb@gcc.gnu.org>
205         PR libfortran/83070
206         * intrinsics/eoshift0.c (eoshift0): Fix -Wsign-compare warning by
207         making a_ex and r_ex index_type instead of size_t.
209 2017-11-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
211         PR libgfortran/78549
212         * io/io.h (newunit_free): Add declaration. Clean some whitespace.
213         * io/transfer.c (st_read_done, st_write_done): Call newunit_free.
214         * io/unit.c (newunit_free): Change type from static void to void.
216 2017-11-19  Janne Blomqvist  <jb@gcc.gnu.org>
218         PR fortran/44292
219         * io/transfer.c (skip_record): Use gfc_offset to handle large
220         records.
221         (next_record_r): Likewise.
222         (sset): Likewise.
223         (next_record_w): Use gfc_offset/ptrdiff_t appropriately.
225 2017-11-18  Janne Blomqvist  <jb@gcc.gnu.org>
227         PR fortran/83036
228         * io/io.h: Make nextrec a GFC_IO_INT*.
230 2017-11-18  Janne Blomqvist  <jb@gcc.gnu.org>
232         PR fortran/44292
233         * io/io.h: Make recl_in a GC_IO_INT and recl_out a type
234         GFC_IO_INT*.
236 2017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
238         * acinclude.m4: Add enable.m4, cet.m4.
239         * Makefile.in: Regenerate.
240         * configure: Likewise.
241         * configure.ac: Set CET_FLAGS. Update AM_FCFLAGS,
242         AM_CFLAGS, CFLAGS.
244 2017-10-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
245             Rimvydas (RJ)
247         PR libgfortran/81938
248         io/format.c (free_format_data): Don't try to free vlist
249         descriptors past the end of the fnode array.
251 2017-10-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
253         PR libfortran/82233
254         * intrinsics/execute_command_line.c (execute_command_line):
255         No call to runtime_error if cmdstat is present.
257 2017-09-24  Dominique d'Humieres  <dominiq@lps.ens.fr>
259         PR libgfortran/79612
260         * runtime/bounds.c: Use GFC_ASSERT.
262 2017-09-10  Paul Thomas  <pault@gcc.gnu.org>
264         PR fortran/34640
265         * libgfortran/libgfortran.h: Add span field to descriptor.
266         * libgfortran/libtool-version : Bump up version number to 5:0:0.
268 2017-08-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
270         PR libgfortran/78387
271         * io/list_read.c (nml_read_obj): Remove use of stash.
272         * io/transfer.c (st_read_done, st_write_done): Likewise.
273         * io/unit.c (stash_internal_unit): Delete function.
274         (get_unit): Remove use of stash.
275         (init_units): Likewise.
276         (close_units): Likewise.
277         * io/write.c (nml_write_obj): Likewise:
279 2017-07-31  Thomas Koenig  <tkoenig@gcc.gnu.org>
281         PR fortran/81581
282         * m4/ifuntion.m4 (name`'rtype_qual`_'atype_code): Perform check
283         for dim.
284         (`m'name`'rtype_qual`_'atype_code): Likewise. Change type of rank
285         and tim to index_type.
286         (`s'name`'rtype_qual`_'atype_code): Perform check for dim.
287         * generated/iall_i16.c: Regenerated.
288         * generated/iall_i1.c: Regenerated.
289         * generated/iall_i2.c: Regenerated.
290         * generated/iall_i4.c: Regenerated.
291         * generated/iall_i8.c: Regenerated.
292         * generated/iany_i16.c: Regenerated.
293         * generated/iany_i1.c: Regenerated.
294         * generated/iany_i2.c: Regenerated.
295         * generated/iany_i4.c: Regenerated.
296         * generated/iany_i8.c: Regenerated.
297         * generated/iparity_i16.c: Regenerated.
298         * generated/iparity_i1.c: Regenerated.
299         * generated/iparity_i2.c: Regenerated.
300         * generated/iparity_i4.c: Regenerated.
301         * generated/iparity_i8.c: Regenerated.
302         * generated/maxloc1_16_i16.c: Regenerated.
303         * generated/maxloc1_16_i1.c: Regenerated.
304         * generated/maxloc1_16_i2.c: Regenerated.
305         * generated/maxloc1_16_i4.c: Regenerated.
306         * generated/maxloc1_16_i8.c: Regenerated.
307         * generated/maxloc1_16_r10.c: Regenerated.
308         * generated/maxloc1_16_r16.c: Regenerated.
309         * generated/maxloc1_16_r4.c: Regenerated.
310         * generated/maxloc1_16_r8.c: Regenerated.
311         * generated/maxloc1_4_i16.c: Regenerated.
312         * generated/maxloc1_4_i1.c: Regenerated.
313         * generated/maxloc1_4_i2.c: Regenerated.
314         * generated/maxloc1_4_i4.c: Regenerated.
315         * generated/maxloc1_4_i8.c: Regenerated.
316         * generated/maxloc1_4_r10.c: Regenerated.
317         * generated/maxloc1_4_r16.c: Regenerated.
318         * generated/maxloc1_4_r4.c: Regenerated.
319         * generated/maxloc1_4_r8.c: Regenerated.
320         * generated/maxloc1_8_i16.c: Regenerated.
321         * generated/maxloc1_8_i1.c: Regenerated.
322         * generated/maxloc1_8_i2.c: Regenerated.
323         * generated/maxloc1_8_i4.c: Regenerated.
324         * generated/maxloc1_8_i8.c: Regenerated.
325         * generated/maxloc1_8_r10.c: Regenerated.
326         * generated/maxloc1_8_r16.c: Regenerated.
327         * generated/maxloc1_8_r4.c: Regenerated.
328         * generated/maxloc1_8_r8.c: Regenerated.
329         * generated/maxval_i16.c: Regenerated.
330         * generated/maxval_i1.c: Regenerated.
331         * generated/maxval_i2.c: Regenerated.
332         * generated/maxval_i4.c: Regenerated.
333         * generated/maxval_i8.c: Regenerated.
334         * generated/maxval_r10.c: Regenerated.
335         * generated/maxval_r16.c: Regenerated.
336         * generated/maxval_r4.c: Regenerated.
337         * generated/maxval_r8.c: Regenerated.
338         * generated/minloc1_16_i16.c: Regenerated.
339         * generated/minloc1_16_i1.c: Regenerated.
340         * generated/minloc1_16_i2.c: Regenerated.
341         * generated/minloc1_16_i4.c: Regenerated.
342         * generated/minloc1_16_i8.c: Regenerated.
343         * generated/minloc1_16_r10.c: Regenerated.
344         * generated/minloc1_16_r16.c: Regenerated.
345         * generated/minloc1_16_r4.c: Regenerated.
346         * generated/minloc1_16_r8.c: Regenerated.
347         * generated/minloc1_4_i16.c: Regenerated.
348         * generated/minloc1_4_i1.c: Regenerated.
349         * generated/minloc1_4_i2.c: Regenerated.
350         * generated/minloc1_4_i4.c: Regenerated.
351         * generated/minloc1_4_i8.c: Regenerated.
352         * generated/minloc1_4_r10.c: Regenerated.
353         * generated/minloc1_4_r16.c: Regenerated.
354         * generated/minloc1_4_r4.c: Regenerated.
355         * generated/minloc1_4_r8.c: Regenerated.
356         * generated/minloc1_8_i16.c: Regenerated.
357         * generated/minloc1_8_i1.c: Regenerated.
358         * generated/minloc1_8_i2.c: Regenerated.
359         * generated/minloc1_8_i4.c: Regenerated.
360         * generated/minloc1_8_i8.c: Regenerated.
361         * generated/minloc1_8_r10.c: Regenerated.
362         * generated/minloc1_8_r16.c: Regenerated.
363         * generated/minloc1_8_r4.c: Regenerated.
364         * generated/minloc1_8_r8.c: Regenerated.
365         * generated/minval_i16.c: Regenerated.
366         * generated/minval_i1.c: Regenerated.
367         * generated/minval_i2.c: Regenerated.
368         * generated/minval_i4.c: Regenerated.
369         * generated/minval_i8.c: Regenerated.
370         * generated/minval_r10.c: Regenerated.
371         * generated/minval_r16.c: Regenerated.
372         * generated/minval_r4.c: Regenerated.
373         * generated/minval_r8.c: Regenerated.
374         * generated/norm2_r10.c: Regenerated.
375         * generated/norm2_r16.c: Regenerated.
376         * generated/norm2_r4.c: Regenerated.
377         * generated/norm2_r8.c: Regenerated.
378         * generated/parity_l16.c: Regenerated.
379         * generated/parity_l1.c: Regenerated.
380         * generated/parity_l2.c: Regenerated.
381         * generated/parity_l4.c: Regenerated.
382         * generated/parity_l8.c: Regenerated.
383         * generated/product_c10.c: Regenerated.
384         * generated/product_c16.c: Regenerated.
385         * generated/product_c4.c: Regenerated.
386         * generated/product_c8.c: Regenerated.
387         * generated/product_i16.c: Regenerated.
388         * generated/product_i1.c: Regenerated.
389         * generated/product_i2.c: Regenerated.
390         * generated/product_i4.c: Regenerated.
391         * generated/product_i8.c: Regenerated.
392         * generated/product_r10.c: Regenerated.
393         * generated/product_r16.c: Regenerated.
394         * generated/product_r4.c: Regenerated.
395         * generated/product_r8.c: Regenerated.
396         * generated/sum_c10.c: Regenerated.
397         * generated/sum_c16.c: Regenerated.
398         * generated/sum_c4.c: Regenerated.
399         * generated/sum_c8.c: Regenerated.
400         * generated/sum_i16.c: Regenerated.
401         * generated/sum_i1.c: Regenerated.
402         * generated/sum_i2.c: Regenerated.
403         * generated/sum_i4.c: Regenerated.
404         * generated/sum_i8.c: Regenerated.
405         * generated/sum_r10.c: Regenerated.
406         * generated/sum_r16.c: Regenerated.
407         * generated/sum_r4.c: Regenerated.
408         * generated/sum_r8.c: Regenerated.
410 2017-07-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
412         PR fortran/80365
413         * io/unix.c (buf_write):  Return early if there is
414         nothing to write.
416 2017-07-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
418         * intrinsics/eoshift2.c (eoshift2):  Use memcpy
419         for innermost copy where possible.
420         * m4/eoshift1.m4 (eoshift1): Likewise.
421         * m4/eoshift3.m4 (eoshift3): Likewise.
422         * generated/eoshift1_16.c: Regenerated.
423         * generated/eoshift1_4.c: Regenerated.
424         * generated/eoshift1_8.c: Regenerated.
425         * generated/eoshift3_16.c: Regenerated.
426         * generated/eoshift3_4.c: Regenerated.
427         * generated/eoshift3_8.c: Regenerated.
429 2017-07-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
431         * intrinsics/eoshift0.c:  For contiguous arrays, use
432         block algorithm.  Use memcpy where possible.
434 2017-06-26  Jim Wilson  <jim.wilson@r3-a15.aus-colo>
436         PR libfortran/81195
437         * io/unit.c (get_unit): Call __gthread_mutex_lock before newunit_stack
438         and newunit_tos references.  Call __gthread_mutex_unlock afterward.
440 2017-06-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
442         PR fortran/52473
443         * Makefile.am:  Add i_cshift1a_c.  Add rules to generate files
444         from cshift1a.m4.
445         * Makefile.in: Regenerated.
446         * m4/cshift1a.m4: New file.
447         * m4/cshift.m4 (cshift1): Split up inner loop by removing
448         condition. Use memcpy where possible.  Call helper functions
449         based on dtype.
450         * libgfortran.h: Add prototypes for cshift1_16_c10,
451         cshift1_16_c16, cshift1_16_c4, cshift1_16_c8, cshift1_16_i1,
452         cshift1_16_i16, cshift1_16_i2, cshift1_16_i4, cshift1_16_i8,
453         cshift1_16_r10, cshift1_16_r16, cshift1_16_r4, cshift1_16_r8,
454         cshift1_4_c10, cshift1_4_c16, cshift1_4_c4, cshift1_4_c8,
455         cshift1_4_i1, cshift1_4_i16, cshift1_4_i2, cshift1_4_i4,
456         cshift1_4_i8, cshift1_4_r10, cshift1_4_r16, cshift1_4_r4,
457         cshift1_4_r8, cshift1_8_c10, cshift1_8_c16, cshift1_8_c4,
458         cshift1_8_c8, cshift1_8_i1, cshift1_8_i16, cshift1_8_i2,
459         cshift1_8_i4, cshift1_8_i8, cshift1_8_r10, cshift1_8_r16,
460         cshift1_8_r4 and cshift1_8_r8.
461         * generated/cshift1_16_c10.c: New file, generated from cshift1a.m4.
462         * generated/cshift1_16_c16.c: New file, generated from cshift1a.m4.
463         * generated/cshift1_16_c4.c: New file, generated from cshift1a.m4.
464         * generated/cshift1_16_c8.c: New file, generated from cshift1a.m4.
465         * generated/cshift1_16_i1.c: New file, generated from cshift1a.m4.
466         * generated/cshift1_16_i16.c: New file, generated from cshift1a.m4.
467         * generated/cshift1_16_i2.c: New file, generated from cshift1a.m4.
468         * generated/cshift1_16_i4.c: New file, generated from cshift1a.m4.
469         * generated/cshift1_16_i8.c: New file, generated from cshift1a.m4.
470         * generated/cshift1_16_r10.c: New file, generated from cshift1a.m4.
471         * generated/cshift1_16_r16.c: New file, generated from cshift1a.m4.
472         * generated/cshift1_16_r4.c: New file, generated from cshift1a.m4.
473         * generated/cshift1_16_r8.c: New file, generated from cshift1a.m4.
474         * generated/cshift1_4_c10.c: New file, generated from cshift1a.m4.
475         * generated/cshift1_4_c16.c: New file, generated from cshift1a.m4.
476         * generated/cshift1_4_c4.c: New file, generated from cshift1a.m4.
477         * generated/cshift1_4_c8.c: New file, generated from cshift1a.m4.
478         * generated/cshift1_4_i1.c: New file, generated from cshift1a.m4.
479         * generated/cshift1_4_i16.c: New file, generated from cshift1a.m4.
480         * generated/cshift1_4_i2.c: New file, generated from cshift1a.m4.
481         * generated/cshift1_4_i4.c: New file, generated from cshift1a.m4.
482         * generated/cshift1_4_i8.c: New file, generated from cshift1a.m4.
483         * generated/cshift1_4_r10.c: New file, generated from cshift1a.m4.
484         * generated/cshift1_4_r16.c: New file, generated from cshift1a.m4.
485         * generated/cshift1_4_r4.c: New file, generated from cshift1a.m4.
486         * generated/cshift1_4_r8.c: New file, generated from cshift1a.m4.
487         * generated/cshift1_8_c10.c: New file, generated from cshift1a.m4.
488         * generated/cshift1_8_c16.c: New file, generated from cshift1a.m4.
489         * generated/cshift1_8_c4.c: New file, generated from cshift1a.m4.
490         * generated/cshift1_8_c8.c: New file, generated from cshift1a.m4.
491         * generated/cshift1_8_i1.c: New file, generated from cshift1a.m4.
492         * generated/cshift1_8_i16.c: New file, generated from cshift1a.m4.
493         * generated/cshift1_8_i2.c: New file, generated from cshift1a.m4.
494         * generated/cshift1_8_i4.c: New file, generated from cshift1a.m4.
495         * generated/cshift1_8_i8.c: New file, generated from cshift1a.m4.
496         * generated/cshift1_8_r10.c: New file, generated from cshift1a.m4.
497         * generated/cshift1_8_r16.c: New file, generated from cshift1a.m4.
498         * generated/cshift1_8_r4.c: New file, generated from cshift1a.m4.
499         * generated/cshift1_8_r8.c: New file, generated from cshift1a.m4.
501 2017-06-18  Thomas Koenig  <tkoenig@gcc.gnu.org>
503         PR fortran/52473
504         * m4/cshift0.m4:  For arrays that are contiguous up to
505         shift, implement blocked algorighm for cshift.
506         * generated/cshift0_c10.c:  Regenerated.
507         * generated/cshift0_c16.c:  Regenerated.
508         * generated/cshift0_c4.c:  Regenerated.
509         * generated/cshift0_c8.c:  Regenerated.
510         * generated/cshift0_i1.c:  Regenerated.
511         * generated/cshift0_i16.c:  Regenerated.
512         * generated/cshift0_i2.c:  Regenerated.
513         * generated/cshift0_i4.c:  Regenerated.
514         * generated/cshift0_i8.c:  Regenerated.
515         * generated/cshift0_r10.c:  Regenerated.
516         * generated/cshift0_r16.c:  Regenerated.
517         * generated/cshift0_r4.c:  Regenerated.
518         * generated/cshift0_r8.c:  Regenerated.
520 2017-06-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
522         PR fortran/80975
523         * m4/matmul_internal.m4:  Move zeroing before early return.
524         * generated/matmul_c10.c: Regenerated.
525         * generated/matmul_c16.c: Regenerated.
526         * generated/matmul_c4.c: Regenerated.
527         * generated/matmul_c8.c: Regenerated.
528         * generated/matmul_i1.c: Regenerated.
529         * generated/matmul_i16.c: Regenerated.
530         * generated/matmul_i2.c: Regenerated.
531         * generated/matmul_i4.c: Regenerated.
532         * generated/matmul_i8.c: Regenerated.
533         * generated/matmul_r10.c: Regenerated.
534         * generated/matmul_r16.c: Regenerated.
535         * generated/matmul_r4.c: Regenerated.
536         * generated/matmul_r8.c: Regenerated.
537         * generated/matmulavx128_c10.c: Regenerated.
538         * generated/matmulavx128_c16.c: Regenerated.
539         * generated/matmulavx128_c4.c: Regenerated.
540         * generated/matmulavx128_c8.c: Regenerated.
541         * generated/matmulavx128_i1.c: Regenerated.
542         * generated/matmulavx128_i16.c: Regenerated.
543         * generated/matmulavx128_i2.c: Regenerated.
544         * generated/matmulavx128_i4.c: Regenerated.
545         * generated/matmulavx128_i8.c: Regenerated.
546         * generated/matmulavx128_r10.c: Regenerated.
547         * generated/matmulavx128_r16.c: Regenerated.
548         * generated/matmulavx128_r4.c: Regenerated.
549         * generated/matmulavx128_r8.c: Regenerated.
551 2017-05-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
553         PR libgfortran/53029
554         * list_read.c (list_formatted_read_scala): Set the err return
555         value to the common.flags error values.
557 2017-05-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
559         * acinclude.m4 (LIBGFOR_CHECK_FMA3): Use test from
560         check_effective_target_fma in gcc.target/i386/i386.exp.
561         (LIBGFOR_CHECK_FMA4): Use test from check_effective_target_fma4.
562         * configure: Regenerate.
564 2017-05-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
566         PR boostrap/80889
567         * acinclude.m4: Also set HAVE_AVX128 on the false
568         branch of LIBGFOR_CHECK_AVX128.
569         * configure:  Regenerated.
571 2017-05-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
573         PR libfortran/78379
574         * Makefile.am: Add generated/matmulavx128_*.c files.
575         Handle them for compiling and setting the right flags.
576         * acinclude.m4: Add tests for FMA3, FMA4 and AVX128.
577         * configure.ac: Call them.
578         * Makefile.in: Regenerated.
579         * config.h.in: Regenerated.
580         * configure: Regenerated.
581         * m4/matmul.m4:  Handle AMD chips by calling 128-bit AVX
582         versions which use FMA3 or FMA4.
583         * m4/matmulavx128.m4: New file.
584         * generated/matmul_c10.c: Regenerated.
585         * generated/matmul_c16.c: Regenerated.
586         * generated/matmul_c4.c: Regenerated.
587         * generated/matmul_c8.c: Regenerated.
588         * generated/matmul_i1.c: Regenerated.
589         * generated/matmul_i16.c: Regenerated.
590         * generated/matmul_i2.c: Regenerated.
591         * generated/matmul_i4.c: Regenerated.
592         * generated/matmul_i8.c: Regenerated.
593         * generated/matmul_r10.c: Regenerated.
594         * generated/matmul_r16.c: Regenerated.
595         * generated/matmul_r4.c: Regenerated.
596         * generated/matmul_r8.c: Regenerated.
597         * generated/matmulavx128_c10.c: New file.
598         * generated/matmulavx128_c16.c: New file.
599         * generated/matmulavx128_c4.c: New file.
600         * generated/matmulavx128_c8.c: New file.
601         * generated/matmulavx128_i1.c: New file.
602         * generated/matmulavx128_i16.c: New file.
603         * generated/matmulavx128_i2.c: New file.
604         * generated/matmulavx128_i4.c: New file.
605         * generated/matmulavx128_i8.c: New file.
606         * generated/matmulavx128_r10.c: New file.
607         * generated/matmulavx128_r16.c: New file.
608         * generated/matmulavx128_r4.c: New file.
609         * generated/matmulavx128_r8.c: New file.
611 2017-05-19  Paul Thomas  <pault@gcc.gnu.org>
612             Jerry DeLisle  <jvdelisle@gcc.gnu.org>
614         PR fortran/80333
615         * list_read.c (nml_read_obj): Compute pointer into class/type
616         arrays from the nl->dim information. Update it for each iteration
617         of the loop for the given object.
619 2017-05-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
621         PR libgfortran/80741
622         * transfer.c (finalize_transfer): Reset last_char to 'empty'.
623         * file_pos.c (formatted_backspace): Likewise.
624         (st_endfile): Likewise.
625         (st_rewind): Likewise.
626         (st_flush): Likewise.
628 2017-05-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
630         PR libgfortran/80727
631         * transfer.c (read_sf_internal): Remove bogus code to detect EOR.
632         (read_block_form): For internal units, generate EOR if no more
633         bytes left in unit and we are trying to read with ADVANCE='NO'.
635 2017-05-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
637         PR fortran/80765
638         * m4/matmul_internal.m4: Set bystride to correct value in
639         vector-matrix multiplicatin for later calculation of buffer
640         size.
641         * generated/matmul_c10.c: Regenerated.
642         * generated/matmul_c16.c: Regenerated.
643         * generated/matmul_c4.c: Regenerated.
644         * generated/matmul_c8.c: Regenerated.
645         * generated/matmul_i1.c: Regenerated.
646         * generated/matmul_i16.c: Regenerated.
647         * generated/matmul_i2.c: Regenerated.
648         * generated/matmul_i4.c: Regenerated.
649         * generated/matmul_i8.c: Regenerated.
650         * generated/matmul_r10.c: Regenerated.
651         * generated/matmul_r16.c: Regenerated.
652         * generated/matmul_r4.c: Regenerated.
653         * generated/matmul_r8.c: Regenerated.
655 2017-05-12  Thomas Schwinge  <thomas@codesourcery.com>
657         * runtime/environ.c (weak_secure_getenv): Fix "__secure_gettime"
658         vs. "__secure_getenv" typo.
659         (secure_getenv): Fix "HAVE__SECURE_GETENV"
660         vs. "HAVE___SECURE_GETENV" typo.
662 2017-05-11  Janne Blomqvist  <jb@gcc.gnu.org>
664         * libgfortran.h: HAVE_SECURE_GETENV: Don't check
665         HAVE___SECURE_GETENV.
666         * environ/runtime.c (secure_getenv): Use __secure_getenv via a
667         weak reference.
669 2017-05-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
671         PR fortran/80687
672         PR fortran/80696
673         * m4/matmul_internal.m4:  'matmul_name`:  Always
674         use malloc/free to allocate t1.
675         * generated/matmul_c10.c: Regenerated.
676         * generated/matmul_c16.c: Regenerated.
677         * generated/matmul_c4.c: Regenerated.
678         * generated/matmul_c8.c: Regenerated.
679         * generated/matmul_i1.c: Regenerated.
680         * generated/matmul_i16.c: Regenerated.
681         * generated/matmul_i2.c: Regenerated.
682         * generated/matmul_i4.c: Regenerated.
683         * generated/matmul_i8.c: Regenerated.
684         * generated/matmul_r10.c: Regenerated.
685         * generated/matmul_r16.c: Regenerated.
686         * generated/matmul_r4.c: Regenerated.
687         * generated/matmul_r8.c: Regenerated.
689 2017-05-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
691         PR fortran/80602
692         * m4/matmul_internal.m4:  'matmul_name`:  Change
693         t1 to a VLA of the required size.
694         * generated/matmul_c10.c: Regenerated.
695         * generated/matmul_c16.c: Regenerated.
696         * generated/matmul_c4.c: Regenerated.
697         * generated/matmul_c8.c: Regenerated.
698         * generated/matmul_i1.c: Regenerated.
699         * generated/matmul_i16.c: Regenerated.
700         * generated/matmul_i2.c: Regenerated.
701         * generated/matmul_i4.c: Regenerated.
702         * generated/matmul_i8.c: Regenerated.
703         * generated/matmul_r10.c: Regenerated.
704         * generated/matmul_r16.c: Regenerated.
705         * generated/matmul_r4.c: Regenerated.
706         * generated/matmul_r8.c: Regenerated.
708 2017-04-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
710         * close.c: Fix white space in pointer declarations and comment
711         formats where applicable.
712         * fbuf.c: Likewise.
713         * fbuf.h: Likewise.
714         * format.c: Likewise.
715         * inquire.c: Likewise.
716         * intrinsics.c: Likewise.
717         * list_read.c: Likewise.
718         * lock.c: Likewise.
719         * open.c: Likewise.
720         * read.c: Likewise.
721         * transfer.c: Likewise.
722         * unit.c: Likewise.
723         * unix.c: Likewise.
724         * unix.h: Likewise.
725         * write.c: Likewise.
727 2017-03-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
729         PR libgfortran/78670
730         * io/list_read.c (nml_get_obj_data): Delete code which calls the
731         child read procedure. (nml_read_obj): Insert the code which
732         calls the child procedure. Don't need to touch nodes if using
733         dtio since parent will not be traversing the components.
735 2017-03-28  Janus Weil  <janus@gcc.gnu.org>
737         PR fortran/78661
738         * io/write.c (nml_write_obj): Build a class container only if necessary.
740 2017-03-27  Dominique d'Humieres  <dominiq@lps.ens.fr>
742         * io/list_read.c: Insert /* Fall through. */ in the macro
743         CASE_SEPARATORS in order to silence warnings.
745 2017-03-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
747         PR libgfortran/78881
748         * io/io.h (st_parameter_dt): Rename unused component last_char to
749         child_saved_iostat. Move comment to gfc_unit.
750         * io/list_read.c (list_formatted_read_scalar): After call to
751         child READ procedure, save the returned iostat value for later
752         check. (finish_list_read): Only finish READ if child_saved_iostat
753         was OK.
754         * io/transfer.c (read_sf_internal): If there is a saved character
755         in last character, seek back one. Add a new check for EOR
756         condition. (read_sf): If there is a saved character
757         in last character, seek back one. (formatted_transfer_scalar_read):
758         Initialize last character before invoking child procedure.
759         (data_transfer_init): If child dtio, set advance
760         status to nonadvancing. Move update of size and check for EOR
761         condition to before child dtio return.
763 2017-03-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
765         PR libfortran/79956
766         * m4/reshape.m4 (reshape_'rtype_ccode`):  Correct use
767         of GFC_ASSERT.
768         * generated/reshape_c10.c: Regenerated.
769         * generated/reshape_c16.c: Regenerated.
770         * generated/reshape_c4.c: Regenerated.
771         * generated/reshape_c8.c: Regenerated.
772         * generated/reshape_i16.c: Regenerated.
773         * generated/reshape_i4.c: Regenerated.
774         * generated/reshape_i8.c: Regenerated.
775         * generated/reshape_r10.c: Regenerated.
776         * generated/reshape_r16.c: Regenerated.
777         * generated/reshape_r4.c: Regenerated.
778         * generated/reshape_r8.c: Regenerated.
780 2017-03-15  NightStrike  <nightstrike@gmail.com>
781             Janne Blomqvist  <jb@gcc.gnu.org>
783         * intrinsics/random.c (getosrandom): Remove check for __CYGWIN__
784         preprocessor flag.
785         * intrinsics/system_clock.c: Likewise.
786         (system_clock_4): Likewise.
787         (system_clock_8): Likewise.
788         * intrinsics/time_1.h: Don't include windows.h if __CYGWIN__ is
789         defined.
791 2017-03-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
793         PR libfortran/79956
794         * libgfortran.h (GFC_ASSERT):  New macro.
795         * m4/reshape.m4 (reshape_'rtype_ccode`):  Use GFC_ASSERT
796         to specify that sdim > 0 and rdim > 0.
797         * intrinsic/reshape_generic.c (reshape_internal):  Likweise.
798         * generated/reshape_c10.c: Regenerated.
799         * generated/reshape_c16.c: Regenerated.
800         * generated/reshape_c4.c: Regenerated.
801         * generated/reshape_c8.c: Regenerated.
802         * generated/reshape_i16.c: Regenerated.
803         * generated/reshape_i4.c: Regenerated.
804         * generated/reshape_i8.c: Regenerated.
805         * generated/reshape_r10.c: Regenerated.
806         * generated/reshape_r16.c: Regenerated.
807         * generated/reshape_r4.c: Regenerated.
808         * generated/reshape_r8.c: Regenerated.
810 2017-03-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
812         PR libgfortran/78854
813         * io/list_read.c (nml_get_obj_data): Stash internal unit for
814         later use by child procedures.
815         * io/write.c (nml_write_obj): Likewise.
816         * io/tranfer.c (data_transfer_init): Minor whitespace.
817         * io/unit.c (set_internal_uit): Look for the stashed internal
818         unit and use it if found.
820 2017-03-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
822         PR libfortran/79956
823         * m4/iforeach.m4:  Change exit condition from loop for
824         increasing dimension to >=.  Fix type in comment.
825         * m4/ifunction.m4:  Likewise.
826         * m4/ifunction_logical.m4: Likewise.
827         * generated/all_l1.c: Regenerated.
828         * generated/all_l16.c: Regenerated.
829         * generated/all_l2.c: Regenerated.
830         * generated/all_l4.c: Regenerated.
831         * generated/all_l8.c: Regenerated.
832         * generated/any_l1.c: Regenerated.
833         * generated/any_l16.c: Regenerated.
834         * generated/any_l2.c: Regenerated.
835         * generated/any_l4.c: Regenerated.
836         * generated/any_l8.c: Regenerated.
837         * generated/count_16_l.c: Regenerated.
838         * generated/count_1_l.c: Regenerated.
839         * generated/count_2_l.c: Regenerated.
840         * generated/count_4_l.c: Regenerated.
841         * generated/count_8_l.c: Regenerated.
842         * generated/iall_i1.c: Regenerated.
843         * generated/iall_i16.c: Regenerated.
844         * generated/iall_i2.c: Regenerated.
845         * generated/iall_i4.c: Regenerated.
846         * generated/iall_i8.c: Regenerated.
847         * generated/iany_i1.c: Regenerated.
848         * generated/iany_i16.c: Regenerated.
849         * generated/iany_i2.c: Regenerated.
850         * generated/iany_i4.c: Regenerated.
851         * generated/iany_i8.c: Regenerated.
852         * generated/iparity_i1.c: Regenerated.
853         * generated/iparity_i16.c: Regenerated.
854         * generated/iparity_i2.c: Regenerated.
855         * generated/iparity_i4.c: Regenerated.
856         * generated/iparity_i8.c: Regenerated.
857         * generated/maxloc0_16_i1.c: Regenerated.
858         * generated/maxloc0_16_i16.c: Regenerated.
859         * generated/maxloc0_16_i2.c: Regenerated.
860         * generated/maxloc0_16_i4.c: Regenerated.
861         * generated/maxloc0_16_i8.c: Regenerated.
862         * generated/maxloc0_16_r10.c: Regenerated.
863         * generated/maxloc0_16_r16.c: Regenerated.
864         * generated/maxloc0_16_r4.c: Regenerated.
865         * generated/maxloc0_16_r8.c: Regenerated.
866         * generated/maxloc0_4_i1.c: Regenerated.
867         * generated/maxloc0_4_i16.c: Regenerated.
868         * generated/maxloc0_4_i2.c: Regenerated.
869         * generated/maxloc0_4_i4.c: Regenerated.
870         * generated/maxloc0_4_i8.c: Regenerated.
871         * generated/maxloc0_4_r10.c: Regenerated.
872         * generated/maxloc0_4_r16.c: Regenerated.
873         * generated/maxloc0_4_r4.c: Regenerated.
874         * generated/maxloc0_4_r8.c: Regenerated.
875         * generated/maxloc0_8_i1.c: Regenerated.
876         * generated/maxloc0_8_i16.c: Regenerated.
877         * generated/maxloc0_8_i2.c: Regenerated.
878         * generated/maxloc0_8_i4.c: Regenerated.
879         * generated/maxloc0_8_i8.c: Regenerated.
880         * generated/maxloc0_8_r10.c: Regenerated.
881         * generated/maxloc0_8_r16.c: Regenerated.
882         * generated/maxloc0_8_r4.c: Regenerated.
883         * generated/maxloc0_8_r8.c: Regenerated.
884         * generated/maxloc1_16_i1.c: Regenerated.
885         * generated/maxloc1_16_i16.c: Regenerated.
886         * generated/maxloc1_16_i2.c: Regenerated.
887         * generated/maxloc1_16_i4.c: Regenerated.
888         * generated/maxloc1_16_i8.c: Regenerated.
889         * generated/maxloc1_16_r10.c: Regenerated.
890         * generated/maxloc1_16_r16.c: Regenerated.
891         * generated/maxloc1_16_r4.c: Regenerated.
892         * generated/maxloc1_16_r8.c: Regenerated.
893         * generated/maxloc1_4_i1.c: Regenerated.
894         * generated/maxloc1_4_i16.c: Regenerated.
895         * generated/maxloc1_4_i2.c: Regenerated.
896         * generated/maxloc1_4_i4.c: Regenerated.
897         * generated/maxloc1_4_i8.c: Regenerated.
898         * generated/maxloc1_4_r10.c: Regenerated.
899         * generated/maxloc1_4_r16.c: Regenerated.
900         * generated/maxloc1_4_r4.c: Regenerated.
901         * generated/maxloc1_4_r8.c: Regenerated.
902         * generated/maxloc1_8_i1.c: Regenerated.
903         * generated/maxloc1_8_i16.c: Regenerated.
904         * generated/maxloc1_8_i2.c: Regenerated.
905         * generated/maxloc1_8_i4.c: Regenerated.
906         * generated/maxloc1_8_i8.c: Regenerated.
907         * generated/maxloc1_8_r10.c: Regenerated.
908         * generated/maxloc1_8_r16.c: Regenerated.
909         * generated/maxloc1_8_r4.c: Regenerated.
910         * generated/maxloc1_8_r8.c: Regenerated.
911         * generated/maxval_i1.c: Regenerated.
912         * generated/maxval_i16.c: Regenerated.
913         * generated/maxval_i2.c: Regenerated.
914         * generated/maxval_i4.c: Regenerated.
915         * generated/maxval_i8.c: Regenerated.
916         * generated/maxval_r10.c: Regenerated.
917         * generated/maxval_r16.c: Regenerated.
918         * generated/maxval_r4.c: Regenerated.
919         * generated/maxval_r8.c: Regenerated.
920         * generated/minloc0_16_i1.c: Regenerated.
921         * generated/minloc0_16_i16.c: Regenerated.
922         * generated/minloc0_16_i2.c: Regenerated.
923         * generated/minloc0_16_i4.c: Regenerated.
924         * generated/minloc0_16_i8.c: Regenerated.
925         * generated/minloc0_16_r10.c: Regenerated.
926         * generated/minloc0_16_r16.c: Regenerated.
927         * generated/minloc0_16_r4.c: Regenerated.
928         * generated/minloc0_16_r8.c: Regenerated.
929         * generated/minloc0_4_i1.c: Regenerated.
930         * generated/minloc0_4_i16.c: Regenerated.
931         * generated/minloc0_4_i2.c: Regenerated.
932         * generated/minloc0_4_i4.c: Regenerated.
933         * generated/minloc0_4_i8.c: Regenerated.
934         * generated/minloc0_4_r10.c: Regenerated.
935         * generated/minloc0_4_r16.c: Regenerated.
936         * generated/minloc0_4_r4.c: Regenerated.
937         * generated/minloc0_4_r8.c: Regenerated.
938         * generated/minloc0_8_i1.c: Regenerated.
939         * generated/minloc0_8_i16.c: Regenerated.
940         * generated/minloc0_8_i2.c: Regenerated.
941         * generated/minloc0_8_i4.c: Regenerated.
942         * generated/minloc0_8_i8.c: Regenerated.
943         * generated/minloc0_8_r10.c: Regenerated.
944         * generated/minloc0_8_r16.c: Regenerated.
945         * generated/minloc0_8_r4.c: Regenerated.
946         * generated/minloc0_8_r8.c: Regenerated.
947         * generated/minloc1_16_i1.c: Regenerated.
948         * generated/minloc1_16_i16.c: Regenerated.
949         * generated/minloc1_16_i2.c: Regenerated.
950         * generated/minloc1_16_i4.c: Regenerated.
951         * generated/minloc1_16_i8.c: Regenerated.
952         * generated/minloc1_16_r10.c: Regenerated.
953         * generated/minloc1_16_r16.c: Regenerated.
954         * generated/minloc1_16_r4.c: Regenerated.
955         * generated/minloc1_16_r8.c: Regenerated.
956         * generated/minloc1_4_i1.c: Regenerated.
957         * generated/minloc1_4_i16.c: Regenerated.
958         * generated/minloc1_4_i2.c: Regenerated.
959         * generated/minloc1_4_i4.c: Regenerated.
960         * generated/minloc1_4_i8.c: Regenerated.
961         * generated/minloc1_4_r10.c: Regenerated.
962         * generated/minloc1_4_r16.c: Regenerated.
963         * generated/minloc1_4_r4.c: Regenerated.
964         * generated/minloc1_4_r8.c: Regenerated.
965         * generated/minloc1_8_i1.c: Regenerated.
966         * generated/minloc1_8_i16.c: Regenerated.
967         * generated/minloc1_8_i2.c: Regenerated.
968         * generated/minloc1_8_i4.c: Regenerated.
969         * generated/minloc1_8_i8.c: Regenerated.
970         * generated/minloc1_8_r10.c: Regenerated.
971         * generated/minloc1_8_r16.c: Regenerated.
972         * generated/minloc1_8_r4.c: Regenerated.
973         * generated/minloc1_8_r8.c: Regenerated.
974         * generated/minval_i1.c: Regenerated.
975         * generated/minval_i16.c: Regenerated.
976         * generated/minval_i2.c: Regenerated.
977         * generated/minval_i4.c: Regenerated.
978         * generated/minval_i8.c: Regenerated.
979         * generated/minval_r10.c: Regenerated.
980         * generated/minval_r16.c: Regenerated.
981         * generated/minval_r4.c: Regenerated.
982         * generated/minval_r8.c: Regenerated.
983         * generated/norm2_r10.c: Regenerated.
984         * generated/norm2_r16.c: Regenerated.
985         * generated/norm2_r4.c: Regenerated.
986         * generated/norm2_r8.c: Regenerated.
987         * generated/parity_l1.c: Regenerated.
988         * generated/parity_l16.c: Regenerated.
989         * generated/parity_l2.c: Regenerated.
990         * generated/parity_l4.c: Regenerated.
991         * generated/parity_l8.c: Regenerated.
992         * generated/product_c10.c: Regenerated.
993         * generated/product_c16.c: Regenerated.
994         * generated/product_c4.c: Regenerated.
995         * generated/product_c8.c: Regenerated.
996         * generated/product_i1.c: Regenerated.
997         * generated/product_i16.c: Regenerated.
998         * generated/product_i2.c: Regenerated.
999         * generated/product_i4.c: Regenerated.
1000         * generated/product_i8.c: Regenerated.
1001         * generated/product_r10.c: Regenerated.
1002         * generated/product_r16.c: Regenerated.
1003         * generated/product_r4.c: Regenerated.
1004         * generated/product_r8.c: Regenerated.
1005         * generated/sum_c10.c: Regenerated.
1006         * generated/sum_c16.c: Regenerated.
1007         * generated/sum_c4.c: Regenerated.
1008         * generated/sum_c8.c: Regenerated.
1009         * generated/sum_i1.c: Regenerated.
1010         * generated/sum_i16.c: Regenerated.
1011         * generated/sum_i2.c: Regenerated.
1012         * generated/sum_i4.c: Regenerated.
1013         * generated/sum_i8.c: Regenerated.
1014         * generated/sum_r10.c: Regenerated.
1015         * generated/sum_r16.c: Regenerated.
1016         * generated/sum_r4.c: Regenerated.
1017         * generated/sum_r8.c: Regenerated.
1019 2017-03-05  Andre Vehreschild  <vehre@gcc.gnu.org>
1020             Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
1022         * caf/libcaf.h: Added prototypes and stat codes for failed and stopped
1023         images.
1024         * caf/single.c (void _gfortran_caf_fail_image): Add the routine.
1025         (int _gfortran_caf_image_status): Same.
1026         (_gfortran_caf_failed_images): Same.
1027         (_gfortran_caf_stopped_images): Same.
1029 2017-03-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
1030             Jakub Jelinek  <jakub@redhat.com>
1032         * m4/matmul.m4 (matmul_'rtype_code`):  Avoid
1033         race condition on storing function pointer.
1034         * generated/matmul_c10.c: Regenerated.
1035         * generated/matmul_c16.c: Regenerated.
1036         * generated/matmul_c4.c: Regenerated.
1037         * generated/matmul_c8.c: Regenerated.
1038         * generated/matmul_i1.c: Regenerated.
1039         * generated/matmul_i16.c: Regenerated.
1040         * generated/matmul_i2.c: Regenerated.
1041         * generated/matmul_i4.c: Regenerated.
1042         * generated/matmul_i8.c: Regenerated.
1043         * generated/matmul_r10.c: Regenerated.
1044         * generated/matmul_r16.c: Regenerated.
1045         * generated/matmul_r4.c: Regenerated.
1046         * generated/matmul_r8.c: Regenerated.
1048 2017-03-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
1050         PR fortran/78379
1051         * m4/matmul.m4: (matmul_'rtype_code`_avx2): Also generate for
1052         reals.  Add fma to target options.
1053         (matmul_'rtype_code`):  Call AVX2 only if FMA is available.
1054         * generated/matmul_c10.c: Regenerated.
1055         * generated/matmul_c16.c: Regenerated.
1056         * generated/matmul_c4.c: Regenerated.
1057         * generated/matmul_c8.c: Regenerated.
1058         * generated/matmul_i1.c: Regenerated.
1059         * generated/matmul_i16.c: Regenerated.
1060         * generated/matmul_i2.c: Regenerated.
1061         * generated/matmul_i4.c: Regenerated.
1062         * generated/matmul_i8.c: Regenerated.
1063         * generated/matmul_r10.c: Regenerated.
1064         * generated/matmul_r16.c: Regenerated.
1065         * generated/matmul_r4.c: Regenerated.
1066         * generated/matmul_r8.c: Regenerated.
1068 2017-02-27  Janne Blomqvist  <jb@gcc.gnu.org>
1070         * intrinsics/random.c (getosrandom): Don't try to use rand_s on
1071         CYGWIN.
1073 2017-02-16  Paul Thomas  <pault@gcc.gnu.org>
1075         PR fortran/79382
1076         * io/transfer.c (check_dtio_proc): New function.
1077         (formatted_transfer_scalar_read): Use it.
1078         (formatted_transfer_scalar_write): ditto.
1080 2017-01-31  Steven G. Kargl  <kargl@gcc.gnu.org>
1082         PR fortran/79305
1083         * c99_protos.h: Spell HAVE_EXPL correctly.
1084         * intrinsics/c99_functions.c: Ditto.
1086 2017-01-19  Uros Bizjak  <ubizjak@gmail.com>
1088         PR target/78478
1089         * acinclude.m4: Include ../config/ax_check_define.m4
1090         * configure.ac: Check if _SOFT_FLOAT is defined.
1091         * configure.host (i?86 | x86_64): Use fpu-generic when
1092         have_soft_float is set.
1093         * configure: Regenerate.
1095 2017-01-19  Jakub Jelinek  <jakub@redhat.com>
1097         PR target/79127
1098         * acinclude.m4 (LIBGFOR_CHECK_AVX512F): Ensure the test clobbers
1099         some zmm16+ registers to verify they are handled by unwind info
1100         properly if needed.
1101         * configure: Regenerated.
1103 2017-01-17  Jakub Jelinek  <jakub@redhat.com>
1105         PR other/79046
1106         * configure.ac: Add GCC_BASE_VER.
1107         * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
1108         get version from BASE-VER file.
1109         * configure: Regenerated.
1110         * Makefile.in: Regenerated.
1112 2017-01-13  Andre Vehreschild  <vehre@gcc.gnu.org>
1114         PR fortran/70696
1115         * caf/single.c (_gfortran_caf_register): Allocate enough memory for
1116         the event counter.
1118 2017-01-07  Andre Vehreschild  <vehre@gcc.gnu.org>
1120         PR fortran/78781
1121         PR fortran/78935
1122         * caf/single.c (send_by_ref): Fix addressing of non-allocatable scalar
1123         destination components.
1125 2017-01-01  Jakub Jelinek  <jakub@redhat.com>
1127         Update copyright years.
1129 Copyright (C) 2017 Free Software Foundation, Inc.
1131 Copying and distribution of this file, with or without modification,
1132 are permitted in any medium without royalty provided the copyright
1133 notice and this notice are preserved.