c++: Prevent overwriting arguments when merging duplicates [PR112588]
[official-gcc.git] / libgfortran / ChangeLog-2023
blob55e6befffa6bdfda8e4ac3161f87c2c8a17742c4
1 2023-12-19  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
3         PR libfortran/110651
4         * libgfortran.spec.in: Remove duplicate libraries.
6 2023-12-18  Harald Anlauf  <anlauf@gmx.de>
8         PR fortran/96580
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.
20         (RDLOCK): New macro.
21         (WRLOCK): 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
28         a comment.
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
33         unit_lock.
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
46         unit_lock.
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
58         fixes.
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>
66         PR fortran/112371
67         * m4/ifunction.m4 (START_ARRAY_FUNCTION, START_MASKED_ARRAY_FUNCTION,
68         SCALAR_ARRAY_FUNCTION): Remove overwrite of the first dimension of the
69         array descriptor.
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>
262         PR fortran/112371
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>
411         PR fortran/112412
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>
578         PR libfortran/112364
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>
620         PR libfortran/110759
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>
634         PR libfortran/109373
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>
647         PR fortran/109662
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>
670         PR fortran/109662
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>
676         PR fortran/109662
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
715         mstride[0] to zero.
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>
727         PR middle-end/108300
728         * intrinsics/sleep.c: Define `WIN32_LEAN_AND_MEAN` before
729         <windows.h>.
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.