1 2023-12-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
4 * libgfortran.spec.in: Remove duplicate libraries.
6 2023-12-18 Harald Anlauf <anlauf@gmx.de>
9 * intrinsics/date_and_time.c (date_and_time): Handle VALUES argument
10 for kind=2 and kind=16 (if available).
12 2023-12-11 Lipeng Zhu <lipeng.zhu@intel.com>
14 * io/async.c (DEBUG_LINE): New macro.
15 * io/async.h (RWLOCK_DEBUG_ADD): New macro.
16 (CHECK_RDLOCK): New macro.
17 (CHECK_WRLOCK): New macro.
18 (TAIL_RWLOCK_DEBUG_QUEUE): New macro.
19 (IN_RWLOCK_DEBUG_QUEUE): New macro.
22 (RWUNLOCK): New macro.
23 (RD_TO_WRLOCK): New macro.
24 (INTERN_RDLOCK): New macro.
25 (INTERN_WRLOCK): New macro.
26 (INTERN_RWUNLOCK): New macro.
27 * io/io.h (struct gfc_unit): Change UNIT_LOCK to UNIT_RWLOCK in
29 (unit_lock): Remove including associated internal_proto.
30 (unit_rwlock): New declarations including associated internal_proto.
31 (dec_waiting_unlocked): Use WRLOCK and RWUNLOCK on unit_rwlock
32 instead of __gthread_mutex_lock and __gthread_mutex_unlock on
34 * io/transfer.c (st_read_done_worker): Use WRLOCK and RWUNLOCK on
35 unit_rwlock instead of LOCK and UNLOCK on unit_lock.
36 (st_write_done_worker): Likewise.
37 * io/unit.c: Change UNIT_LOCK to UNIT_RWLOCK in 'IO locking rules'
38 comment. Use unit_rwlock variable instead of unit_lock variable.
39 (get_gfc_unit_from_unit_root): New function.
40 (get_gfc_unit): Use RDLOCK, WRLOCK and RWUNLOCK on unit_rwlock
41 instead of LOCK and UNLOCK on unit_lock.
42 (close_unit_1): Use WRLOCK and RWUNLOCK on unit_rwlock instead of
43 LOCK and UNLOCK on unit_lock.
44 (close_units): Likewise.
45 (newunit_alloc): Use RWUNLOCK on unit_rwlock instead of UNLOCK on
47 * io/unix.c (find_file): Use RDLOCK and RWUNLOCK on unit_rwlock
48 instead of LOCK and UNLOCK on unit_lock.
49 (flush_all_units): Use WRLOCK and RWUNLOCK on unit_rwlock instead
50 of LOCK and UNLOCK on unit_lock.
52 2023-12-05 Florian Weimer <fweimer@redhat.com>
53 Jakub Jelinek <jakub@redhat.com>
55 * io/list_read.c (list_formatted_read_scalar) <case BT_CLASS>:
56 Change types of unit and noiostat to GFC_INTEGER_4 from int, change
57 type of child_iostat from to GFC_INTEGER_4 * from int *, formatting
59 (nml_read_obj): Likewise.
60 * io/write.c (list_formatted_write_scalar) <case BT_CLASS>: Likewise.
61 (nml_write_obj): Likewise.
62 * io/transfer.c (unformatted_read, unformatted_write): Likewise.
64 2023-11-08 Mikael Morin <mikael@gcc.gnu.org>
67 * m4/ifunction.m4 (START_ARRAY_FUNCTION, START_MASKED_ARRAY_FUNCTION,
68 SCALAR_ARRAY_FUNCTION): Remove overwrite of the first dimension of the
70 * m4/ifunction-s.m4 (START_ARRAY_FUNCTION, START_MASKED_ARRAY_FUNCTION,
71 SCALAR_ARRAY_FUNCTION): Ditto.
72 * m4/ifunction-s2.m4 (START_ARRAY_FUNCTION,
73 START_MASKED_ARRAY_FUNCTION, SCALAR_ARRAY_FUNCTION): Ditto.
74 * m4/ifunction_logical.m4 (START_ARRAY_FUNCTION): Ditto.
75 * m4/ifindloc1.m4: Ditto.
76 * generated/all_l1.c: Regenerate.
77 * generated/all_l16.c: Regenerate.
78 * generated/all_l2.c: Regenerate.
79 * generated/all_l4.c: Regenerate.
80 * generated/all_l8.c: Regenerate.
81 * generated/any_l1.c: Regenerate.
82 * generated/any_l16.c: Regenerate.
83 * generated/any_l2.c: Regenerate.
84 * generated/any_l4.c: Regenerate.
85 * generated/any_l8.c: Regenerate.
86 * generated/count_16_l.c: Regenerate.
87 * generated/count_1_l.c: Regenerate.
88 * generated/count_2_l.c: Regenerate.
89 * generated/count_4_l.c: Regenerate.
90 * generated/count_8_l.c: Regenerate.
91 * generated/findloc1_c10.c: Regenerate.
92 * generated/findloc1_c16.c: Regenerate.
93 * generated/findloc1_c17.c: Regenerate.
94 * generated/findloc1_c4.c: Regenerate.
95 * generated/findloc1_c8.c: Regenerate.
96 * generated/findloc1_i1.c: Regenerate.
97 * generated/findloc1_i16.c: Regenerate.
98 * generated/findloc1_i2.c: Regenerate.
99 * generated/findloc1_i4.c: Regenerate.
100 * generated/findloc1_i8.c: Regenerate.
101 * generated/findloc1_r10.c: Regenerate.
102 * generated/findloc1_r16.c: Regenerate.
103 * generated/findloc1_r17.c: Regenerate.
104 * generated/findloc1_r4.c: Regenerate.
105 * generated/findloc1_r8.c: Regenerate.
106 * generated/findloc1_s1.c: Regenerate.
107 * generated/findloc1_s4.c: Regenerate.
108 * generated/iall_i1.c: Regenerate.
109 * generated/iall_i16.c: Regenerate.
110 * generated/iall_i2.c: Regenerate.
111 * generated/iall_i4.c: Regenerate.
112 * generated/iall_i8.c: Regenerate.
113 * generated/iany_i1.c: Regenerate.
114 * generated/iany_i16.c: Regenerate.
115 * generated/iany_i2.c: Regenerate.
116 * generated/iany_i4.c: Regenerate.
117 * generated/iany_i8.c: Regenerate.
118 * generated/iparity_i1.c: Regenerate.
119 * generated/iparity_i16.c: Regenerate.
120 * generated/iparity_i2.c: Regenerate.
121 * generated/iparity_i4.c: Regenerate.
122 * generated/iparity_i8.c: Regenerate.
123 * generated/maxloc1_16_i1.c: Regenerate.
124 * generated/maxloc1_16_i16.c: Regenerate.
125 * generated/maxloc1_16_i2.c: Regenerate.
126 * generated/maxloc1_16_i4.c: Regenerate.
127 * generated/maxloc1_16_i8.c: Regenerate.
128 * generated/maxloc1_16_r10.c: Regenerate.
129 * generated/maxloc1_16_r16.c: Regenerate.
130 * generated/maxloc1_16_r17.c: Regenerate.
131 * generated/maxloc1_16_r4.c: Regenerate.
132 * generated/maxloc1_16_r8.c: Regenerate.
133 * generated/maxloc1_16_s1.c: Regenerate.
134 * generated/maxloc1_16_s4.c: Regenerate.
135 * generated/maxloc1_4_i1.c: Regenerate.
136 * generated/maxloc1_4_i16.c: Regenerate.
137 * generated/maxloc1_4_i2.c: Regenerate.
138 * generated/maxloc1_4_i4.c: Regenerate.
139 * generated/maxloc1_4_i8.c: Regenerate.
140 * generated/maxloc1_4_r10.c: Regenerate.
141 * generated/maxloc1_4_r16.c: Regenerate.
142 * generated/maxloc1_4_r17.c: Regenerate.
143 * generated/maxloc1_4_r4.c: Regenerate.
144 * generated/maxloc1_4_r8.c: Regenerate.
145 * generated/maxloc1_4_s1.c: Regenerate.
146 * generated/maxloc1_4_s4.c: Regenerate.
147 * generated/maxloc1_8_i1.c: Regenerate.
148 * generated/maxloc1_8_i16.c: Regenerate.
149 * generated/maxloc1_8_i2.c: Regenerate.
150 * generated/maxloc1_8_i4.c: Regenerate.
151 * generated/maxloc1_8_i8.c: Regenerate.
152 * generated/maxloc1_8_r10.c: Regenerate.
153 * generated/maxloc1_8_r16.c: Regenerate.
154 * generated/maxloc1_8_r17.c: Regenerate.
155 * generated/maxloc1_8_r4.c: Regenerate.
156 * generated/maxloc1_8_r8.c: Regenerate.
157 * generated/maxloc1_8_s1.c: Regenerate.
158 * generated/maxloc1_8_s4.c: Regenerate.
159 * generated/maxval1_s1.c: Regenerate.
160 * generated/maxval1_s4.c: Regenerate.
161 * generated/maxval_i1.c: Regenerate.
162 * generated/maxval_i16.c: Regenerate.
163 * generated/maxval_i2.c: Regenerate.
164 * generated/maxval_i4.c: Regenerate.
165 * generated/maxval_i8.c: Regenerate.
166 * generated/maxval_r10.c: Regenerate.
167 * generated/maxval_r16.c: Regenerate.
168 * generated/maxval_r17.c: Regenerate.
169 * generated/maxval_r4.c: Regenerate.
170 * generated/maxval_r8.c: Regenerate.
171 * generated/minloc1_16_i1.c: Regenerate.
172 * generated/minloc1_16_i16.c: Regenerate.
173 * generated/minloc1_16_i2.c: Regenerate.
174 * generated/minloc1_16_i4.c: Regenerate.
175 * generated/minloc1_16_i8.c: Regenerate.
176 * generated/minloc1_16_r10.c: Regenerate.
177 * generated/minloc1_16_r16.c: Regenerate.
178 * generated/minloc1_16_r17.c: Regenerate.
179 * generated/minloc1_16_r4.c: Regenerate.
180 * generated/minloc1_16_r8.c: Regenerate.
181 * generated/minloc1_16_s1.c: Regenerate.
182 * generated/minloc1_16_s4.c: Regenerate.
183 * generated/minloc1_4_i1.c: Regenerate.
184 * generated/minloc1_4_i16.c: Regenerate.
185 * generated/minloc1_4_i2.c: Regenerate.
186 * generated/minloc1_4_i4.c: Regenerate.
187 * generated/minloc1_4_i8.c: Regenerate.
188 * generated/minloc1_4_r10.c: Regenerate.
189 * generated/minloc1_4_r16.c: Regenerate.
190 * generated/minloc1_4_r17.c: Regenerate.
191 * generated/minloc1_4_r4.c: Regenerate.
192 * generated/minloc1_4_r8.c: Regenerate.
193 * generated/minloc1_4_s1.c: Regenerate.
194 * generated/minloc1_4_s4.c: Regenerate.
195 * generated/minloc1_8_i1.c: Regenerate.
196 * generated/minloc1_8_i16.c: Regenerate.
197 * generated/minloc1_8_i2.c: Regenerate.
198 * generated/minloc1_8_i4.c: Regenerate.
199 * generated/minloc1_8_i8.c: Regenerate.
200 * generated/minloc1_8_r10.c: Regenerate.
201 * generated/minloc1_8_r16.c: Regenerate.
202 * generated/minloc1_8_r17.c: Regenerate.
203 * generated/minloc1_8_r4.c: Regenerate.
204 * generated/minloc1_8_r8.c: Regenerate.
205 * generated/minloc1_8_s1.c: Regenerate.
206 * generated/minloc1_8_s4.c: Regenerate.
207 * generated/minval1_s1.c: Regenerate.
208 * generated/minval1_s4.c: Regenerate.
209 * generated/minval_i1.c: Regenerate.
210 * generated/minval_i16.c: Regenerate.
211 * generated/minval_i2.c: Regenerate.
212 * generated/minval_i4.c: Regenerate.
213 * generated/minval_i8.c: Regenerate.
214 * generated/minval_r10.c: Regenerate.
215 * generated/minval_r16.c: Regenerate.
216 * generated/minval_r17.c: Regenerate.
217 * generated/minval_r4.c: Regenerate.
218 * generated/minval_r8.c: Regenerate.
219 * generated/norm2_r10.c: Regenerate.
220 * generated/norm2_r16.c: Regenerate.
221 * generated/norm2_r17.c: Regenerate.
222 * generated/norm2_r4.c: Regenerate.
223 * generated/norm2_r8.c: Regenerate.
224 * generated/parity_l1.c: Regenerate.
225 * generated/parity_l16.c: Regenerate.
226 * generated/parity_l2.c: Regenerate.
227 * generated/parity_l4.c: Regenerate.
228 * generated/parity_l8.c: Regenerate.
229 * generated/product_c10.c: Regenerate.
230 * generated/product_c16.c: Regenerate.
231 * generated/product_c17.c: Regenerate.
232 * generated/product_c4.c: Regenerate.
233 * generated/product_c8.c: Regenerate.
234 * generated/product_i1.c: Regenerate.
235 * generated/product_i16.c: Regenerate.
236 * generated/product_i2.c: Regenerate.
237 * generated/product_i4.c: Regenerate.
238 * generated/product_i8.c: Regenerate.
239 * generated/product_r10.c: Regenerate.
240 * generated/product_r16.c: Regenerate.
241 * generated/product_r17.c: Regenerate.
242 * generated/product_r4.c: Regenerate.
243 * generated/product_r8.c: Regenerate.
244 * generated/sum_c10.c: Regenerate.
245 * generated/sum_c16.c: Regenerate.
246 * generated/sum_c17.c: Regenerate.
247 * generated/sum_c4.c: Regenerate.
248 * generated/sum_c8.c: Regenerate.
249 * generated/sum_i1.c: Regenerate.
250 * generated/sum_i16.c: Regenerate.
251 * generated/sum_i2.c: Regenerate.
252 * generated/sum_i4.c: Regenerate.
253 * generated/sum_i8.c: Regenerate.
254 * generated/sum_r10.c: Regenerate.
255 * generated/sum_r16.c: Regenerate.
256 * generated/sum_r17.c: Regenerate.
257 * generated/sum_r4.c: Regenerate.
258 * generated/sum_r8.c: Regenerate.
260 2023-11-08 Mikael Morin <mikael@gcc.gnu.org>
263 * m4/ifunction.m4 (START_MASKED_ARRAY_FUNCTION): Remove early return if
264 extent is zero or less, and clamp negative value to zero.
265 * m4/ifunction-s.m4 (START_MASKED_ARRAY_FUNCTION): Ditto.
266 * m4/ifunction-s2.m4 (START_MASKED_ARRAY_FUNCTION): Ditto.
267 * generated/iall_i1.c: Regenerate.
268 * generated/iall_i16.c: Regenerate.
269 * generated/iall_i2.c: Regenerate.
270 * generated/iall_i4.c: Regenerate.
271 * generated/iall_i8.c: Regenerate.
272 * generated/iany_i1.c: Regenerate.
273 * generated/iany_i16.c: Regenerate.
274 * generated/iany_i2.c: Regenerate.
275 * generated/iany_i4.c: Regenerate.
276 * generated/iany_i8.c: Regenerate.
277 * generated/iparity_i1.c: Regenerate.
278 * generated/iparity_i16.c: Regenerate.
279 * generated/iparity_i2.c: Regenerate.
280 * generated/iparity_i4.c: Regenerate.
281 * generated/iparity_i8.c: Regenerate.
282 * generated/maxloc1_16_i1.c: Regenerate.
283 * generated/maxloc1_16_i16.c: Regenerate.
284 * generated/maxloc1_16_i2.c: Regenerate.
285 * generated/maxloc1_16_i4.c: Regenerate.
286 * generated/maxloc1_16_i8.c: Regenerate.
287 * generated/maxloc1_16_r10.c: Regenerate.
288 * generated/maxloc1_16_r16.c: Regenerate.
289 * generated/maxloc1_16_r17.c: Regenerate.
290 * generated/maxloc1_16_r4.c: Regenerate.
291 * generated/maxloc1_16_r8.c: Regenerate.
292 * generated/maxloc1_16_s1.c: Regenerate.
293 * generated/maxloc1_16_s4.c: Regenerate.
294 * generated/maxloc1_4_i1.c: Regenerate.
295 * generated/maxloc1_4_i16.c: Regenerate.
296 * generated/maxloc1_4_i2.c: Regenerate.
297 * generated/maxloc1_4_i4.c: Regenerate.
298 * generated/maxloc1_4_i8.c: Regenerate.
299 * generated/maxloc1_4_r10.c: Regenerate.
300 * generated/maxloc1_4_r16.c: Regenerate.
301 * generated/maxloc1_4_r17.c: Regenerate.
302 * generated/maxloc1_4_r4.c: Regenerate.
303 * generated/maxloc1_4_r8.c: Regenerate.
304 * generated/maxloc1_4_s1.c: Regenerate.
305 * generated/maxloc1_4_s4.c: Regenerate.
306 * generated/maxloc1_8_i1.c: Regenerate.
307 * generated/maxloc1_8_i16.c: Regenerate.
308 * generated/maxloc1_8_i2.c: Regenerate.
309 * generated/maxloc1_8_i4.c: Regenerate.
310 * generated/maxloc1_8_i8.c: Regenerate.
311 * generated/maxloc1_8_r10.c: Regenerate.
312 * generated/maxloc1_8_r16.c: Regenerate.
313 * generated/maxloc1_8_r17.c: Regenerate.
314 * generated/maxloc1_8_r4.c: Regenerate.
315 * generated/maxloc1_8_r8.c: Regenerate.
316 * generated/maxloc1_8_s1.c: Regenerate.
317 * generated/maxloc1_8_s4.c: Regenerate.
318 * generated/maxval1_s1.c: Regenerate.
319 * generated/maxval1_s4.c: Regenerate.
320 * generated/maxval_i1.c: Regenerate.
321 * generated/maxval_i16.c: Regenerate.
322 * generated/maxval_i2.c: Regenerate.
323 * generated/maxval_i4.c: Regenerate.
324 * generated/maxval_i8.c: Regenerate.
325 * generated/maxval_r10.c: Regenerate.
326 * generated/maxval_r16.c: Regenerate.
327 * generated/maxval_r17.c: Regenerate.
328 * generated/maxval_r4.c: Regenerate.
329 * generated/maxval_r8.c: Regenerate.
330 * generated/minloc1_16_i1.c: Regenerate.
331 * generated/minloc1_16_i16.c: Regenerate.
332 * generated/minloc1_16_i2.c: Regenerate.
333 * generated/minloc1_16_i4.c: Regenerate.
334 * generated/minloc1_16_i8.c: Regenerate.
335 * generated/minloc1_16_r10.c: Regenerate.
336 * generated/minloc1_16_r16.c: Regenerate.
337 * generated/minloc1_16_r17.c: Regenerate.
338 * generated/minloc1_16_r4.c: Regenerate.
339 * generated/minloc1_16_r8.c: Regenerate.
340 * generated/minloc1_16_s1.c: Regenerate.
341 * generated/minloc1_16_s4.c: Regenerate.
342 * generated/minloc1_4_i1.c: Regenerate.
343 * generated/minloc1_4_i16.c: Regenerate.
344 * generated/minloc1_4_i2.c: Regenerate.
345 * generated/minloc1_4_i4.c: Regenerate.
346 * generated/minloc1_4_i8.c: Regenerate.
347 * generated/minloc1_4_r10.c: Regenerate.
348 * generated/minloc1_4_r16.c: Regenerate.
349 * generated/minloc1_4_r17.c: Regenerate.
350 * generated/minloc1_4_r4.c: Regenerate.
351 * generated/minloc1_4_r8.c: Regenerate.
352 * generated/minloc1_4_s1.c: Regenerate.
353 * generated/minloc1_4_s4.c: Regenerate.
354 * generated/minloc1_8_i1.c: Regenerate.
355 * generated/minloc1_8_i16.c: Regenerate.
356 * generated/minloc1_8_i2.c: Regenerate.
357 * generated/minloc1_8_i4.c: Regenerate.
358 * generated/minloc1_8_i8.c: Regenerate.
359 * generated/minloc1_8_r10.c: Regenerate.
360 * generated/minloc1_8_r16.c: Regenerate.
361 * generated/minloc1_8_r17.c: Regenerate.
362 * generated/minloc1_8_r4.c: Regenerate.
363 * generated/minloc1_8_r8.c: Regenerate.
364 * generated/minloc1_8_s1.c: Regenerate.
365 * generated/minloc1_8_s4.c: Regenerate.
366 * generated/minval1_s1.c: Regenerate.
367 * generated/minval1_s4.c: Regenerate.
368 * generated/minval_i1.c: Regenerate.
369 * generated/minval_i16.c: Regenerate.
370 * generated/minval_i2.c: Regenerate.
371 * generated/minval_i4.c: Regenerate.
372 * generated/minval_i8.c: Regenerate.
373 * generated/minval_r10.c: Regenerate.
374 * generated/minval_r16.c: Regenerate.
375 * generated/minval_r17.c: Regenerate.
376 * generated/minval_r4.c: Regenerate.
377 * generated/minval_r8.c: Regenerate.
378 * generated/product_c10.c: Regenerate.
379 * generated/product_c16.c: Regenerate.
380 * generated/product_c17.c: Regenerate.
381 * generated/product_c4.c: Regenerate.
382 * generated/product_c8.c: Regenerate.
383 * generated/product_i1.c: Regenerate.
384 * generated/product_i16.c: Regenerate.
385 * generated/product_i2.c: Regenerate.
386 * generated/product_i4.c: Regenerate.
387 * generated/product_i8.c: Regenerate.
388 * generated/product_r10.c: Regenerate.
389 * generated/product_r16.c: Regenerate.
390 * generated/product_r17.c: Regenerate.
391 * generated/product_r4.c: Regenerate.
392 * generated/product_r8.c: Regenerate.
393 * generated/sum_c10.c: Regenerate.
394 * generated/sum_c16.c: Regenerate.
395 * generated/sum_c17.c: Regenerate.
396 * generated/sum_c4.c: Regenerate.
397 * generated/sum_c8.c: Regenerate.
398 * generated/sum_i1.c: Regenerate.
399 * generated/sum_i16.c: Regenerate.
400 * generated/sum_i2.c: Regenerate.
401 * generated/sum_i4.c: Regenerate.
402 * generated/sum_i8.c: Regenerate.
403 * generated/sum_r10.c: Regenerate.
404 * generated/sum_r16.c: Regenerate.
405 * generated/sum_r17.c: Regenerate.
406 * generated/sum_r4.c: Regenerate.
407 * generated/sum_r8.c: Regenerate.
409 2023-11-08 Mikael Morin <mikael@gcc.gnu.org>
412 * m4/ifunction.m4 (START_MASKED_ARRAY_FUNCTION, SCALAR_ARRAY_FUNCTION):
413 Don't skip allocation if the allocation size is zero.
414 * m4/ifunction-s.m4 (START_MASKED_ARRAY_FUNCTION,
415 SCALAR_ARRAY_FUNCTION): Ditto.
416 * m4/ifunction-s2.m4 (START_MASKED_ARRAY_FUNCTION,
417 SCALAR_ARRAY_FUNCTION): Ditto.
418 * m4/ifunction_logical.m4 (START_ARRAY_FUNCTION): Ditto.
419 * generated/all_l1.c: Regenerate.
420 * generated/all_l16.c: Regenerate.
421 * generated/all_l2.c: Regenerate.
422 * generated/all_l4.c: Regenerate.
423 * generated/all_l8.c: Regenerate.
424 * generated/any_l1.c: Regenerate.
425 * generated/any_l16.c: Regenerate.
426 * generated/any_l2.c: Regenerate.
427 * generated/any_l4.c: Regenerate.
428 * generated/any_l8.c: Regenerate.
429 * generated/count_16_l.c: Regenerate.
430 * generated/count_1_l.c: Regenerate.
431 * generated/count_2_l.c: Regenerate.
432 * generated/count_4_l.c: Regenerate.
433 * generated/count_8_l.c: Regenerate.
434 * generated/iall_i1.c: Regenerate.
435 * generated/iall_i16.c: Regenerate.
436 * generated/iall_i2.c: Regenerate.
437 * generated/iall_i4.c: Regenerate.
438 * generated/iall_i8.c: Regenerate.
439 * generated/iany_i1.c: Regenerate.
440 * generated/iany_i16.c: Regenerate.
441 * generated/iany_i2.c: Regenerate.
442 * generated/iany_i4.c: Regenerate.
443 * generated/iany_i8.c: Regenerate.
444 * generated/iparity_i1.c: Regenerate.
445 * generated/iparity_i16.c: Regenerate.
446 * generated/iparity_i2.c: Regenerate.
447 * generated/iparity_i4.c: Regenerate.
448 * generated/iparity_i8.c: Regenerate.
449 * generated/maxloc1_16_i1.c: Regenerate.
450 * generated/maxloc1_16_i16.c: Regenerate.
451 * generated/maxloc1_16_i2.c: Regenerate.
452 * generated/maxloc1_16_i4.c: Regenerate.
453 * generated/maxloc1_16_i8.c: Regenerate.
454 * generated/maxloc1_16_r10.c: Regenerate.
455 * generated/maxloc1_16_r16.c: Regenerate.
456 * generated/maxloc1_16_r17.c: Regenerate.
457 * generated/maxloc1_16_r4.c: Regenerate.
458 * generated/maxloc1_16_r8.c: Regenerate.
459 * generated/maxloc1_16_s1.c: Regenerate.
460 * generated/maxloc1_16_s4.c: Regenerate.
461 * generated/maxloc1_4_i1.c: Regenerate.
462 * generated/maxloc1_4_i16.c: Regenerate.
463 * generated/maxloc1_4_i2.c: Regenerate.
464 * generated/maxloc1_4_i4.c: Regenerate.
465 * generated/maxloc1_4_i8.c: Regenerate.
466 * generated/maxloc1_4_r10.c: Regenerate.
467 * generated/maxloc1_4_r16.c: Regenerate.
468 * generated/maxloc1_4_r17.c: Regenerate.
469 * generated/maxloc1_4_r4.c: Regenerate.
470 * generated/maxloc1_4_r8.c: Regenerate.
471 * generated/maxloc1_4_s1.c: Regenerate.
472 * generated/maxloc1_4_s4.c: Regenerate.
473 * generated/maxloc1_8_i1.c: Regenerate.
474 * generated/maxloc1_8_i16.c: Regenerate.
475 * generated/maxloc1_8_i2.c: Regenerate.
476 * generated/maxloc1_8_i4.c: Regenerate.
477 * generated/maxloc1_8_i8.c: Regenerate.
478 * generated/maxloc1_8_r10.c: Regenerate.
479 * generated/maxloc1_8_r16.c: Regenerate.
480 * generated/maxloc1_8_r17.c: Regenerate.
481 * generated/maxloc1_8_r4.c: Regenerate.
482 * generated/maxloc1_8_r8.c: Regenerate.
483 * generated/maxloc1_8_s1.c: Regenerate.
484 * generated/maxloc1_8_s4.c: Regenerate.
485 * generated/maxval1_s1.c: Regenerate.
486 * generated/maxval1_s4.c: Regenerate.
487 * generated/maxval_i1.c: Regenerate.
488 * generated/maxval_i16.c: Regenerate.
489 * generated/maxval_i2.c: Regenerate.
490 * generated/maxval_i4.c: Regenerate.
491 * generated/maxval_i8.c: Regenerate.
492 * generated/maxval_r10.c: Regenerate.
493 * generated/maxval_r16.c: Regenerate.
494 * generated/maxval_r17.c: Regenerate.
495 * generated/maxval_r4.c: Regenerate.
496 * generated/maxval_r8.c: Regenerate.
497 * generated/minloc1_16_i1.c: Regenerate.
498 * generated/minloc1_16_i16.c: Regenerate.
499 * generated/minloc1_16_i2.c: Regenerate.
500 * generated/minloc1_16_i4.c: Regenerate.
501 * generated/minloc1_16_i8.c: Regenerate.
502 * generated/minloc1_16_r10.c: Regenerate.
503 * generated/minloc1_16_r16.c: Regenerate.
504 * generated/minloc1_16_r17.c: Regenerate.
505 * generated/minloc1_16_r4.c: Regenerate.
506 * generated/minloc1_16_r8.c: Regenerate.
507 * generated/minloc1_16_s1.c: Regenerate.
508 * generated/minloc1_16_s4.c: Regenerate.
509 * generated/minloc1_4_i1.c: Regenerate.
510 * generated/minloc1_4_i16.c: Regenerate.
511 * generated/minloc1_4_i2.c: Regenerate.
512 * generated/minloc1_4_i4.c: Regenerate.
513 * generated/minloc1_4_i8.c: Regenerate.
514 * generated/minloc1_4_r10.c: Regenerate.
515 * generated/minloc1_4_r16.c: Regenerate.
516 * generated/minloc1_4_r17.c: Regenerate.
517 * generated/minloc1_4_r4.c: Regenerate.
518 * generated/minloc1_4_r8.c: Regenerate.
519 * generated/minloc1_4_s1.c: Regenerate.
520 * generated/minloc1_4_s4.c: Regenerate.
521 * generated/minloc1_8_i1.c: Regenerate.
522 * generated/minloc1_8_i16.c: Regenerate.
523 * generated/minloc1_8_i2.c: Regenerate.
524 * generated/minloc1_8_i4.c: Regenerate.
525 * generated/minloc1_8_i8.c: Regenerate.
526 * generated/minloc1_8_r10.c: Regenerate.
527 * generated/minloc1_8_r16.c: Regenerate.
528 * generated/minloc1_8_r17.c: Regenerate.
529 * generated/minloc1_8_r4.c: Regenerate.
530 * generated/minloc1_8_r8.c: Regenerate.
531 * generated/minloc1_8_s1.c: Regenerate.
532 * generated/minloc1_8_s4.c: Regenerate.
533 * generated/minval1_s1.c: Regenerate.
534 * generated/minval1_s4.c: Regenerate.
535 * generated/minval_i1.c: Regenerate.
536 * generated/minval_i16.c: Regenerate.
537 * generated/minval_i2.c: Regenerate.
538 * generated/minval_i4.c: Regenerate.
539 * generated/minval_i8.c: Regenerate.
540 * generated/minval_r10.c: Regenerate.
541 * generated/minval_r16.c: Regenerate.
542 * generated/minval_r17.c: Regenerate.
543 * generated/minval_r4.c: Regenerate.
544 * generated/minval_r8.c: Regenerate.
545 * generated/product_c10.c: Regenerate.
546 * generated/product_c16.c: Regenerate.
547 * generated/product_c17.c: Regenerate.
548 * generated/product_c4.c: Regenerate.
549 * generated/product_c8.c: Regenerate.
550 * generated/product_i1.c: Regenerate.
551 * generated/product_i16.c: Regenerate.
552 * generated/product_i2.c: Regenerate.
553 * generated/product_i4.c: Regenerate.
554 * generated/product_i8.c: Regenerate.
555 * generated/product_r10.c: Regenerate.
556 * generated/product_r16.c: Regenerate.
557 * generated/product_r17.c: Regenerate.
558 * generated/product_r4.c: Regenerate.
559 * generated/product_r8.c: Regenerate.
560 * generated/sum_c10.c: Regenerate.
561 * generated/sum_c16.c: Regenerate.
562 * generated/sum_c17.c: Regenerate.
563 * generated/sum_c4.c: Regenerate.
564 * generated/sum_c8.c: Regenerate.
565 * generated/sum_i1.c: Regenerate.
566 * generated/sum_i16.c: Regenerate.
567 * generated/sum_i2.c: Regenerate.
568 * generated/sum_i4.c: Regenerate.
569 * generated/sum_i8.c: Regenerate.
570 * generated/sum_r10.c: Regenerate.
571 * generated/sum_r16.c: Regenerate.
572 * generated/sum_r17.c: Regenerate.
573 * generated/sum_r4.c: Regenerate.
574 * generated/sum_r8.c: Regenerate.
576 2023-11-06 Tobias Burnus <tobias@codesourcery.com>
579 * io/async.c (enqueue_transfer, enqueue_done_id, enqueue_done,
580 enqueue_close): Swap 1st and 2nd arg in calloc call.
582 2023-10-22 Iain Sandoe <iain@sandoe.co.uk>
584 * Makefile.am: Handle Darwin rpaths.
585 * Makefile.in: Regenerate.
586 * configure: Regenerate.
587 * configure.ac: Handle Darwin rpaths
589 2023-09-28 Tobias Burnus <tobias@codesourcery.com>
591 * io/write.c (xtoa_big): Change a 'GCC diagnostic ignored
592 "-Wstringop-overflow"' to an assumption (via __builtin_unreachable).t
594 2023-08-07 Nick Alcock <nick.alcock@oracle.com>
596 * configure: Regenerate.
598 2023-08-07 Alexander von Gluck IV <kallisti5@unixzen.com>
600 * configure: Regenerate.
602 2023-08-07 Nick Alcock <nick.alcock@oracle.com>
604 * configure: Regenerate.
606 2023-08-07 Nick Alcock <nick.alcock@oracle.com>
608 * configure: Regenerate.
610 2023-08-07 H.J. Lu <hjl.tools@gmail.com>
612 * configure: Regenerate.
614 2023-08-07 H.J. Lu <hjl.tools@gmail.com>
616 * configure: Regenerate.
618 2023-07-21 Andrew Pinski <apinski@marvell.com>
621 * ieee/ieee_arithmetic.F90
622 (COMP_INTERFACE): Remove the comma after EXPAND_INTER_MACRO_16
623 and EXPAND_INTER_MACRO_10.
624 (EXPAND_INTER_MACRO_16): Add comma here if 16 byte fp exist.
625 (EXPAND_INTER_MACRO_10): Likewise.
627 2023-07-20 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
629 * ieee/ieee_arithmetic.F90: Add IEEE_QUIET_* and
630 IEEE_SIGNALING_* functions.
632 2023-06-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
635 * configure.ac: Remove support for --enable-intermodule
636 * Makefile.am: Remove onestep path.
637 * configure: Regenerate.
638 * Makefile.in: Regenerate.
640 2023-06-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
642 * ieee/ieee_arithmetic.F90: Add IEEE_MIN_NUM, IEEE_MAX_NUM,
643 IEEE_MIN_NUM_MAG, and IEEE_MAX_NUM_MAG functions.
645 2023-05-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
648 * io/unit.c (set_internal_unit): Set the internal unit
649 last_char to zero so that previous EOF characters do not
650 influence the next read.
652 2023-05-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
654 * caf/single.c (_gfortran_caf_register): Fix coding style.
655 * io/async.c (update_pdt, async_io): Likewise.
656 * io/format.c (free_format_data): Likewise.
657 * io/transfer.c (st_read_done_worker, st_write_done_worker): Likewise.
658 * io/unix.c (mem_close): Likewise.
660 2023-05-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
662 * caf/single.c (_gfortran_caf_register): Call free() unconditionally.
663 * io/async.c (update_pdt, async_io): Likewise.
664 * io/format.c (free_format_data): Likewise.
665 * io/transfer.c (st_read_done_worker, st_write_done_worker): Likewise.
666 * io/unix.c (mem_close): Likewise.
668 2023-05-08 Jerry DeLisle <jvdelisle@gcc.gnu.org>
671 * io/list_read.c: Add check for a semicolon after a namelist
672 name in read input. Issue a runtime error message.
674 2023-05-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
677 * io/list_read.c: Add a check for a comma after a namelist
678 name in read input. Issue a runtime error message.
680 2023-02-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
682 * generated/pack_c10.c (pack_c10): Regenerated.
683 * generated/pack_c16.c (pack_c16): Regenerated.
684 * generated/pack_c17.c (pack_c17): Regenerated.
685 * generated/pack_c4.c (pack_c4): Regenerated.
686 * generated/pack_c8.c (pack_c8): Regenerated.
687 * generated/pack_i1.c (pack_i1): Regenerated.
688 * generated/pack_i16.c (pack_i16): Regenerated.
689 * generated/pack_i2.c (pack_i2): Regenerated.
690 * generated/pack_i4.c (pack_i4): Regenerated.
691 * generated/pack_i8.c (pack_i8): Regenerated.
692 * generated/pack_r10.c (pack_r10): Regenerated.
693 * generated/pack_r16.c (pack_r16): Regenerated.
694 * generated/pack_r17.c (pack_r17): Regenerated.
695 * generated/pack_r4.c (pack_r4): Regenerated.
696 * generated/pack_r8.c (pack_r8): Regenerated.
697 * generated/spread_c10.c (spread_c10): Regenerated.
698 * generated/spread_c16.c (spread_c16): Regenerated.
699 * generated/spread_c17.c (spread_c17): Regenerated.
700 * generated/spread_c4.c (spread_c4): Regenerated.
701 * generated/spread_c8.c (spread_c8): Regenerated.
702 * generated/spread_i1.c (spread_i1): Regenerated.
703 * generated/spread_i16.c (spread_i16): Regenerated.
704 * generated/spread_i2.c (spread_i2): Regenerated.
705 * generated/spread_i4.c (spread_i4): Regenerated.
706 * generated/spread_i8.c (spread_i8): Regenerated.
707 * generated/spread_r10.c (spread_r10): Regenerated.
708 * generated/spread_r16.c (spread_r16): Regenerated.
709 * generated/spread_r17.c (spread_r17): Regenerated.
710 * generated/spread_r4.c (spread_r4): Regenerated.
711 * generated/spread_r8.c (spread_r8): Regenerated.
712 * intrinsics/execute_command_line.c (execute_command_line_i4),
713 (execute_command_line_i8): Set estat_initial to zero.
714 * intrinsics/pack_generic.c (pack_internal): Set sstride[0] and
716 * intrinsics/spread_generic.c (spread_internal): Set sstride[0].
717 * m4/pack.m4: Set sstride[0] and mstride[0].
718 * m4/spread.m4: Set sstride[0].
720 2023-01-18 Tobias Burnus <tobias@codesourcery.com>
722 * intrinsics/execute_command_line.c (execute_command_line): On
723 Windows, regard system()'s return value of 9009 as EXEC_INVALIDCOMMAND.
725 2023-01-07 LIU Hao <lh_mouse@126.com>
728 * intrinsics/sleep.c: Define `WIN32_LEAN_AND_MEAN` before
732 Copyright (C) 2023 Free Software Foundation, Inc.
734 Copying and distribution of this file, with or without modification,
735 are permitted in any medium without royalty provided the copyright
736 notice and this notice are preserved.