Home | History | Annotate | Line # | Download | only in libgfortran
      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