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