1 2023-12-19 Francois-Xavier Coudert <fxcoudert (a] gcc.gnu.org> 2 3 PR libfortran/110651 4 * libgfortran.spec.in: Remove duplicate libraries. 5 6 2023-12-18 Harald Anlauf <anlauf (a] gmx.de> 7 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). 11 12 2023-12-11 Lipeng Zhu <lipeng.zhu (a] intel.com> 13 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. 51 52 2023-12-05 Florian Weimer <fweimer (a] redhat.com> 53 Jakub Jelinek <jakub (a] redhat.com> 54 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. 63 64 2023-11-08 Mikael Morin <mikael (a] gcc.gnu.org> 65 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. 259 260 2023-11-08 Mikael Morin <mikael (a] gcc.gnu.org> 261 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. 408 409 2023-11-08 Mikael Morin <mikael (a] gcc.gnu.org> 410 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. 575 576 2023-11-06 Tobias Burnus <tobias (a] codesourcery.com> 577 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. 581 582 2023-10-22 Iain Sandoe <iain (a] sandoe.co.uk> 583 584 * Makefile.am: Handle Darwin rpaths. 585 * Makefile.in: Regenerate. 586 * configure: Regenerate. 587 * configure.ac: Handle Darwin rpaths 588 589 2023-09-28 Tobias Burnus <tobias (a] codesourcery.com> 590 591 * io/write.c (xtoa_big): Change a 'GCC diagnostic ignored 592 "-Wstringop-overflow"' to an assumption (via __builtin_unreachable).t 593 594 2023-08-07 Nick Alcock <nick.alcock (a] oracle.com> 595 596 * configure: Regenerate. 597 598 2023-08-07 Alexander von Gluck IV <kallisti5 (a] unixzen.com> 599 600 * configure: Regenerate. 601 602 2023-08-07 Nick Alcock <nick.alcock (a] oracle.com> 603 604 * configure: Regenerate. 605 606 2023-08-07 Nick Alcock <nick.alcock (a] oracle.com> 607 608 * configure: Regenerate. 609 610 2023-08-07 H.J. Lu <hjl.tools (a] gmail.com> 611 612 * configure: Regenerate. 613 614 2023-08-07 H.J. Lu <hjl.tools (a] gmail.com> 615 616 * configure: Regenerate. 617 618 2023-07-21 Andrew Pinski <apinski (a] marvell.com> 619 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. 626 627 2023-07-20 Francois-Xavier Coudert <fxcoudert (a] gcc.gnu.org> 628 629 * ieee/ieee_arithmetic.F90: Add IEEE_QUIET_* and 630 IEEE_SIGNALING_* functions. 631 632 2023-06-11 Francois-Xavier Coudert <fxcoudert (a] gcc.gnu.org> 633 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. 639 640 2023-06-10 Francois-Xavier Coudert <fxcoudert (a] gcc.gnu.org> 641 642 * ieee/ieee_arithmetic.F90: Add IEEE_MIN_NUM, IEEE_MAX_NUM, 643 IEEE_MIN_NUM_MAG, and IEEE_MAX_NUM_MAG functions. 644 645 2023-05-12 Jerry DeLisle <jvdelisle (a] gcc.gnu.org> 646 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. 651 652 2023-05-08 Bernhard Reutner-Fischer <aldot (a] gcc.gnu.org> 653 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. 659 660 2023-05-08 Bernhard Reutner-Fischer <aldot (a] gcc.gnu.org> 661 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. 667 668 2023-05-08 Jerry DeLisle <jvdelisle (a] gcc.gnu.org> 669 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. 673 674 2023-05-06 Jerry DeLisle <jvdelisle (a] gcc.gnu.org> 675 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. 679 680 2023-02-28 Jerry DeLisle <jvdelisle (a] gcc.gnu.org> 681 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]. 719 720 2023-01-18 Tobias Burnus <tobias (a] codesourcery.com> 721 722 * intrinsics/execute_command_line.c (execute_command_line): On 723 Windows, regard system()'s return value of 9009 as EXEC_INVALIDCOMMAND. 724 725 2023-01-07 LIU Hao <lh_mouse (a] 126.com> 726 727 PR middle-end/108300 728 * intrinsics/sleep.c: Define `WIN32_LEAN_AND_MEAN` before 729 <windows.h>. 730 731 733 Copyright (C) 2023 Free Software Foundation, Inc. 734 735 Copying and distribution of this file, with or without modification, 736 are permitted in any medium without royalty provided the copyright 737 notice and this notice are preserved. 738