tree-vrp.h: Add include guard.
[gcc.git] / libgfortran / ChangeLog
1 2017-07-31 Thomas Koenig <tkoenig@gcc.gnu.org>
2
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.
131
132 2017-07-24 Thomas Koenig <tkoenig@gcc.gnu.org>
133
134 PR fortran/80365
135 * io/unix.c (buf_write): Return early if there is
136 nothing to write.
137
138 2017-07-09 Thomas Koenig <tkoenig@gcc.gnu.org>
139
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.
150
151 2017-07-02 Thomas Koenig <tkoenig@gcc.gnu.org>
152
153 * intrinsics/eoshift0.c: For contiguous arrays, use
154 block algorithm. Use memcpy where possible.
155
156 2017-06-26 Jim Wilson <jim.wilson@r3-a15.aus-colo>
157
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.
161
162 2017-06-24 Thomas Koenig <tkoenig@gcc.gnu.org>
163
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.
222
223 2017-06-18 Thomas Koenig <tkoenig@gcc.gnu.org>
224
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.
241
242 2017-06-06 Thomas Koenig <tkoenig@gcc.gnu.org>
243
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.
272
273 2017-05-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
274
275 PR libgfortran/53029
276 * list_read.c (list_formatted_read_scala): Set the err return
277 value to the common.flags error values.
278
279 2017-05-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
280
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.
285
286 2017-05-26 Thomas Koenig <tkoenig@gcc.gnu.org>
287
288 PR boostrap/80889
289 * acinclude.m4: Also set HAVE_AVX128 on the false
290 branch of LIBGFOR_CHECK_AVX128.
291 * configure: Regenerated.
292
293 2017-05-25 Thomas Koenig <tkoenig@gcc.gnu.org>
294
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.
332
333 2017-05-19 Paul Thomas <pault@gcc.gnu.org>
334 Jerry DeLisle <jvdelisle@gcc.gnu.org>
335
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.
340
341 2017-05-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
342
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.
349
350 2017-05-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
351
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'.
356
357 2017-05-15 Thomas Koenig <tkoenig@gcc.gnu.org>
358
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.
376
377 2017-05-12 Thomas Schwinge <thomas@codesourcery.com>
378
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.
383
384 2017-05-11 Janne Blomqvist <jb@gcc.gnu.org>
385
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.
390
391 2017-05-10 Thomas Koenig <tkoenig@gcc.gnu.org>
392
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.
410
411 2017-05-08 Thomas Koenig <tkoenig@gcc.gnu.org>
412
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.
429
430 2017-04-11 Jerry DeLisle <jvdelisle@gcc.gnu.org>
431
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.
448
449 2017-03-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
450
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.
456
457 2017-03-28 Janus Weil <janus@gcc.gnu.org>
458
459 PR fortran/78661
460 * io/write.c (nml_write_obj): Build a class container only if necessary.
461
462 2017-03-27 Dominique d'Humieres <dominiq@lps.ens.fr>
463
464 * io/list_read.c: Insert /* Fall through. */ in the macro
465 CASE_SEPARATORS in order to silence warnings.
466
467 2017-03-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
468
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.
484
485 2017-03-17 Thomas Koenig <tkoenig@gcc.gnu.org>
486
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.
501
502 2017-03-15 NightStrike <nightstrike@gmail.com>
503 Janne Blomqvist <jb@gcc.gnu.org>
504
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.
512
513 2017-03-10 Thomas Koenig <tkoenig@gcc.gnu.org>
514
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.
531
532 2017-03-11 Jerry DeLisle <jvdelisle@gcc.gnu.org>
533
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.
541
542 2017-03-10 Thomas Koenig <tkoenig@gcc.gnu.org>
543
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.
740
741 2017-03-05 Andre Vehreschild <vehre@gcc.gnu.org>
742 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
743
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.
750
751 2017-03-02 Thomas Koenig <tkoenig@gcc.gnu.org>
752 Jakub Jelinek <jakub@redhat.com>
753
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.
769
770 2017-03-02 Thomas Koenig <tkoenig@gcc.gnu.org>
771
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.
789
790 2017-02-27 Janne Blomqvist <jb@gcc.gnu.org>
791
792 * intrinsics/random.c (getosrandom): Don't try to use rand_s on
793 CYGWIN.
794
795 2017-02-16 Paul Thomas <pault@gcc.gnu.org>
796
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.
801
802 2017-01-31 Steven G. Kargl <kargl@gcc.gnu.org>
803
804 PR fortran/79305
805 * c99_protos.h: Spell HAVE_EXPL correctly.
806 * intrinsics/c99_functions.c: Ditto.
807
808 2017-01-19 Uros Bizjak <ubizjak@gmail.com>
809
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.
816
817 2017-01-19 Jakub Jelinek <jakub@redhat.com>
818
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.
824
825 2017-01-17 Jakub Jelinek <jakub@redhat.com>
826
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.
833
834 2017-01-13 Andre Vehreschild <vehre@gcc.gnu.org>
835
836 PR fortran/70696
837 * caf/single.c (_gfortran_caf_register): Allocate enough memory for
838 the event counter.
839
840 2017-01-07 Andre Vehreschild <vehre@gcc.gnu.org>
841
842 PR fortran/78781
843 PR fortran/78935
844 * caf/single.c (send_by_ref): Fix addressing of non-allocatable scalar
845 destination components.
846
847 2017-01-01 Jakub Jelinek <jakub@redhat.com>
848
849 Update copyright years.
850 \f
851 Copyright (C) 2017 Free Software Foundation, Inc.
852
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.