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