12018-12-31 Thomas Koenig <tkoenig@gcc.gnu.org> 2 3 PR fortran/82995 4 * m4/ifindloc0.m4: Handle case of absend optional argument, passed 5 as a NULL pointer. Correct allocation of retarray->base_addr. 6 * m4/ifindloc1.m4: Likewise. 7 * m4/ifindloc2.m4: Handle case of absend optional argument, passed 8 as a NULL pointer. 9 * m4/iforeach-s.m4: Likewise. 10 * m4/iforeach-s2.m4: Likewise. 11 * m4/iforeach.m4: Likewise. 12 * m4/ifunction-s.m4: Likewise. 13 * m4/ifunction-s2.m4: Likewise. 14 * m4/ifunction.m4: Likewise. 15 * generated/findloc0_c16.c: Regenerated. 16 * generated/findloc0_c4.c: Regenerated. 17 * generated/findloc0_c8.c: Regenerated. 18 * generated/findloc0_i1.c: Regenerated. 19 * generated/findloc0_i16.c: Regenerated. 20 * generated/findloc0_i2.c: Regenerated. 21 * generated/findloc0_i4.c: Regenerated. 22 * generated/findloc0_i8.c: Regenerated. 23 * generated/findloc0_r16.c: Regenerated. 24 * generated/findloc0_r4.c: Regenerated. 25 * generated/findloc0_r8.c: Regenerated. 26 * generated/findloc0_s1.c: Regenerated. 27 * generated/findloc0_s4.c: Regenerated. 28 * generated/findloc1_c16.c: Regenerated. 29 * generated/findloc1_c4.c: Regenerated. 30 * generated/findloc1_c8.c: Regenerated. 31 * generated/findloc1_i1.c: Regenerated. 32 * generated/findloc1_i16.c: Regenerated. 33 * generated/findloc1_i2.c: Regenerated. 34 * generated/findloc1_i4.c: Regenerated. 35 * generated/findloc1_i8.c: Regenerated. 36 * generated/findloc1_r16.c: Regenerated. 37 * generated/findloc1_r4.c: Regenerated. 38 * generated/findloc1_r8.c: Regenerated. 39 * generated/findloc1_s1.c: Regenerated. 40 * generated/findloc1_s4.c: Regenerated. 41 * generated/findloc2_s1.c: Regenerated. 42 * generated/findloc2_s4.c: Regenerated. 43 * generated/iall_i1.c: Regenerated. 44 * generated/iall_i16.c: Regenerated. 45 * generated/iall_i2.c: Regenerated. 46 * generated/iall_i4.c: Regenerated. 47 * generated/iall_i8.c: Regenerated. 48 * generated/iany_i1.c: Regenerated. 49 * generated/iany_i16.c: Regenerated. 50 * generated/iany_i2.c: Regenerated. 51 * generated/iany_i4.c: Regenerated. 52 * generated/iany_i8.c: Regenerated. 53 * generated/iparity_i1.c: Regenerated. 54 * generated/iparity_i16.c: Regenerated. 55 * generated/iparity_i2.c: Regenerated. 56 * generated/iparity_i4.c: Regenerated. 57 * generated/iparity_i8.c: Regenerated. 58 * generated/maxloc0_16_i1.c: Regenerated. 59 * generated/maxloc0_16_i16.c: Regenerated. 60 * generated/maxloc0_16_i2.c: Regenerated. 61 * generated/maxloc0_16_i4.c: Regenerated. 62 * generated/maxloc0_16_i8.c: Regenerated. 63 * generated/maxloc0_16_r10.c: Regenerated. 64 * generated/maxloc0_16_r16.c: Regenerated. 65 * generated/maxloc0_16_r4.c: Regenerated. 66 * generated/maxloc0_16_r8.c: Regenerated. 67 * generated/maxloc0_16_s1.c: Regenerated. 68 * generated/maxloc0_16_s4.c: Regenerated. 69 * generated/maxloc0_4_i1.c: Regenerated. 70 * generated/maxloc0_4_i16.c: Regenerated. 71 * generated/maxloc0_4_i2.c: Regenerated. 72 * generated/maxloc0_4_i4.c: Regenerated. 73 * generated/maxloc0_4_i8.c: Regenerated. 74 * generated/maxloc0_4_r10.c: Regenerated. 75 * generated/maxloc0_4_r16.c: Regenerated. 76 * generated/maxloc0_4_r4.c: Regenerated. 77 * generated/maxloc0_4_r8.c: Regenerated. 78 * generated/maxloc0_4_s1.c: Regenerated. 79 * generated/maxloc0_4_s4.c: Regenerated. 80 * generated/maxloc0_8_i1.c: Regenerated. 81 * generated/maxloc0_8_i16.c: Regenerated. 82 * generated/maxloc0_8_i2.c: Regenerated. 83 * generated/maxloc0_8_i4.c: Regenerated. 84 * generated/maxloc0_8_i8.c: Regenerated. 85 * generated/maxloc0_8_r10.c: Regenerated. 86 * generated/maxloc0_8_r16.c: Regenerated. 87 * generated/maxloc0_8_r4.c: Regenerated. 88 * generated/maxloc0_8_r8.c: Regenerated. 89 * generated/maxloc0_8_s1.c: Regenerated. 90 * generated/maxloc0_8_s4.c: Regenerated. 91 * generated/maxloc1_16_i1.c: Regenerated. 92 * generated/maxloc1_16_i16.c: Regenerated. 93 * generated/maxloc1_16_i2.c: Regenerated. 94 * generated/maxloc1_16_i4.c: Regenerated. 95 * generated/maxloc1_16_i8.c: Regenerated. 96 * generated/maxloc1_16_r10.c: Regenerated. 97 * generated/maxloc1_16_r16.c: Regenerated. 98 * generated/maxloc1_16_r4.c: Regenerated. 99 * generated/maxloc1_16_r8.c: Regenerated. 100 * generated/maxloc1_16_s1.c: Regenerated. 101 * generated/maxloc1_16_s4.c: Regenerated. 102 * generated/maxloc1_4_i1.c: Regenerated. 103 * generated/maxloc1_4_i16.c: Regenerated. 104 * generated/maxloc1_4_i2.c: Regenerated. 105 * generated/maxloc1_4_i4.c: Regenerated. 106 * generated/maxloc1_4_i8.c: Regenerated. 107 * generated/maxloc1_4_r10.c: Regenerated. 108 * generated/maxloc1_4_r16.c: Regenerated. 109 * generated/maxloc1_4_r4.c: Regenerated. 110 * generated/maxloc1_4_r8.c: Regenerated. 111 * generated/maxloc1_4_s1.c: Regenerated. 112 * generated/maxloc1_4_s4.c: Regenerated. 113 * generated/maxloc1_8_i1.c: Regenerated. 114 * generated/maxloc1_8_i16.c: Regenerated. 115 * generated/maxloc1_8_i2.c: Regenerated. 116 * generated/maxloc1_8_i4.c: Regenerated. 117 * generated/maxloc1_8_i8.c: Regenerated. 118 * generated/maxloc1_8_r10.c: Regenerated. 119 * generated/maxloc1_8_r16.c: Regenerated. 120 * generated/maxloc1_8_r4.c: Regenerated. 121 * generated/maxloc1_8_r8.c: Regenerated. 122 * generated/maxloc1_8_s1.c: Regenerated. 123 * generated/maxloc1_8_s4.c: Regenerated. 124 * generated/maxval0_s1.c: Regenerated. 125 * generated/maxval0_s4.c: Regenerated. 126 * generated/maxval1_s1.c: Regenerated. 127 * generated/maxval1_s4.c: Regenerated. 128 * generated/maxval_i1.c: Regenerated. 129 * generated/maxval_i16.c: Regenerated. 130 * generated/maxval_i2.c: Regenerated. 131 * generated/maxval_i4.c: Regenerated. 132 * generated/maxval_i8.c: Regenerated. 133 * generated/maxval_r10.c: Regenerated. 134 * generated/maxval_r16.c: Regenerated. 135 * generated/maxval_r4.c: Regenerated. 136 * generated/maxval_r8.c: Regenerated. 137 * generated/minloc0_16_i1.c: Regenerated. 138 * generated/minloc0_16_i16.c: Regenerated. 139 * generated/minloc0_16_i2.c: Regenerated. 140 * generated/minloc0_16_i4.c: Regenerated. 141 * generated/minloc0_16_i8.c: Regenerated. 142 * generated/minloc0_16_r10.c: Regenerated. 143 * generated/minloc0_16_r16.c: Regenerated. 144 * generated/minloc0_16_r4.c: Regenerated. 145 * generated/minloc0_16_r8.c: Regenerated. 146 * generated/minloc0_16_s1.c: Regenerated. 147 * generated/minloc0_16_s4.c: Regenerated. 148 * generated/minloc0_4_i1.c: Regenerated. 149 * generated/minloc0_4_i16.c: Regenerated. 150 * generated/minloc0_4_i2.c: Regenerated. 151 * generated/minloc0_4_i4.c: Regenerated. 152 * generated/minloc0_4_i8.c: Regenerated. 153 * generated/minloc0_4_r10.c: Regenerated. 154 * generated/minloc0_4_r16.c: Regenerated. 155 * generated/minloc0_4_r4.c: Regenerated. 156 * generated/minloc0_4_r8.c: Regenerated. 157 * generated/minloc0_4_s1.c: Regenerated. 158 * generated/minloc0_4_s4.c: Regenerated. 159 * generated/minloc0_8_i1.c: Regenerated. 160 * generated/minloc0_8_i16.c: Regenerated. 161 * generated/minloc0_8_i2.c: Regenerated. 162 * generated/minloc0_8_i4.c: Regenerated. 163 * generated/minloc0_8_i8.c: Regenerated. 164 * generated/minloc0_8_r10.c: Regenerated. 165 * generated/minloc0_8_r16.c: Regenerated. 166 * generated/minloc0_8_r4.c: Regenerated. 167 * generated/minloc0_8_r8.c: Regenerated. 168 * generated/minloc0_8_s1.c: Regenerated. 169 * generated/minloc0_8_s4.c: Regenerated. 170 * generated/minloc1_16_i1.c: Regenerated. 171 * generated/minloc1_16_i16.c: Regenerated. 172 * generated/minloc1_16_i2.c: Regenerated. 173 * generated/minloc1_16_i4.c: Regenerated. 174 * generated/minloc1_16_i8.c: Regenerated. 175 * generated/minloc1_16_r10.c: Regenerated. 176 * generated/minloc1_16_r16.c: Regenerated. 177 * generated/minloc1_16_r4.c: Regenerated. 178 * generated/minloc1_16_r8.c: Regenerated. 179 * generated/minloc1_16_s1.c: Regenerated. 180 * generated/minloc1_16_s4.c: Regenerated. 181 * generated/minloc1_4_i1.c: Regenerated. 182 * generated/minloc1_4_i16.c: Regenerated. 183 * generated/minloc1_4_i2.c: Regenerated. 184 * generated/minloc1_4_i4.c: Regenerated. 185 * generated/minloc1_4_i8.c: Regenerated. 186 * generated/minloc1_4_r10.c: Regenerated. 187 * generated/minloc1_4_r16.c: Regenerated. 188 * generated/minloc1_4_r4.c: Regenerated. 189 * generated/minloc1_4_r8.c: Regenerated. 190 * generated/minloc1_4_s1.c: Regenerated. 191 * generated/minloc1_4_s4.c: Regenerated. 192 * generated/minloc1_8_i1.c: Regenerated. 193 * generated/minloc1_8_i16.c: Regenerated. 194 * generated/minloc1_8_i2.c: Regenerated. 195 * generated/minloc1_8_i4.c: Regenerated. 196 * generated/minloc1_8_i8.c: Regenerated. 197 * generated/minloc1_8_r10.c: Regenerated. 198 * generated/minloc1_8_r16.c: Regenerated. 199 * generated/minloc1_8_r4.c: Regenerated. 200 * generated/minloc1_8_r8.c: Regenerated. 201 * generated/minloc1_8_s1.c: Regenerated. 202 * generated/minloc1_8_s4.c: Regenerated. 203 * generated/minval0_s1.c: Regenerated. 204 * generated/minval0_s4.c: Regenerated. 205 * generated/minval1_s1.c: Regenerated. 206 * generated/minval1_s4.c: Regenerated. 207 * generated/minval_i1.c: Regenerated. 208 * generated/minval_i16.c: Regenerated. 209 * generated/minval_i2.c: Regenerated. 210 * generated/minval_i4.c: Regenerated. 211 * generated/minval_i8.c: Regenerated. 212 * generated/minval_r10.c: Regenerated. 213 * generated/minval_r16.c: Regenerated. 214 * generated/minval_r4.c: Regenerated. 215 * generated/minval_r8.c: Regenerated. 216 * generated/product_c10.c: Regenerated. 217 * generated/product_c16.c: Regenerated. 218 * generated/product_c4.c: Regenerated. 219 * generated/product_c8.c: Regenerated. 220 * generated/product_i1.c: Regenerated. 221 * generated/product_i16.c: Regenerated. 222 * generated/product_i2.c: Regenerated. 223 * generated/product_i4.c: Regenerated. 224 * generated/product_i8.c: Regenerated. 225 * generated/product_r10.c: Regenerated. 226 * generated/product_r16.c: Regenerated. 227 * generated/product_r4.c: Regenerated. 228 * generated/product_r8.c: Regenerated. 229 * generated/sum_c10.c: Regenerated. 230 * generated/sum_c16.c: Regenerated. 231 * generated/sum_c4.c: Regenerated. 232 * generated/sum_c8.c: Regenerated. 233 * generated/sum_i1.c: Regenerated. 234 * generated/sum_i16.c: Regenerated. 235 * generated/sum_i2.c: Regenerated. 236 * generated/sum_i4.c: Regenerated. 237 * generated/sum_i8.c: Regenerated. 238 * generated/sum_r10.c: Regenerated. 239 * generated/sum_r16.c: Regenerated. 240 * generated/sum_r4.c: Regenerated. 241 * generated/sum_r8.c: Regenerated. 242 2432018-12-29 Steven G. Kargl <kargl@gcc.gnu.org> 244 245 * gfortran.map: Expose subnormal functions in dynamic library. 246 * ieee/ieee_arithmetic.F90: Add support for IEEE_SUBNORMAL, 247 IEEE_POSITIVE_SUBNORMAL, and IEEE_NEGATIVE_SUBNORMAL. 248 * ieee/ieee_helper.c: Ditto. 249 * ieee/ieee_features.F90: Add IEEE_SUBNORMAL. 250 2512018-12-29 Steven G. Kargl <kargl@gcc.gnu.org> 252 253 PR fortran/88342 254 * ieee/ieee_arithmetic.F90: Prevent exceptions in IEEE_VALUE if 255 -ffpe-trap=invalid or -ffpe-trap=overflow is used. 256 2572018-12-28 Steven G. Kargl <kargl@gcc.gnu.org> 258 259 PR fortran/81984 260 * intrinsics/string_intrinsics_inc.c: Placate the sanitizer. 261 2622018-12-21 Steven G. Kargl <kargl@gcc.gnu.org> 263 264 PR fortran/69121 265 * ieee/ieee_arithmetic.F90: Provide missing interfaces for IEEE_SCALB. 266 2672018-12-20 Steven G. Kargl <kargl@gcc.gnu.org> 268 269 * ieee/ieee_arithmetic.F90: Re-organize file to 270 eliminate #ifdef ... #endif. No functional change. 271 2722018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org> 273 274 PR fortran/88411 275 * io/transfer.c (dta_transfer_init): Do not treat as an 276 asynchronous statement unless the statement has 277 ASYNCHRONOUS="YES". 278 (st_write_done): Likewise. 279 (st_read_done): Do not perform async_wait for synchronous I/O 280 on an async unit. 281 (st_read_done): Likewise. 282 2832018-12-02 Janne Blomqvist <jb@gcc.gnu.org> 284 285 PR libfortran/88137 286 * runtime/backtrace.c (show_backtrace): Use atomic load/store to 287 access the static lbstate pointer. 288 2892018-11-30 Janne Blomqvist <jb@gcc.gnu.org> 290 291 PR libfortran/88137 292 * runtime/backtrace.c (show_backtrace): Make lbstate a static 293 variable, initialize once. 294 2952018-11-23 Janne Blomqvist <jb@gcc.gnu.org> 296 297 * runtime/error.c (MAGIC): Remove. 298 (recursion_key): New variable. 299 (recursion_check): Use thread-specific variable for recursion 300 check if threads are active. 301 (constructor_recursion_check): New function. 302 (destructor_recursion_check): New funcion. 303 3042018-11-22 Janne Blomqvist <jb@gcc.gnu.org> 305 306 * acinclude.m4 (LIBGFOR_CHECK_ATOMIC_FETCH_ADD): Rename and test 307 presence of atomic builtins instead of sync builtins. 308 * configure.ac (LIBGFOR_CHECK_ATOMIC_FETCH_ADD): Call new test. 309 * io/io.h (inc_waiting_locked): Use __atomic_fetch_add. 310 (predec_waiting_locked): Use __atomic_add_fetch. 311 (dec_waiting_unlocked): Use __atomic_fetch_add. 312 * config.h.in: Regenerated. 313 * configure: Regenerated. 314 * Makefile.in: Regenerated. 315 3162018-11-09 Jerry DeLisle <jvdelisle@gcc.gnu.org> 317 318 PR libfortran/78351 319 * io/transfer.c (read_sf_internal): Delete leftover 320 debug code. 321 3222018-11-08 Jerry DeLisle <jvdelisle@gcc.gnu.org> 323 324 PR libfortran/78351 325 * io/transfer.c (read_sf_internal): Add support for early 326 comma termination of internal unit formatted reads. 327 3282018-10-31 Joseph Myers <joseph@codesourcery.com> 329 330 PR bootstrap/82856 331 * Makefile.am: Include multilib.am. 332 * configure.ac: Remove AC_PREREQ. 333 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate. 334 3352017-10-28 Thomas Koenig <tkoenig@gcc.gnu.org> 336 337 PR fortran/54613 338 * Makefile.am: Add files for findloc. 339 * Makefile.in: Regenerated. 340 * libgfortran.h (gfc_array_index_type): Add. 341 (gfc_array_s1): Add using GFC_UINTEGER_1. 342 (gfc_array_s4): Likewise. 343 Replace unnecessary comment. 344 (HAVE_GFC_UINTEGER_1): Define. 345 (HAVE_GFC_UINTEGER_4): Define. 346 * m4/findloc0.m4: New file. 347 * m4/findloc0s.m4: New file. 348 * m4/findloc1.m4: New file. 349 * m4/findloc1s.m4: New file. 350 * m4/findloc2s.m4: New file. 351 * m4/ifindloc0.m4: New file. 352 * m4/ifindloc1.m4: New file. 353 * m4/ifindloc2.m4: New file. 354 * m4/iparm.m4: Use unsigned integer for characters. 355 * generated/findloc0_c16.c: New file. 356 * generated/findloc0_c4.c: New file. 357 * generated/findloc0_c8.c: New file. 358 * generated/findloc0_i1.c: New file. 359 * generated/findloc0_i16.c: New file. 360 * generated/findloc0_i2.c: New file. 361 * generated/findloc0_i4.c: New file. 362 * generated/findloc0_i8.c: New file. 363 * generated/findloc0_r16.c: New file. 364 * generated/findloc0_r4.c: New file. 365 * generated/findloc0_r8.c: New file. 366 * generated/findloc0_s1.c: New file. 367 * generated/findloc0_s4.c: New file. 368 * generated/findloc1_c16.c: New file. 369 * generated/findloc1_c4.c: New file. 370 * generated/findloc1_c8.c: New file. 371 * generated/findloc1_i1.c: New file. 372 * generated/findloc1_i16.c: New file. 373 * generated/findloc1_i2.c: New file. 374 * generated/findloc1_i4.c: New file. 375 * generated/findloc1_i8.c: New file. 376 * generated/findloc1_r16.c: New file. 377 * generated/findloc1_r4.c: New file. 378 * generated/findloc1_r8.c: New file. 379 * generated/findloc1_s1.c: New file. 380 * generated/findloc1_s4.c: New file. 381 * generated/findloc2_s1.c: New file. 382 * generated/findloc2_s4.c: New file. 383 * generated/maxloc0_16_s1.c: Regenerated. 384 * generated/maxloc0_16_s4.c: Regenerated. 385 * generated/maxloc0_4_s1.c: Regenerated. 386 * generated/maxloc0_4_s4.c: Regenerated. 387 * generated/maxloc0_8_s1.c: Regenerated. 388 * generated/maxloc0_8_s4.c: Regenerated. 389 * generated/maxloc1_16_s1.c: Regenerated. 390 * generated/maxloc1_16_s4.c: Regenerated. 391 * generated/maxloc1_4_s1.c: Regenerated. 392 * generated/maxloc1_4_s4.c: Regenerated. 393 * generated/maxloc1_8_s1.c: Regenerated. 394 * generated/maxloc1_8_s4.c: Regenerated. 395 * generated/maxloc2_16_s1.c: Regenerated. 396 * generated/maxloc2_16_s4.c: Regenerated. 397 * generated/maxloc2_4_s1.c: Regenerated. 398 * generated/maxloc2_4_s4.c: Regenerated. 399 * generated/maxloc2_8_s1.c: Regenerated. 400 * generated/maxloc2_8_s4.c: Regenerated. 401 * generated/maxval0_s1.c: Regenerated. 402 * generated/maxval0_s4.c: Regenerated. 403 * generated/maxval1_s1.c: Regenerated. 404 * generated/maxval1_s4.c: Regenerated. 405 * generated/minloc0_16_s1.c: Regenerated. 406 * generated/minloc0_16_s4.c: Regenerated. 407 * generated/minloc0_4_s1.c: Regenerated. 408 * generated/minloc0_4_s4.c: Regenerated. 409 * generated/minloc0_8_s1.c: Regenerated. 410 * generated/minloc0_8_s4.c: Regenerated. 411 * generated/minloc1_16_s1.c: Regenerated. 412 * generated/minloc1_16_s4.c: Regenerated. 413 * generated/minloc1_4_s1.c: Regenerated. 414 * generated/minloc1_4_s4.c: Regenerated. 415 * generated/minloc1_8_s1.c: Regenerated. 416 * generated/minloc1_8_s4.c: Regenerated. 417 * generated/minloc2_16_s1.c: Regenerated. 418 * generated/minloc2_16_s4.c: Regenerated. 419 * generated/minloc2_4_s1.c: Regenerated. 420 * generated/minloc2_4_s4.c: Regenerated. 421 * generated/minloc2_8_s1.c: Regenerated. 422 * generated/minloc2_8_s4.c: Regenerated. 423 * generated/minval0_s1.c: Regenerated. 424 * generated/minval0_s4.c: Regenerated. 425 * generated/minval1_s1.c: Regenerated. 426 * generated/minval1_s4.c: Regenerated. 427 4282018-10-06 Janne Blomqvist <jb@gcc.gnu.org> 429 430 * io/unix.c (compare_file_filename): Use gfc_charlen_type instead 431 of int for string length. 432 (inquire_sequential): Likewise. 433 (inquire_direct): Likewise. 434 (inquire_formatted): Likewise. 435 (inquire_unformatted): Likewise. 436 (inquire_access): Likewise. 437 (inquire_read): Likewise. 438 (inquire_write): Likewise. 439 (inquire_readwrite): Likewise. 440 * io/unix.h (compare_file_filename): Likewise. 441 (inquire_sequential): Likewise. 442 (inquire_direct): Likewise. 443 (inquire_formatted): Likewise. 444 (inquire_unformatted): Likewise. 445 (inquire_read): Likewise. 446 (inquire_write): Likewise. 447 (inquire_readwrite): Likewise. 448 4492018-10-02 Gerald Pfeifer <gerald@pfeifer.com> 450 451 * io/close.c [!HAVE_UNLINK_OPEN_FILE]: Include <string.h>. 452 4532018-09-21 Janne Blomqvist <jb@gcc.gnu.org> 454 455 * config.h.in: Regenerated. 456 * configure: Regenerated. 457 * configure.ac: Check for writev and sys/uio.h. 458 * libgfortran.h: Include sys/uio.h. 459 (st_vprintf): Remove prototype. 460 (struct iovec): Define if not available. 461 (estr_writev): New prototype. 462 * runtime/backtrace.c (error_callback): Use estr_writev. 463 * runtime/error.c (ST_VPRINTF_SIZE): Remove. 464 (estr_writev): New function. 465 (st_vprintf): Remove. 466 (gf_vsnprintf): New function. 467 (ST_ERRBUF_SIZE): New macro. 468 (st_printf): Use vsnprintf. 469 (os_error): Use estr_writev. 470 (runtime_error): Use vsnprintf and estr_writev. 471 (runtime_error_at): Likewise. 472 (runtime_warning_at): Likewise. 473 (internal_error): Use estr_writev. 474 (generate_error_common): Likewise. 475 (generate_warning): Likewise. 476 (notify_std): Likewise. 477 * runtime/pause.c (pause_string): Likewise. 478 * runtime/stop.c (report_exception): Likewise. 479 (stop_string): Likewise. 480 (error_stop_string): Likewise. 481 4822018-09-16 Thomas Koenig <tkoenig@gcc.gnu.org> 483 484 PR fortran/37802 485 * m4/matmul_internal.m4: Adjust error messages. 486 * generated/matmul_c10.c: Regenerated. 487 * generated/matmul_c16.c: Regenerated. 488 * generated/matmul_c4.c: Regenerated. 489 * generated/matmul_c8.c: Regenerated. 490 * generated/matmul_i1.c: Regenerated. 491 * generated/matmul_i16.c: Regenerated. 492 * generated/matmul_i2.c: Regenerated. 493 * generated/matmul_i4.c: Regenerated. 494 * generated/matmul_i8.c: Regenerated. 495 * generated/matmul_r10.c: Regenerated. 496 * generated/matmul_r16.c: Regenerated. 497 * generated/matmul_r4.c: Regenerated. 498 * generated/matmul_r8.c: Regenerated. 499 * generated/matmulavx128_c10.c: Regenerated. 500 * generated/matmulavx128_c16.c: Regenerated. 501 * generated/matmulavx128_c4.c: Regenerated. 502 * generated/matmulavx128_c8.c: Regenerated. 503 * generated/matmulavx128_i1.c: Regenerated. 504 * generated/matmulavx128_i16.c: Regenerated. 505 * generated/matmulavx128_i2.c: Regenerated. 506 * generated/matmulavx128_i4.c: Regenerated. 507 * generated/matmulavx128_i8.c: Regenerated. 508 * generated/matmulavx128_r10.c: Regenerated. 509 * generated/matmulavx128_r16.c: Regenerated. 510 * generated/matmulavx128_r4.c: Regenerated. 511 * generated/matmulavx128_r8.c: Regenerated. 512 5132018-09-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 514 515 * io/unix.c (fallback_access): Avoid calling close on 516 uninitialized file descriptor. 517 5182018-09-12 Kwok Cheung Yeung <kcy@codesourcery.com> 519 520 * runtime/minimal.c (estr_write): Define in terms of write. 521 5222018-09-12 Andrew Stubbs <ams@codesourcery.com> 523 524 * runtime/minimal.c (exit): Only work around nvptx bugs on nvptx. 525 5262018-09-07 Janne Blomqvist <jb@gcc.gnu.org> 527 528 * runtime/environ.c (init_unsigned_integer): Remove. 529 5302018-09-05 Hans-Peter Nilsson <hp@axis.com> 531 532 * io/async.h: Use __gthread_mutex_t, not pthread_mutex_t. 533 5342018-09-01 Jerry DeLisle <jvdelisle@gcc.gnu.org> 535 536 * io/io.h: Change declaration of vlist type to 537 gfc_full_array_i4 to eliminate warning for mismatched type. 538 * io/format.c ((parse_format_list): Use gfc_full_array_i4. 539 * io/io.h: Use gfc_full_array_i4. 540 5412018-08-25 Thomas Koenig <tkoenig@gcc.gnu.org> 542 543 PR libfortran/86704 544 * m4/matmul_internal.m4: Correct calculation of needed buffer size 545 for arrays of shape (1,n). 546 * generated/matmul_c10.c: Regenerated 547 * generated/matmul_c16.c: Regenerated 548 * generated/matmul_c4.c: Regenerated 549 * generated/matmul_c8.c: Regenerated 550 * generated/matmul_i1.c: Regenerated 551 * generated/matmul_i16.c: Regenerated 552 * generated/matmul_i2.c: Regenerated 553 * generated/matmul_i4.c: Regenerated 554 * generated/matmul_i8.c: Regenerated 555 * generated/matmul_r10.c: Regenerated 556 * generated/matmul_r16.c: Regenerated 557 * generated/matmul_r4.c: Regenerated 558 * generated/matmul_r8.c: Regenerated 559 * generated/matmulavx128_c10.c: Regenerated 560 * generated/matmulavx128_c16.c: Regenerated 561 * generated/matmulavx128_c4.c: Regenerated 562 * generated/matmulavx128_c8.c: Regenerated 563 * generated/matmulavx128_i1.c: Regenerated 564 * generated/matmulavx128_i16.c: Regenerated 565 * generated/matmulavx128_i2.c: Regenerated 566 * generated/matmulavx128_i4.c: Regenerated 567 * generated/matmulavx128_i8.c: Regenerated 568 * generated/matmulavx128_r10.c: Regenerated 569 * generated/matmulavx128_r16.c: Regenerated 570 * generated/matmulavx128_r4.c: Regenerated 571 * generated/matmulavx128_r8.c: Regenerated 572 5732018-08-23 David Edelsohn <dje.gcc@gmail.com> 574 575 * async.h (ASYNC_IO): Revert _AIX test. 576 5772018-08-22 Thomas Koenig <tkoenig@gcc.gnu.org> 578 579 * async.h: Set ASYNC_IO to zero if _AIX is defined. 580 (struct adv_cond): If ASYNC_IO is zero, the struct has no members. 581 (async_unit): If ASYNC_IO is zero, remove unneeded members. 582 5832018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org> 584 Thomas Koenig <tkoenig@gcc.gnu.org> 585 586 PR fortran/25829 587 * Makefile.am: Add async.c to gfor_io_src. 588 Add async.h to gfor_io_headers. 589 * Makefile.in: Regenerated. 590 * gfortran.map: Add _gfortran_st_wait_async. 591 * io/async.c: New file. 592 * io/async.h: New file. 593 * io/close.c: Include async.h. 594 (st_close): Call async_wait for an asynchronous unit. 595 * io/file_pos.c (st_backspace): Likewise. 596 (st_endfile): Likewise. 597 (st_rewind): Likewise. 598 (st_flush): Likewise. 599 * io/inquire.c: Add handling for asynchronous PENDING 600 and ID arguments. 601 * io/io.h (st_parameter_dt): Add async bit. 602 (st_parameter_wait): Correct. 603 (gfc_unit): Add au pointer. 604 (st_wait_async): Add prototype. 605 (transfer_array_inner): Likewise. 606 (st_write_done_worker): Likewise. 607 * io/open.c: Include async.h. 608 (new_unit): Initialize asynchronous unit. 609 * io/transfer.c (async_opt): New struct. 610 (wrap_scalar_transfer): New function. 611 (transfer_integer): Call wrap_scalar_transfer to do the work. 612 (transfer_real): Likewise. 613 (transfer_real_write): Likewise. 614 (transfer_character): Likewise. 615 (transfer_character_wide): Likewise. 616 (transfer_complex): Likewise. 617 (transfer_array_inner): New function. 618 (transfer_array): Call transfer_array_inner. 619 (transfer_derived): Call wrap_scalar_transfer. 620 (data_transfer_init): Check for asynchronous I/O. 621 Perform a wait operation on any pending asynchronous I/O 622 if the data transfer is synchronous. Copy PDT and enqueue 623 thread for data transfer. 624 (st_read_done_worker): New function. 625 (st_read_done): Enqueue transfer or call st_read_done_worker. 626 (st_write_done_worker): New function. 627 (st_write_done): Enqueue transfer or call st_read_done_worker. 628 (st_wait): Document as no-op for compatibility reasons. 629 (st_wait_async): New function. 630 * io/unit.c (insert_unit): Use macros LOCK, UNLOCK and TRYLOCK; 631 add NOTE where necessary. 632 (get_gfc_unit): Likewise. 633 (init_units): Likewise. 634 (close_unit_1): Likewise. Call async_close if asynchronous. 635 (close_unit): Use macros LOCK and UNLOCK. 636 (finish_last_advance_record): Likewise. 637 (newunit_alloc): Likewise. 638 * io/unix.c (find_file): Likewise. 639 (flush_all_units_1): Likewise. 640 (flush_all_units): Likewise. 641 * libgfortran.h (generate_error_common): Add prototype. 642 * runtime/error.c: Include io.h and async.h. 643 (generate_error_common): New function. 644 6452018-08-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 646 647 * configure.ac: Check for <sys/random.h>. 648 * configure, config.h.in: Regenerate. 649 * intrinsics/random.c [HAVE_SYS_RANDOM_H]: Include <sys/random.h>. 650 6512018-08-13 Janne Blomqvist <jb@gcc.gnu.org> 652 653 * configure.ac: Check for getentropy. 654 * intrinsics/random.c (getosrandom): Use getentropy if available. 655 * config.h.in: Regenerated. 656 * configure: Regenerated. 657 6582018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com> 659 660 Revert 'AsyncI/O patch committed' 661 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org> 662 Thomas Koenig <tkoenig@gcc.gnu.org> 663 664 PR fortran/25829 665 * Makefile.am: Add async.c to gfor_io_src. 666 Add async.h to gfor_io_headers. 667 * Makefile.in: Regenerated. 668 * gfortran.map: Add _gfortran_st_wait_async. 669 * io/async.c: New file. 670 * io/async.h: New file. 671 * io/close.c: Include async.h. 672 (st_close): Call async_wait for an asynchronous unit. 673 * io/file_pos.c (st_backspace): Likewise. 674 (st_endfile): Likewise. 675 (st_rewind): Likewise. 676 (st_flush): Likewise. 677 * io/inquire.c: Add handling for asynchronous PENDING 678 and ID arguments. 679 * io/io.h (st_parameter_dt): Add async bit. 680 (st_parameter_wait): Correct. 681 (gfc_unit): Add au pointer. 682 (st_wait_async): Add prototype. 683 (transfer_array_inner): Likewise. 684 (st_write_done_worker): Likewise. 685 * io/open.c: Include async.h. 686 (new_unit): Initialize asynchronous unit. 687 * io/transfer.c (async_opt): New struct. 688 (wrap_scalar_transfer): New function. 689 (transfer_integer): Call wrap_scalar_transfer to do the work. 690 (transfer_real): Likewise. 691 (transfer_real_write): Likewise. 692 (transfer_character): Likewise. 693 (transfer_character_wide): Likewise. 694 (transfer_complex): Likewise. 695 (transfer_array_inner): New function. 696 (transfer_array): Call transfer_array_inner. 697 (transfer_derived): Call wrap_scalar_transfer. 698 (data_transfer_init): Check for asynchronous I/O. 699 Perform a wait operation on any pending asynchronous I/O 700 if the data transfer is synchronous. Copy PDT and enqueue 701 thread for data transfer. 702 (st_read_done_worker): New function. 703 (st_read_done): Enqueue transfer or call st_read_done_worker. 704 (st_write_done_worker): New function. 705 (st_write_done): Enqueue transfer or call st_read_done_worker. 706 (st_wait): Document as no-op for compatibility reasons. 707 (st_wait_async): New function. 708 * io/unit.c (insert_unit): Use macros LOCK, UNLOCK and TRYLOCK; 709 add NOTE where necessary. 710 (get_gfc_unit): Likewise. 711 (init_units): Likewise. 712 (close_unit_1): Likewise. Call async_close if asynchronous. 713 (close_unit): Use macros LOCK and UNLOCK. 714 (finish_last_advance_record): Likewise. 715 (newunit_alloc): Likewise. 716 * io/unix.c (find_file): Likewise. 717 (flush_all_units_1): Likewise. 718 (flush_all_units): Likewise. 719 * libgfortran.h (generate_error_common): Add prototype. 720 * runtime/error.c: Include io.h and async.h. 721 (generate_error_common): New function. 722 7232018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org> 724 Thomas Koenig <tkoenig@gcc.gnu.org> 725 726 PR fortran/25829 727 * Makefile.am: Add async.c to gfor_io_src. 728 Add async.h to gfor_io_headers. 729 * Makefile.in: Regenerated. 730 * gfortran.map: Add _gfortran_st_wait_async. 731 * io/async.c: New file. 732 * io/async.h: New file. 733 * io/close.c: Include async.h. 734 (st_close): Call async_wait for an asynchronous unit. 735 * io/file_pos.c (st_backspace): Likewise. 736 (st_endfile): Likewise. 737 (st_rewind): Likewise. 738 (st_flush): Likewise. 739 * io/inquire.c: Add handling for asynchronous PENDING 740 and ID arguments. 741 * io/io.h (st_parameter_dt): Add async bit. 742 (st_parameter_wait): Correct. 743 (gfc_unit): Add au pointer. 744 (st_wait_async): Add prototype. 745 (transfer_array_inner): Likewise. 746 (st_write_done_worker): Likewise. 747 * io/open.c: Include async.h. 748 (new_unit): Initialize asynchronous unit. 749 * io/transfer.c (async_opt): New struct. 750 (wrap_scalar_transfer): New function. 751 (transfer_integer): Call wrap_scalar_transfer to do the work. 752 (transfer_real): Likewise. 753 (transfer_real_write): Likewise. 754 (transfer_character): Likewise. 755 (transfer_character_wide): Likewise. 756 (transfer_complex): Likewise. 757 (transfer_array_inner): New function. 758 (transfer_array): Call transfer_array_inner. 759 (transfer_derived): Call wrap_scalar_transfer. 760 (data_transfer_init): Check for asynchronous I/O. 761 Perform a wait operation on any pending asynchronous I/O 762 if the data transfer is synchronous. Copy PDT and enqueue 763 thread for data transfer. 764 (st_read_done_worker): New function. 765 (st_read_done): Enqueue transfer or call st_read_done_worker. 766 (st_write_done_worker): New function. 767 (st_write_done): Enqueue transfer or call st_read_done_worker. 768 (st_wait): Document as no-op for compatibility reasons. 769 (st_wait_async): New function. 770 * io/unit.c (insert_unit): Use macros LOCK, UNLOCK and TRYLOCK; 771 add NOTE where necessary. 772 (get_gfc_unit): Likewise. 773 (init_units): Likewise. 774 (close_unit_1): Likewise. Call async_close if asynchronous. 775 (close_unit): Use macros LOCK and UNLOCK. 776 (finish_last_advance_record): Likewise. 777 (newunit_alloc): Likewise. 778 * io/unix.c (find_file): Likewise. 779 (flush_all_units_1): Likewise. 780 (flush_all_units): Likewise. 781 * libgfortran.h (generate_error_common): Add prototype. 782 * runtime/error.c: Include io.h and async.h. 783 (generate_error_common): New function. 784 7852018-06-09 Jerry DeLisle <jvdelisle@gcc.gnu.org> 786 787 PR libgfortran/86070 788 * io/write_float.def (build_float_string): Initialize *len. 789 7902018-06-01 Steven G. Kargl <kargl@gcc.gnu.org> 791 792 PR fortran/85816 793 PR fortran/85975 794 * libgfortran.h: Remove the GFC_DTYPE_COPY_SETRANK macro. 795 * intrinsics/reshape_generic.c: Directly assign rank. 796 * intrinsics/spread_generic.c: Ditto. 797 * m4/iforeach-s.m4: Ditto. 798 * m4/iforeach.m4: Ditto. 799 * m4/ifunction-s.m4: Ditto. 800 * m4/ifunction-s2.m4: Ditto. 801 * m4/ifunction.m4: Ditto. 802 * m4/ifunction_logical.m4: Ditto. 803 * m4/reshape.m4: Ditto. 804 * m4/spread.m4: Ditto. 805 * generated/all_l1.c: Regenerated from m4 files. 806 * generated/all_l16.c: Ditto. 807 * generated/all_l2.c: Ditto. 808 * generated/all_l4.c: Ditto. 809 * generated/all_l8.c: Ditto. 810 * generated/any_l1.c: Ditto. 811 * generated/any_l16.c: Ditto. 812 * generated/any_l2.c: Ditto. 813 * generated/any_l4.c: Ditto. 814 * generated/any_l8.c: Ditto. 815 * generated/count_16_l.c: Ditto. 816 * generated/count_1_l.c: Ditto. 817 * generated/count_2_l.c: Ditto. 818 * generated/count_4_l.c: Ditto. 819 * generated/count_8_l.c: Ditto. 820 * generated/iall_i1.c: Ditto. 821 * generated/iall_i16.c: Ditto. 822 * generated/iall_i2.c: Ditto. 823 * generated/iall_i4.c: Ditto. 824 * generated/iall_i8.c: Ditto. 825 * generated/iany_i1.c: Ditto. 826 * generated/iany_i16.c: Ditto. 827 * generated/iany_i2.c: Ditto. 828 * generated/iany_i4.c: Ditto. 829 * generated/iany_i8.c: Ditto. 830 * generated/iparity_i1.c: Ditto. 831 * generated/iparity_i16.c: Ditto. 832 * generated/iparity_i2.c: Ditto. 833 * generated/iparity_i4.c: Ditto. 834 * generated/iparity_i8.c: Ditto. 835 * generated/maxloc0_16_i1.c: Ditto. 836 * generated/maxloc0_16_i16.c: Ditto. 837 * generated/maxloc0_16_i2.c: Ditto. 838 * generated/maxloc0_16_i4.c: Ditto. 839 * generated/maxloc0_16_i8.c: Ditto. 840 * generated/maxloc0_16_r10.c: Ditto. 841 * generated/maxloc0_16_r16.c: Ditto. 842 * generated/maxloc0_16_r4.c: Ditto. 843 * generated/maxloc0_16_r8.c: Ditto. 844 * generated/maxloc0_16_s1.c: Ditto. 845 * generated/maxloc0_16_s4.c: Ditto. 846 * generated/maxloc0_4_i1.c: Ditto. 847 * generated/maxloc0_4_i16.c: Ditto. 848 * generated/maxloc0_4_i2.c: Ditto. 849 * generated/maxloc0_4_i4.c: Ditto. 850 * generated/maxloc0_4_i8.c: Ditto. 851 * generated/maxloc0_4_r10.c: Ditto. 852 * generated/maxloc0_4_r16.c: Ditto. 853 * generated/maxloc0_4_r4.c: Ditto. 854 * generated/maxloc0_4_r8.c: Ditto. 855 * generated/maxloc0_4_s1.c: Ditto. 856 * generated/maxloc0_4_s4.c: Ditto. 857 * generated/maxloc0_8_i1.c: Ditto. 858 * generated/maxloc0_8_i16.c: Ditto. 859 * generated/maxloc0_8_i2.c: Ditto. 860 * generated/maxloc0_8_i4.c: Ditto. 861 * generated/maxloc0_8_i8.c: Ditto. 862 * generated/maxloc0_8_r10.c: Ditto. 863 * generated/maxloc0_8_r16.c: Ditto. 864 * generated/maxloc0_8_r4.c: Ditto. 865 * generated/maxloc0_8_r8.c: Ditto. 866 * generated/maxloc0_8_s1.c: Ditto. 867 * generated/maxloc0_8_s4.c: Ditto. 868 * generated/maxloc1_16_i1.c: Ditto. 869 * generated/maxloc1_16_i16.c: Ditto. 870 * generated/maxloc1_16_i2.c: Ditto. 871 * generated/maxloc1_16_i4.c: Ditto. 872 * generated/maxloc1_16_i8.c: Ditto. 873 * generated/maxloc1_16_r10.c: Ditto. 874 * generated/maxloc1_16_r16.c: Ditto. 875 * generated/maxloc1_16_r4.c: Ditto. 876 * generated/maxloc1_16_r8.c: Ditto. 877 * generated/maxloc1_16_s1.c: Ditto. 878 * generated/maxloc1_16_s4.c: Ditto. 879 * generated/maxloc1_4_i1.c: Ditto. 880 * generated/maxloc1_4_i16.c: Ditto. 881 * generated/maxloc1_4_i2.c: Ditto. 882 * generated/maxloc1_4_i4.c: Ditto. 883 * generated/maxloc1_4_i8.c: Ditto. 884 * generated/maxloc1_4_r10.c: Ditto. 885 * generated/maxloc1_4_r16.c: Ditto. 886 * generated/maxloc1_4_r4.c: Ditto. 887 * generated/maxloc1_4_r8.c: Ditto. 888 * generated/maxloc1_4_s1.c: Ditto. 889 * generated/maxloc1_4_s4.c: Ditto. 890 * generated/maxloc1_8_i1.c: Ditto. 891 * generated/maxloc1_8_i16.c: Ditto. 892 * generated/maxloc1_8_i2.c: Ditto. 893 * generated/maxloc1_8_i4.c: Ditto. 894 * generated/maxloc1_8_i8.c: Ditto. 895 * generated/maxloc1_8_r10.c: Ditto. 896 * generated/maxloc1_8_r16.c: Ditto. 897 * generated/maxloc1_8_r4.c: Ditto. 898 * generated/maxloc1_8_r8.c: Ditto. 899 * generated/maxloc1_8_s1.c: Ditto. 900 * generated/maxloc1_8_s4.c: Ditto. 901 * generated/maxval1_s1.c: Ditto. 902 * generated/maxval1_s4.c: Ditto. 903 * generated/maxval_i1.c: Ditto. 904 * generated/maxval_i16.c: Ditto. 905 * generated/maxval_i2.c: Ditto. 906 * generated/maxval_i4.c: Ditto. 907 * generated/maxval_i8.c: Ditto. 908 * generated/maxval_r10.c: Ditto. 909 * generated/maxval_r16.c: Ditto. 910 * generated/maxval_r4.c: Ditto. 911 * generated/maxval_r8.c: Ditto. 912 * generated/minloc0_16_i1.c: Ditto. 913 * generated/minloc0_16_i16.c: Ditto. 914 * generated/minloc0_16_i2.c: Ditto. 915 * generated/minloc0_16_i4.c: Ditto. 916 * generated/minloc0_16_i8.c: Ditto. 917 * generated/minloc0_16_r10.c: Ditto. 918 * generated/minloc0_16_r16.c: Ditto. 919 * generated/minloc0_16_r4.c: Ditto. 920 * generated/minloc0_16_r8.c: Ditto. 921 * generated/minloc0_16_s1.c: Ditto. 922 * generated/minloc0_16_s4.c: Ditto. 923 * generated/minloc0_4_i1.c: Ditto. 924 * generated/minloc0_4_i16.c: Ditto. 925 * generated/minloc0_4_i2.c: Ditto. 926 * generated/minloc0_4_i4.c: Ditto. 927 * generated/minloc0_4_i8.c: Ditto. 928 * generated/minloc0_4_r10.c: Ditto. 929 * generated/minloc0_4_r16.c: Ditto. 930 * generated/minloc0_4_r4.c: Ditto. 931 * generated/minloc0_4_r8.c: Ditto. 932 * generated/minloc0_4_s1.c: Ditto. 933 * generated/minloc0_4_s4.c: Ditto. 934 * generated/minloc0_8_i1.c: Ditto. 935 * generated/minloc0_8_i16.c: Ditto. 936 * generated/minloc0_8_i2.c: Ditto. 937 * generated/minloc0_8_i4.c: Ditto. 938 * generated/minloc0_8_i8.c: Ditto. 939 * generated/minloc0_8_r10.c: Ditto. 940 * generated/minloc0_8_r16.c: Ditto. 941 * generated/minloc0_8_r4.c: Ditto. 942 * generated/minloc0_8_r8.c: Ditto. 943 * generated/minloc0_8_s1.c: Ditto. 944 * generated/minloc0_8_s4.c: Ditto. 945 * generated/minloc1_16_i1.c: Ditto. 946 * generated/minloc1_16_i16.c: Ditto. 947 * generated/minloc1_16_i2.c: Ditto. 948 * generated/minloc1_16_i4.c: Ditto. 949 * generated/minloc1_16_i8.c: Ditto. 950 * generated/minloc1_16_r10.c: Ditto. 951 * generated/minloc1_16_r16.c: Ditto. 952 * generated/minloc1_16_r4.c: Ditto. 953 * generated/minloc1_16_r8.c: Ditto. 954 * generated/minloc1_16_s1.c: Ditto. 955 * generated/minloc1_16_s4.c: Ditto. 956 * generated/minloc1_4_i1.c: Ditto. 957 * generated/minloc1_4_i16.c: Ditto. 958 * generated/minloc1_4_i2.c: Ditto. 959 * generated/minloc1_4_i4.c: Ditto. 960 * generated/minloc1_4_i8.c: Ditto. 961 * generated/minloc1_4_r10.c: Ditto. 962 * generated/minloc1_4_r16.c: Ditto. 963 * generated/minloc1_4_r4.c: Ditto. 964 * generated/minloc1_4_r8.c: Ditto. 965 * generated/minloc1_4_s1.c: Ditto. 966 * generated/minloc1_4_s4.c: Ditto. 967 * generated/minloc1_8_i1.c: Ditto. 968 * generated/minloc1_8_i16.c: Ditto. 969 * generated/minloc1_8_i2.c: Ditto. 970 * generated/minloc1_8_i4.c: Ditto. 971 * generated/minloc1_8_i8.c: Ditto. 972 * generated/minloc1_8_r10.c: Ditto. 973 * generated/minloc1_8_r16.c: Ditto. 974 * generated/minloc1_8_r4.c: Ditto. 975 * generated/minloc1_8_r8.c: Ditto. 976 * generated/minloc1_8_s1.c: Ditto. 977 * generated/minloc1_8_s4.c: Ditto. 978 * generated/minval1_s1.c: Ditto. 979 * generated/minval1_s4.c: Ditto. 980 * generated/minval_i1.c: Ditto. 981 * generated/minval_i16.c: Ditto. 982 * generated/minval_i2.c: Ditto. 983 * generated/minval_i4.c: Ditto. 984 * generated/minval_i8.c: Ditto. 985 * generated/minval_r10.c: Ditto. 986 * generated/minval_r16.c: Ditto. 987 * generated/minval_r4.c: Ditto. 988 * generated/minval_r8.c: Ditto. 989 * generated/norm2_r10.c: Ditto. 990 * generated/norm2_r16.c: Ditto. 991 * generated/norm2_r4.c: Ditto. 992 * generated/norm2_r8.c: Ditto. 993 * generated/parity_l1.c: Ditto. 994 * generated/parity_l16.c: Ditto. 995 * generated/parity_l2.c: Ditto. 996 * generated/parity_l4.c: Ditto. 997 * generated/parity_l8.c: Ditto. 998 * generated/product_c10.c: Ditto. 999 * generated/product_c16.c: Ditto. 1000 * generated/product_c4.c: Ditto. 1001 * generated/product_c8.c: Ditto. 1002 * generated/product_i1.c: Ditto. 1003 * generated/product_i16.c: Ditto. 1004 * generated/product_i2.c: Ditto. 1005 * generated/product_i4.c: Ditto. 1006 * generated/product_i8.c: Ditto. 1007 * generated/product_r10.c: Ditto. 1008 * generated/product_r16.c: Ditto. 1009 * generated/product_r4.c: Ditto. 1010 * generated/product_r8.c: Ditto. 1011 * generated/reshape_c10.c: Ditto. 1012 * generated/reshape_c16.c: Ditto. 1013 * generated/reshape_c4.c: Ditto. 1014 * generated/reshape_c8.c: Ditto. 1015 * generated/reshape_i16.c: Ditto. 1016 * generated/reshape_i4.c: Ditto. 1017 * generated/reshape_i8.c: Ditto. 1018 * generated/reshape_r10.c: Ditto. 1019 * generated/reshape_r16.c: Ditto. 1020 * generated/reshape_r4.c: Ditto. 1021 * generated/reshape_r8.c: Ditto. 1022 * generated/spread_c10.c: Ditto. 1023 * generated/spread_c16.c: Ditto. 1024 * generated/spread_c4.c: Ditto. 1025 * generated/spread_c8.c: Ditto. 1026 * generated/spread_i1.c: Ditto. 1027 * generated/spread_i16.c: Ditto. 1028 * generated/spread_i2.c: Ditto. 1029 * generated/spread_i4.c: Ditto. 1030 * generated/spread_i8.c: Ditto. 1031 * generated/spread_r10.c: Ditto. 1032 * generated/spread_r16.c: Ditto. 1033 * generated/spread_r4.c: Ditto. 1034 * generated/spread_r8.c: Ditto. 1035 * generated/sum_c10.c: Ditto. 1036 * generated/sum_c16.c: Ditto. 1037 * generated/sum_c4.c: Ditto. 1038 * generated/sum_c8.c: Ditto. 1039 * generated/sum_i1.c: Ditto. 1040 * generated/sum_i16.c: Ditto. 1041 * generated/sum_i2.c: Ditto. 1042 * generated/sum_i4.c: Ditto. 1043 * generated/sum_i8.c: Ditto. 1044 * generated/sum_r10.c: Ditto. 1045 * generated/sum_r16.c: Ditto. 1046 * generated/sum_r4.c: Ditto. 1047 * generated/sum_r8.c: Ditto. 1048 10492018-06-01 Steven G. Kargl <kargl@gcc.gnu.org> 1050 1051 PR fortran/63570 1052 * libgfortran/Makefile.am: Add random_init.f90 to build. 1053 * libgfortran/Makefile.in: Regenerated. 1054 * libgfortran/gfortran.map: Expose symbol for _gfortran_random_init. 1055 * libgfortran/intrinsics/random_init.f90: Implementation. 1056 10572018-05-28 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1058 1059 PR libgfortran/85840 1060 * io/write.c (write_real, write_real_g0, write_complex): Use 1061 separate local variables for the float string length. 1062 10632018-05-26 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1064 1065 PR libgfortran/85906 1066 * io/write.c (write_integer): Initialise the fnode format to 1067 FMT_NONE, used for list directed write. 1068 (BUF_STACK_SZ): Bump default buffer size up to avoid allocs on 1069 small stuff. 1070 10712018-05-26 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1072 1073 PR libgfortran/85840 1074 * io/write.c (write_float_0): Use separate local variable for 1075 the float string length. 1076 10772018-05-08 Thomas Koenig <tkoenig@gcc.gnu.org> 1078 1079 PR fortran/54613 1080 * m4/iforeach-s.m4: Remove assertion that back is zero. 1081 * m4/iforeach.m4: Likewise. Remove leading 'do' 1082 before implementation start. 1083 * m4/ifunction-s.m4: Remove assertion that back is zero. 1084 * m4/ifunction.m4: Likewise. Remove for loop if HAVE_BACK_ARG 1085 is defined. 1086 * m4/maxloc0.m4: Reorganize loops. Split loops between >= and =, 1087 depending if back is true. Mark the condition of having 1088 found a value which exceeds the limit as unlikely. 1089 * m4/minloc0.m4: Likewise. 1090 * m4/maxloc1.m4: Likewise. 1091 * m4/minloc1.m4: Likewise. 1092 * m4/maxloc1s.m4: Handle back argument. 1093 * m4/minloc1s.m4: Likewise. 1094 * m4/maxloc2s.m4: Remove assertion that back is zero. 1095 Remove special handling of loop start. Handle back argument. 1096 * m4/minloc2s.m4: Likewise. 1097 * generated/iall_i1.c: Regenerated. 1098 * generated/iall_i16.c: Regenerated. 1099 * generated/iall_i2.c: Regenerated. 1100 * generated/iall_i4.c: Regenerated. 1101 * generated/iall_i8.c: Regenerated. 1102 * generated/iany_i1.c: Regenerated. 1103 * generated/iany_i16.c: Regenerated. 1104 * generated/iany_i2.c: Regenerated. 1105 * generated/iany_i4.c: Regenerated. 1106 * generated/iany_i8.c: Regenerated. 1107 * generated/iparity_i1.c: Regenerated. 1108 * generated/iparity_i16.c: Regenerated. 1109 * generated/iparity_i2.c: Regenerated. 1110 * generated/iparity_i4.c: Regenerated. 1111 * generated/iparity_i8.c: Regenerated. 1112 * generated/maxloc0_16_i1.c: Regenerated. 1113 * generated/maxloc0_16_i16.c: Regenerated. 1114 * generated/maxloc0_16_i2.c: Regenerated. 1115 * generated/maxloc0_16_i4.c: Regenerated. 1116 * generated/maxloc0_16_i8.c: Regenerated. 1117 * generated/maxloc0_16_r10.c: Regenerated. 1118 * generated/maxloc0_16_r16.c: Regenerated. 1119 * generated/maxloc0_16_r4.c: Regenerated. 1120 * generated/maxloc0_16_r8.c: Regenerated. 1121 * generated/maxloc0_16_s1.c: Regenerated. 1122 * generated/maxloc0_16_s4.c: Regenerated. 1123 * generated/maxloc0_4_i1.c: Regenerated. 1124 * generated/maxloc0_4_i16.c: Regenerated. 1125 * generated/maxloc0_4_i2.c: Regenerated. 1126 * generated/maxloc0_4_i4.c: Regenerated. 1127 * generated/maxloc0_4_i8.c: Regenerated. 1128 * generated/maxloc0_4_r10.c: Regenerated. 1129 * generated/maxloc0_4_r16.c: Regenerated. 1130 * generated/maxloc0_4_r4.c: Regenerated. 1131 * generated/maxloc0_4_r8.c: Regenerated. 1132 * generated/maxloc0_4_s1.c: Regenerated. 1133 * generated/maxloc0_4_s4.c: Regenerated. 1134 * generated/maxloc0_8_i1.c: Regenerated. 1135 * generated/maxloc0_8_i16.c: Regenerated. 1136 * generated/maxloc0_8_i2.c: Regenerated. 1137 * generated/maxloc0_8_i4.c: Regenerated. 1138 * generated/maxloc0_8_i8.c: Regenerated. 1139 * generated/maxloc0_8_r10.c: Regenerated. 1140 * generated/maxloc0_8_r16.c: Regenerated. 1141 * generated/maxloc0_8_r4.c: Regenerated. 1142 * generated/maxloc0_8_r8.c: Regenerated. 1143 * generated/maxloc0_8_s1.c: Regenerated. 1144 * generated/maxloc0_8_s4.c: Regenerated. 1145 * generated/maxloc1_16_i1.c: Regenerated. 1146 * generated/maxloc1_16_i16.c: Regenerated. 1147 * generated/maxloc1_16_i2.c: Regenerated. 1148 * generated/maxloc1_16_i4.c: Regenerated. 1149 * generated/maxloc1_16_i8.c: Regenerated. 1150 * generated/maxloc1_16_r10.c: Regenerated. 1151 * generated/maxloc1_16_r16.c: Regenerated. 1152 * generated/maxloc1_16_r4.c: Regenerated. 1153 * generated/maxloc1_16_r8.c: Regenerated. 1154 * generated/maxloc1_16_s1.c: Regenerated. 1155 * generated/maxloc1_16_s4.c: Regenerated. 1156 * generated/maxloc1_4_i1.c: Regenerated. 1157 * generated/maxloc1_4_i16.c: Regenerated. 1158 * generated/maxloc1_4_i2.c: Regenerated. 1159 * generated/maxloc1_4_i4.c: Regenerated. 1160 * generated/maxloc1_4_i8.c: Regenerated. 1161 * generated/maxloc1_4_r10.c: Regenerated. 1162 * generated/maxloc1_4_r16.c: Regenerated. 1163 * generated/maxloc1_4_r4.c: Regenerated. 1164 * generated/maxloc1_4_r8.c: Regenerated. 1165 * generated/maxloc1_4_s1.c: Regenerated. 1166 * generated/maxloc1_4_s4.c: Regenerated. 1167 * generated/maxloc1_8_i1.c: Regenerated. 1168 * generated/maxloc1_8_i16.c: Regenerated. 1169 * generated/maxloc1_8_i2.c: Regenerated. 1170 * generated/maxloc1_8_i4.c: Regenerated. 1171 * generated/maxloc1_8_i8.c: Regenerated. 1172 * generated/maxloc1_8_r10.c: Regenerated. 1173 * generated/maxloc1_8_r16.c: Regenerated. 1174 * generated/maxloc1_8_r4.c: Regenerated. 1175 * generated/maxloc1_8_r8.c: Regenerated. 1176 * generated/maxloc1_8_s1.c: Regenerated. 1177 * generated/maxloc1_8_s4.c: Regenerated. 1178 * generated/maxloc2_16_s1.c: Regenerated. 1179 * generated/maxloc2_16_s4.c: Regenerated. 1180 * generated/maxloc2_4_s1.c: Regenerated. 1181 * generated/maxloc2_4_s4.c: Regenerated. 1182 * generated/maxloc2_8_s1.c: Regenerated. 1183 * generated/maxloc2_8_s4.c: Regenerated. 1184 * generated/maxval_i1.c: Regenerated. 1185 * generated/maxval_i16.c: Regenerated. 1186 * generated/maxval_i2.c: Regenerated. 1187 * generated/maxval_i4.c: Regenerated. 1188 * generated/maxval_i8.c: Regenerated. 1189 * generated/maxval_r10.c: Regenerated. 1190 * generated/maxval_r16.c: Regenerated. 1191 * generated/maxval_r4.c: Regenerated. 1192 * generated/maxval_r8.c: Regenerated. 1193 * generated/minloc0_16_i1.c: Regenerated. 1194 * generated/minloc0_16_i16.c: Regenerated. 1195 * generated/minloc0_16_i2.c: Regenerated. 1196 * generated/minloc0_16_i4.c: Regenerated. 1197 * generated/minloc0_16_i8.c: Regenerated. 1198 * generated/minloc0_16_r10.c: Regenerated. 1199 * generated/minloc0_16_r16.c: Regenerated. 1200 * generated/minloc0_16_r4.c: Regenerated. 1201 * generated/minloc0_16_r8.c: Regenerated. 1202 * generated/minloc0_16_s1.c: Regenerated. 1203 * generated/minloc0_16_s4.c: Regenerated. 1204 * generated/minloc0_4_i1.c: Regenerated. 1205 * generated/minloc0_4_i16.c: Regenerated. 1206 * generated/minloc0_4_i2.c: Regenerated. 1207 * generated/minloc0_4_i4.c: Regenerated. 1208 * generated/minloc0_4_i8.c: Regenerated. 1209 * generated/minloc0_4_r10.c: Regenerated. 1210 * generated/minloc0_4_r16.c: Regenerated. 1211 * generated/minloc0_4_r4.c: Regenerated. 1212 * generated/minloc0_4_r8.c: Regenerated. 1213 * generated/minloc0_4_s1.c: Regenerated. 1214 * generated/minloc0_4_s4.c: Regenerated. 1215 * generated/minloc0_8_i1.c: Regenerated. 1216 * generated/minloc0_8_i16.c: Regenerated. 1217 * generated/minloc0_8_i2.c: Regenerated. 1218 * generated/minloc0_8_i4.c: Regenerated. 1219 * generated/minloc0_8_i8.c: Regenerated. 1220 * generated/minloc0_8_r10.c: Regenerated. 1221 * generated/minloc0_8_r16.c: Regenerated. 1222 * generated/minloc0_8_r4.c: Regenerated. 1223 * generated/minloc0_8_r8.c: Regenerated. 1224 * generated/minloc0_8_s1.c: Regenerated. 1225 * generated/minloc0_8_s4.c: Regenerated. 1226 * generated/minloc1_16_i1.c: Regenerated. 1227 * generated/minloc1_16_i16.c: Regenerated. 1228 * generated/minloc1_16_i2.c: Regenerated. 1229 * generated/minloc1_16_i4.c: Regenerated. 1230 * generated/minloc1_16_i8.c: Regenerated. 1231 * generated/minloc1_16_r10.c: Regenerated. 1232 * generated/minloc1_16_r16.c: Regenerated. 1233 * generated/minloc1_16_r4.c: Regenerated. 1234 * generated/minloc1_16_r8.c: Regenerated. 1235 * generated/minloc1_16_s1.c: Regenerated. 1236 * generated/minloc1_16_s4.c: Regenerated. 1237 * generated/minloc1_4_i1.c: Regenerated. 1238 * generated/minloc1_4_i16.c: Regenerated. 1239 * generated/minloc1_4_i2.c: Regenerated. 1240 * generated/minloc1_4_i4.c: Regenerated. 1241 * generated/minloc1_4_i8.c: Regenerated. 1242 * generated/minloc1_4_r10.c: Regenerated. 1243 * generated/minloc1_4_r16.c: Regenerated. 1244 * generated/minloc1_4_r4.c: Regenerated. 1245 * generated/minloc1_4_r8.c: Regenerated. 1246 * generated/minloc1_4_s1.c: Regenerated. 1247 * generated/minloc1_4_s4.c: Regenerated. 1248 * generated/minloc1_8_i1.c: Regenerated. 1249 * generated/minloc1_8_i16.c: Regenerated. 1250 * generated/minloc1_8_i2.c: Regenerated. 1251 * generated/minloc1_8_i4.c: Regenerated. 1252 * generated/minloc1_8_i8.c: Regenerated. 1253 * generated/minloc1_8_r10.c: Regenerated. 1254 * generated/minloc1_8_r16.c: Regenerated. 1255 * generated/minloc1_8_r4.c: Regenerated. 1256 * generated/minloc1_8_r8.c: Regenerated. 1257 * generated/minloc1_8_s1.c: Regenerated. 1258 * generated/minloc1_8_s4.c: Regenerated. 1259 * generated/minloc2_16_s1.c: Regenerated. 1260 * generated/minloc2_16_s4.c: Regenerated. 1261 * generated/minloc2_4_s1.c: Regenerated. 1262 * generated/minloc2_4_s4.c: Regenerated. 1263 * generated/minloc2_8_s1.c: Regenerated. 1264 * generated/minloc2_8_s4.c: Regenerated. 1265 * generated/minval_i1.c: Regenerated. 1266 * generated/minval_i16.c: Regenerated. 1267 * generated/minval_i2.c: Regenerated. 1268 * generated/minval_i4.c: Regenerated. 1269 * generated/minval_i8.c: Regenerated. 1270 * generated/minval_r10.c: Regenerated. 1271 * generated/minval_r16.c: Regenerated. 1272 * generated/minval_r4.c: Regenerated. 1273 * generated/minval_r8.c: Regenerated. 1274 * generated/norm2_r10.c: Regenerated. 1275 * generated/norm2_r16.c: Regenerated. 1276 * generated/norm2_r4.c: Regenerated. 1277 * generated/norm2_r8.c: Regenerated. 1278 * generated/parity_l1.c: Regenerated. 1279 * generated/parity_l16.c: Regenerated. 1280 * generated/parity_l2.c: Regenerated. 1281 * generated/parity_l4.c: Regenerated. 1282 * generated/parity_l8.c: Regenerated. 1283 * generated/product_c10.c: Regenerated. 1284 * generated/product_c16.c: Regenerated. 1285 * generated/product_c4.c: Regenerated. 1286 * generated/product_c8.c: Regenerated. 1287 * generated/product_i1.c: Regenerated. 1288 * generated/product_i16.c: Regenerated. 1289 * generated/product_i2.c: Regenerated. 1290 * generated/product_i4.c: Regenerated. 1291 * generated/product_i8.c: Regenerated. 1292 * generated/product_r10.c: Regenerated. 1293 * generated/product_r16.c: Regenerated. 1294 * generated/product_r4.c: Regenerated. 1295 * generated/product_r8.c: Regenerated. 1296 * generated/sum_c10.c: Regenerated. 1297 * generated/sum_c16.c: Regenerated. 1298 * generated/sum_c4.c: Regenerated. 1299 * generated/sum_c8.c: Regenerated. 1300 * generated/sum_i1.c: Regenerated. 1301 * generated/sum_i16.c: Regenerated. 1302 * generated/sum_i2.c: Regenerated. 1303 * generated/sum_i4.c: Regenerated. 1304 * generated/sum_i8.c: Regenerated. 1305 * generated/sum_r10.c: Regenerated. 1306 * generated/sum_r16.c: Regenerated. 1307 * generated/sum_r4.c: Regenerated. 1308 * generated/sum_r8.c: Regenerated. 1309 13102018-04-24 H.J. Lu <hongjiu.lu@intel.com> 1311 1312 * configure: Regenerated. 1313 13142018-04-19 Thomas Schwinge <thomas@codesourcery.com> 1315 1316 PR libfortran/85166 1317 PR libgomp/85463 1318 * runtime/minimal.c (stop_numeric): Reimplement. 1319 (stop_string, error_stop_string, error_stop_numeric): New 1320 functions. 1321 13222018-04-19 Jakub Jelinek <jakub@redhat.com> 1323 1324 * configure: Regenerated. 1325 13262018-04-18 David Malcolm <dmalcolm@redhat.com> 1327 1328 PR jit/85384 1329 * configure: Regenerate. 1330 13312018-04-06 Thomas Koenig <tkoenig@gcc.gnu.org> 1332 1333 PR libfortran/85253 1334 * m4/matmul_internal.m4: If ycount == 1, add one more row to 1335 the internal buffer. 1336 * generated/matmul_c10.c: Regenerated. 1337 * generated/matmul_c16.c: Regenerated. 1338 * generated/matmul_c4.c: Regenerated. 1339 * generated/matmul_c8.c: Regenerated. 1340 * generated/matmul_i1.c: Regenerated. 1341 * generated/matmul_i16.c: Regenerated. 1342 * generated/matmul_i2.c: Regenerated. 1343 * generated/matmul_i4.c: Regenerated. 1344 * generated/matmul_i8.c: Regenerated. 1345 * generated/matmul_r10.c: Regenerated. 1346 * generated/matmul_r16.c: Regenerated. 1347 * generated/matmul_r4.c: Regenerated. 1348 * generated/matmul_r8.c: Regenerated. 1349 * generated/matmulavx128_c10.c: Regenerated. 1350 * generated/matmulavx128_c16.c: Regenerated. 1351 * generated/matmulavx128_c4.c: Regenerated. 1352 * generated/matmulavx128_c8.c: Regenerated. 1353 * generated/matmulavx128_i1.c: Regenerated. 1354 * generated/matmulavx128_i16.c: Regenerated. 1355 * generated/matmulavx128_i2.c: Regenerated. 1356 * generated/matmulavx128_i4.c: Regenerated. 1357 * generated/matmulavx128_i8.c: Regenerated. 1358 * generated/matmulavx128_r10.c: Regenerated. 1359 * generated/matmulavx128_r16.c: Regenerated. 1360 * generated/matmulavx128_r4.c: Regenerated. 1361 * generated/matmulavx128_r8.c: Regenerated. 1362 13632018-04-04 Thomas Koenig <tkoenig@gcc.gnu.org> 1364 1365 PR libfortran/85166 1366 * runtime/minimal.c (stop_numeric): Add new function in order to 1367 implement numeric stop on minimal targets. 1368 13692018-03-28 Jakub Jelinek <jakub@redhat.com> 1370 1371 * io/io.h (IOPARM_DT_DEFAULT_EXP): Rename to ... 1372 (IOPARM_DT_DEC_EXT): ... this. 1373 * io/list_read.c (parse_real): Adjust for IOPARM_DT_DEFAULT_EXP 1374 renaming to IOPARM_DT_DEC_EXT. 1375 (read_real): Likewise. 1376 * io/read.c (read_f): Likewise. 1377 13782018-03-15 Jakub Jelinek <jakub@redhat.com> 1379 1380 PR libgfortran/84880 1381 * intrinsics/kill.c (kill): Rename to... 1382 (PREFIX (kill)): ... this. Use export_proto_np instead of export_proto. 1383 13842018-03-13 Steven G. Kargl <kargl@gcc.gnu.org> 1385 1386 * libgfortran/gfortran.map: Remove _gfortran_kill_i4, 1387 _gfortran_kill_i4_sub, _gfortran_kill_i8, and _gfortran_kill_i8_sub. 1388 Add _gfortran_kill and _gfortran_kill_sub. 1389 * libgfortran/intrinsics/kill.c: Eliminate _gfortran_kill_i4, 1390 _gfortran_kill_i4_sub, _gfortran_kill_i8, and _gfortran_kill_i8_sub. 1391 Add _gfortran_kill and _gfortran_kill_sub. 1392 13932018-02-23 Janne Blomqvist <jb@gcc.gnu.org> 1394 1395 PR fortran/84519 1396 * caf/libcaf.h (_gfortran_caf_stop_numeric): Add bool argument. 1397 (_gfortran_caf_stop_str): Likewise. 1398 (_gfortran_caf_error_stop_str): Likewise. 1399 (_gfortran_caf_error_stop): Likewise. 1400 * caf/mpi.c (_gfortran_caf_error_stop_str): Handle new argument. 1401 (_gfortran_caf_error_stop): Likewise. 1402 * caf/single.c (_gfortran_caf_stop_numeric): Likewise. 1403 (_gfortran_caf_stop_str): Likewise. 1404 (_gfortran_caf_error_stop_str): Likewise. 1405 (_gfortran_caf_error_stop): Likewise. 1406 (_gfortran_caf_lock): Likewise. 1407 (_gfortran_caf_unlock): Likewise. 1408 * libgfortran.h (stop_string): Add bool argument. 1409 * runtime/pause.c (do_pause): Add false argument. 1410 * runtime/stop.c (stop_numeric): Handle new argument. 1411 (stop_string): Likewise. 1412 (error_stop_string): Likewise. 1413 (error_stop_numeric): Likewise. 1414 14152018-02-22 Janne Blomqvist <jb@gcc.gnu.org> 1416 1417 PR 78534 1418 PR 84509 1419 * runtime/pause.c (pause_numeric): Modify to take GFC_INTEGER_8 1420 argument. 1421 (pause_string): Modify to take size_t character length argument. 1422 14232018-02-22 Janne Blomqvist <jb@gcc.gnu.org> 1424 1425 * libgfortran.h (stop_string): Use size_t for character length. 1426 * runtime/stop.c (stop_string): Likewise. 1427 (error_stop_string): Likewise. 1428 (stop_numeric): Use int for exit code. 1429 (error_stop_numeric): Likewise. 1430 * caf/libcaf.h: Remove stdint.h include. 1431 (_gfortran_caf_register): Use size_t for character length. 1432 (_gfortran_caf_deregister): Likewise. 1433 (_gfortran_caf_sync_all): Likewise. 1434 (_gfortran_caf_sync_memory): Likewise. 1435 (_gfortran_caf_sync_images): Likewise. 1436 (_gfortran_caf_stop_numeric): Use int for exit code. 1437 (_gfortran_caf_stop_str): Use size_t for character length. 1438 (_gfortran_caf_error_stop_str): Likewise. 1439 (_gfortran_caf_error_stop): Use int for exit code. 1440 (_gfortran_caf_co_broadcast): Use size_t for character length. 1441 (_gfortran_caf_co_sum): Likewise. 1442 (_gfortran_caf_co_min): Likewise. 1443 (_gfortran_caf_co_max): Likewise. 1444 (_gfortran_caf_co_reduce): Likewise. 1445 (_gfortran_caf_lock): Likewise. 1446 (_gfortran_caf_unlock): Likewise. 1447 (_gfortran_caf_event_post): Likewise. 1448 (_gfortran_caf_event_wait): Likewise. 1449 * caf/mpi.c (_gfortran_caf_register): Update implementation to 1450 match prototype. 1451 (_gfortran_caf_deregister): Likewise. 1452 (_gfortran_caf_sync_all): Likewise. 1453 (_gfortran_caf_sync_images): Likewise. 1454 (_gfortran_caf_error_stop_str): Likewise. 1455 (_gfortran_caf_error_stop): Likewise. 1456 * caf/single.c (caf_internal_error): Likewise. 1457 (_gfortran_caf_register): Likewise. 1458 (_gfortran_caf_deregister): Likewise. 1459 (_gfortran_caf_sync_all): Likewise. 1460 (_gfortran_caf_sync_memory): Likewise. 1461 (_gfortran_caf_sync_images): Likewise. 1462 (_gfortran_caf_stop_numeric): Likewise. 1463 (_gfortran_caf_stop_str): Likewise. 1464 (_gfortran_caf_error_stop_str): Likewise. 1465 (_gfortran_caf_error_stop): Likewise. 1466 (_gfortran_caf_co_broadcast): Likewise. 1467 (_gfortran_caf_co_sum): Likewise. 1468 (_gfortran_caf_co_min): Likewise. 1469 (_gfortran_caf_co_max): Likewise. 1470 (_gfortran_caf_co_reduce): Likewise. 1471 (_gfortran_caf_event_post): Likewise. 1472 (_gfortran_caf_event_wait): Likewise. 1473 (_gfortran_caf_lock): Likewise. 1474 (_gfortran_caf_unlock): Likewise. 1475 14762018-02-19 Andre Vehreschild <vehre@gcc.gnu.org> 1477 1478 * caf/libcaf.h: Add type parameters to the caf_*_by_ref prototypes. 1479 * caf/single.c (get_for_ref): Simplifications and now respecting 1480 the type argument. 1481 (_gfortran_caf_get_by_ref): Added source type handing to get_for_ref(). 1482 (send_by_ref): Simplifications and respecting the dst_type now. 1483 (_gfortran_caf_send_by_ref): Added destination type hand over to 1484 send_by_ref(). 1485 (_gfortran_caf_sendget_by_ref): Added general support and fixed stack 1486 corruption. The function is now really usable. 1487 14882018-02-14 Igor Tsimbalist <igor.v.tsimbalist@intel.com> 1489 1490 PR target/84148 1491 * configure: Regenerate. 1492 14932018-02-18 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1494 1495 PR libgfortran/84412 1496 * io/transfer.c (finalize_transfer): After completng an internal unit 1497 I/O operation, clear internal_unit_kind. 1498 14992018-02-12 Thomas Koenig <tkoenig@gcc.gnu.org> 1500 1501 * libgfortran.h (GFC_ARRAY_DESCRIPTOR): Remove dimension 1502 of descriptor to use vaiable members for dim. 1503 Change usage of GFC_ARRAY_DESCRIPTOR accordingly. 1504 (GFC_FILL_ARRAY_DESCRIPTOR): New macro. 1505 (gfc_full_array_i4): New type. 1506 * intrinsics/date_and_time.c (secnds): Use sizeof 1507 (gfc_array_i4) + sizeof (descriptor_dimension) for memory 1508 allocation. 1509 * intrinsics/reshape_generic.c: Use GFC_FULL_ARRAY_DESCRIPTOR. 1510 * io/format.c: Use sizeof (gfc_array_i4) + sizeof 1511 (descriptor_dimension) for memoy allocation. 1512 * io/list_read.c (list_formatted_read_scalar): Use 1513 gfc_full_array_i4 for variable. 1514 (nml_read_obj): Likewise. 1515 * io/write.c (list_formatted_write_scalar): Likewise. 1516 (nml_write_obj): Likewise. 1517 * m4/reshape.m4: Use GFC_FULL_ARRAY_DESCRIPTOR. 1518 * generated/reshape_c10.c: Regenerated. 1519 * generated/reshape_c16.c: Regenerated. 1520 * generated/reshape_c4.c: Regenerated. 1521 * generated/reshape_c8.c: Regenerated. 1522 * generated/reshape_i16.c: Regenerated. 1523 * generated/reshape_i4.c: Regenerated. 1524 * generated/reshape_i8.c: Regenerated. 1525 * generated/reshape_r10.c: Regenerated. 1526 * generated/reshape_r16.c: Regenerated. 1527 * generated/reshape_r4.c: Regenerated. 1528 * generated/reshape_r8.c: Regenerated. 1529 15302018-01-31 Janne Blomqvist <jb@gcc.gnu.org> 1531 1532 * generated/cshift1_16.c (cshift1): Regenerated. 1533 * generated/cshift1_4.c (cshift1): Regenerated. 1534 * generated/cshift1_8.c (cshift1): Regenerated. 1535 * generated/eoshift1_16.c (eoshift1): Regenerated. 1536 * generated/eoshift1_4.c (eoshift1): Regenerated. 1537 * generated/eoshift1_8.c (eoshift1): Regenerated. 1538 * generated/eoshift3_16.c (eoshift3): Regenerated. 1539 * generated/eoshift3_4.c (eoshift3): Regenerated. 1540 * generated/eoshift3_8.c (eoshift3): Regenerated. 1541 * generated/in_pack_c10.c (internal_pack_c10): Regenerated. 1542 * generated/in_pack_c16.c (internal_pack_c16): Regenerated. 1543 * generated/in_pack_c4.c (internal_pack_c4): Regenerated. 1544 * generated/in_pack_c8.c (internal_pack_c8): Regenerated. 1545 * generated/in_pack_i1.c (internal_pack_1): Regenerated. 1546 * generated/in_pack_i16.c (internal_pack_16): Regenerated. 1547 * generated/in_pack_i2.c (internal_pack_2): Regenerated. 1548 * generated/in_pack_i4.c (internal_pack_4): Regenerated. 1549 * generated/in_pack_i8.c (internal_pack_8): Regenerated. 1550 * generated/in_pack_r10.c (internal_pack_r10): Regenerated. 1551 * generated/in_pack_r16.c (internal_pack_r16): Regenerated. 1552 * generated/in_pack_r4.c (internal_pack_r4): Regenerated. 1553 * generated/in_pack_r8.c (internal_pack_r8): Regenerated. 1554 * generated/in_unpack_c10.c (internal_unpack_c10): Regenerated. 1555 * generated/in_unpack_c16.c (internal_unpack_c16): Regenerated. 1556 * generated/in_unpack_c4.c (internal_unpack_c4): Regenerated. 1557 * generated/in_unpack_c8.c (internal_unpack_c8): Regenerated. 1558 * generated/in_unpack_i1.c (internal_unpack_1): Regenerated. 1559 * generated/in_unpack_i16.c (internal_unpack_16): Regenerated. 1560 * generated/in_unpack_i2.c (internal_unpack_2): Regenerated. 1561 * generated/in_unpack_i4.c (internal_unpack_4): Regenerated. 1562 * generated/in_unpack_i8.c (internal_unpack_8): Regenerated. 1563 * generated/in_unpack_r10.c (internal_unpack_r10): Regenerated. 1564 * generated/in_unpack_r16.c (internal_unpack_r16): Regenerated. 1565 * generated/in_unpack_r4.c (internal_unpack_r4): Regenerated. 1566 * generated/in_unpack_r8.c (internal_unpack_r8): Regenerated. 1567 * generated/reshape_c10.c (reshape_c10): Regenerated. 1568 * generated/reshape_c16.c (reshape_c16): Regenerated. 1569 * generated/reshape_c4.c (reshape_c4): Regenerated. 1570 * generated/reshape_c8.c (reshape_c8): Regenerated. 1571 * generated/reshape_i16.c (reshape_16): Regenerated. 1572 * generated/reshape_i4.c (reshape_4): Regenerated. 1573 * generated/reshape_i8.c (reshape_8): Regenerated. 1574 * generated/reshape_r10.c (reshape_r10): Regenerated. 1575 * generated/reshape_r16.c (reshape_r16): Regenerated. 1576 * generated/reshape_r4.c (reshape_r4): Regenerated. 1577 * generated/reshape_r8.c (reshape_r8): Regenerated. 1578 * generated/shape_i1.c (shape_1): Regenerated. 1579 * generated/shape_i16.c (shape_16): Regenerated. 1580 * generated/shape_i2.c (shape_2): Regenerated. 1581 * generated/shape_i4.c (shape_4): Regenerated. 1582 * generated/shape_i8.c (shape_8): Regenerated. 1583 * generated/spread_c10.c (spread_scalar_c10): Regenerated. 1584 * generated/spread_c16.c (spread_scalar_c16): Regenerated. 1585 * generated/spread_c4.c (spread_scalar_c4): Regenerated. 1586 * generated/spread_c8.c (spread_scalar_c8): Regenerated. 1587 * generated/spread_i1.c (spread_scalar_i1): Regenerated. 1588 * generated/spread_i16.c (spread_scalar_i16): Regenerated. 1589 * generated/spread_i2.c (spread_scalar_i2): Regenerated. 1590 * generated/spread_i4.c (spread_scalar_i4): Regenerated. 1591 * generated/spread_i8.c (spread_scalar_i8): Regenerated. 1592 * generated/spread_r10.c (spread_scalar_r10): Regenerated. 1593 * generated/spread_r16.c (spread_scalar_r16): Regenerated. 1594 * generated/spread_r4.c (spread_scalar_r4): Regenerated. 1595 * generated/spread_r8.c (spread_scalar_r8): Regenerated. 1596 * intrinsics/random.c (jump): Use size_t for array index in loop. 1597 (getosrandom): Likewise. 1598 (arandom_r4): Make n an index_type. 1599 (arandom_r8): Likewise. 1600 (arandom_r10): Likewise. 1601 (arandom_r16): Likewise. 1602 (scramble_seed): Use size_t for array index in loop. 1603 * m4/cshift1.m4: Make i an index_type. 1604 * m4/eoshift1.m4: Likewise. 1605 * m4/eoshift3.m4: Likewise. 1606 * m4/in_pack.m4: Make n an index_type. 1607 * m4/in_unpack.m4: Likewise. 1608 * m4/reshape.m4: Make n and dim index_type's. 1609 * m4/shape.m4: Make n an index_type. 1610 * m4/spread.m4: Likewise, use index_type argument rather than 1611 copying to int. 1612 * runtime/bounds.c (bounds_ifunction_return): Make n an 1613 index_type. 1614 * runtime/in_pack_generic.c (internal_pack): Likewise. 1615 * runtime/in_unpack_generic.c (internal_unpack): Make n and size 1616 index_type's. 1617 16182018-01-30 Thomas Koenig <tkoenig@gcc.gnu.org> 1619 1620 PR fortran/37577 1621 * libgfortran.h: Remove GFC_DTYPE_DERIVED_1, GFC_DTYPE_DERIVED_2, 1622 GFC_DTYPE_DERIVED_4, GFC_DTYPE_DERIVED_8 and GFC_DTYPE_DERIVED_16. 1623 * m4/cshift1.m4: Remove GFC_DTYPE_DERIVED_1. 1624 * generated/cshift1_16.c: Regenerated. 1625 * generated/cshift1_4.c: Regenerated. 1626 * generated/cshift1_8.c: Regenerated. 1627 * intrinsics/cshift0.c: Remove GFC_DTYPE_DERIVED_1. 1628 * intrinsics/pack_generic.c (pack): Move handling of other types 1629 into separate switch statement. 1630 * intrinsics/spread_generic.c (spread): Likewise. 1631 (spread_scalar): Likewise. 1632 * intrinsics/unpack_generic.c (unpack1): Likewise. 1633 (unpack0): Likewise. 1634 * runtime/in_pack_generic.c (internal_pack): Likewise. 1635 * runtime/in_unpack_generic.c (internal_unpack): Likewise. 1636 16372018-01-25 Paul Thomas <pault@gcc.gnu.org> 1638 1639 PR fortran/37577 1640 * caf/single.c (_gfortran_caf_failed_images): Access the 'type' 1641 and 'elem_len' fields of the dtype instead of the shifts. 1642 (_gfortran_caf_stopped_images): Likewise. 1643 * intrinsics/associated.c (associated): Compare the 'type' and 1644 'elem_len' fields instead of the dtype. 1645 * caf/date_and_time.c : Access the dtype fields rather using 1646 shifts and masks. 1647 * io/transfer.c (transfer_array ): Comment on item count. 1648 (set_nml_var,st_set_nml_var): Change dtype type and use fields. 1649 (st_set_nml_dtio_var): Likewise. 1650 * libgfortran.h : Change definition of GFC_ARRAY_DESCRIPTOR and 1651 add a typedef for the dtype_type. Change the GFC_DTYPE_* macros 1652 to access the dtype fields. 1653 16542018-01-15 Thomas Koenig <tkoenig@gcc.gnu.org> 1655 1656 PR fortran/54613 1657 * m4/iparm.m4: Add back_arg macro if in minloc or maxloc. 1658 * m4/iforeach-s.m4: Add optional argument back with back_arg 1659 macro. Improve m4 quoting. If HAVE_BACK_ARG is defined, assert 1660 that back is non-true. 1661 * m4/iforeach.m4: Likewise. 1662 * m4/ifunction-s.m4: Likewise. 1663 * m4/ifunction.m4: Likewise. 1664 * m4/maxloc0.m4: Include assert.h 1665 * m4/minloc0.m4: Likewise. 1666 * m4/maxloc0s.m4: #define HAVE_BACK_ARG. 1667 * m4/minloc0s.m4: Likewise. 1668 * m4/maxloc1s.m4: Likewise. 1669 * m4/minloc1s.m4: Likewise. 1670 * m4/maxloc1.m4: Include assert.h, #define HAVE_BACK_ARG. 1671 * m4/minloc1.m4: Likewise. 1672 * m4/maxloc2s.m4: Add assert.h, add back_arg, assert that 1673 back is non-true. 1674 * m4/minloc2s.m4: Likewise. 1675 * generated/iall_i1.c: Regenerated. 1676 * generated/iall_i16.c: Regenerated. 1677 * generated/iall_i2.c: Regenerated. 1678 * generated/iall_i4.c: Regenerated. 1679 * generated/iall_i8.c: Regenerated. 1680 * generated/iany_i1.c: Regenerated. 1681 * generated/iany_i16.c: Regenerated. 1682 * generated/iany_i2.c: Regenerated. 1683 * generated/iany_i4.c: Regenerated. 1684 * generated/iany_i8.c: Regenerated. 1685 * generated/iparity_i1.c: Regenerated. 1686 * generated/iparity_i16.c: Regenerated. 1687 * generated/iparity_i2.c: Regenerated. 1688 * generated/iparity_i4.c: Regenerated. 1689 * generated/iparity_i8.c: Regenerated. 1690 * generated/maxloc0_16_i1.c: Regenerated. 1691 * generated/maxloc0_16_i16.c: Regenerated. 1692 * generated/maxloc0_16_i2.c: Regenerated. 1693 * generated/maxloc0_16_i4.c: Regenerated. 1694 * generated/maxloc0_16_i8.c: Regenerated. 1695 * generated/maxloc0_16_r10.c: Regenerated. 1696 * generated/maxloc0_16_r16.c: Regenerated. 1697 * generated/maxloc0_16_r4.c: Regenerated. 1698 * generated/maxloc0_16_r8.c: Regenerated. 1699 * generated/maxloc0_16_s1.c: Regenerated. 1700 * generated/maxloc0_16_s4.c: Regenerated. 1701 * generated/maxloc0_4_i1.c: Regenerated. 1702 * generated/maxloc0_4_i16.c: Regenerated. 1703 * generated/maxloc0_4_i2.c: Regenerated. 1704 * generated/maxloc0_4_i4.c: Regenerated. 1705 * generated/maxloc0_4_i8.c: Regenerated. 1706 * generated/maxloc0_4_r10.c: Regenerated. 1707 * generated/maxloc0_4_r16.c: Regenerated. 1708 * generated/maxloc0_4_r4.c: Regenerated. 1709 * generated/maxloc0_4_r8.c: Regenerated. 1710 * generated/maxloc0_4_s1.c: Regenerated. 1711 * generated/maxloc0_4_s4.c: Regenerated. 1712 * generated/maxloc0_8_i1.c: Regenerated. 1713 * generated/maxloc0_8_i16.c: Regenerated. 1714 * generated/maxloc0_8_i2.c: Regenerated. 1715 * generated/maxloc0_8_i4.c: Regenerated. 1716 * generated/maxloc0_8_i8.c: Regenerated. 1717 * generated/maxloc0_8_r10.c: Regenerated. 1718 * generated/maxloc0_8_r16.c: Regenerated. 1719 * generated/maxloc0_8_r4.c: Regenerated. 1720 * generated/maxloc0_8_r8.c: Regenerated. 1721 * generated/maxloc0_8_s1.c: Regenerated. 1722 * generated/maxloc0_8_s4.c: Regenerated. 1723 * generated/maxloc1_16_i1.c: Regenerated. 1724 * generated/maxloc1_16_i16.c: Regenerated. 1725 * generated/maxloc1_16_i2.c: Regenerated. 1726 * generated/maxloc1_16_i4.c: Regenerated. 1727 * generated/maxloc1_16_i8.c: Regenerated. 1728 * generated/maxloc1_16_r10.c: Regenerated. 1729 * generated/maxloc1_16_r16.c: Regenerated. 1730 * generated/maxloc1_16_r4.c: Regenerated. 1731 * generated/maxloc1_16_r8.c: Regenerated. 1732 * generated/maxloc1_16_s1.c: Regenerated. 1733 * generated/maxloc1_16_s4.c: Regenerated. 1734 * generated/maxloc1_4_i1.c: Regenerated. 1735 * generated/maxloc1_4_i16.c: Regenerated. 1736 * generated/maxloc1_4_i2.c: Regenerated. 1737 * generated/maxloc1_4_i4.c: Regenerated. 1738 * generated/maxloc1_4_i8.c: Regenerated. 1739 * generated/maxloc1_4_r10.c: Regenerated. 1740 * generated/maxloc1_4_r16.c: Regenerated. 1741 * generated/maxloc1_4_r4.c: Regenerated. 1742 * generated/maxloc1_4_r8.c: Regenerated. 1743 * generated/maxloc1_4_s1.c: Regenerated. 1744 * generated/maxloc1_4_s4.c: Regenerated. 1745 * generated/maxloc1_8_i1.c: Regenerated. 1746 * generated/maxloc1_8_i16.c: Regenerated. 1747 * generated/maxloc1_8_i2.c: Regenerated. 1748 * generated/maxloc1_8_i4.c: Regenerated. 1749 * generated/maxloc1_8_i8.c: Regenerated. 1750 * generated/maxloc1_8_r10.c: Regenerated. 1751 * generated/maxloc1_8_r16.c: Regenerated. 1752 * generated/maxloc1_8_r4.c: Regenerated. 1753 * generated/maxloc1_8_r8.c: Regenerated. 1754 * generated/maxloc1_8_s1.c: Regenerated. 1755 * generated/maxloc1_8_s4.c: Regenerated. 1756 * generated/maxval_i1.c: Regenerated. 1757 * generated/maxval_i16.c: Regenerated. 1758 * generated/maxval_i2.c: Regenerated. 1759 * generated/maxval_i4.c: Regenerated. 1760 * generated/maxval_i8.c: Regenerated. 1761 * generated/maxval_r10.c: Regenerated. 1762 * generated/maxval_r16.c: Regenerated. 1763 * generated/maxval_r4.c: Regenerated. 1764 * generated/maxval_r8.c: Regenerated. 1765 * generated/minloc0_16_i1.c: Regenerated. 1766 * generated/minloc0_16_i16.c: Regenerated. 1767 * generated/minloc0_16_i2.c: Regenerated. 1768 * generated/minloc0_16_i4.c: Regenerated. 1769 * generated/minloc0_16_i8.c: Regenerated. 1770 * generated/minloc0_16_r10.c: Regenerated. 1771 * generated/minloc0_16_r16.c: Regenerated. 1772 * generated/minloc0_16_r4.c: Regenerated. 1773 * generated/minloc0_16_r8.c: Regenerated. 1774 * generated/minloc0_16_s1.c: Regenerated. 1775 * generated/minloc0_16_s4.c: Regenerated. 1776 * generated/minloc0_4_i1.c: Regenerated. 1777 * generated/minloc0_4_i16.c: Regenerated. 1778 * generated/minloc0_4_i2.c: Regenerated. 1779 * generated/minloc0_4_i4.c: Regenerated. 1780 * generated/minloc0_4_i8.c: Regenerated. 1781 * generated/minloc0_4_r10.c: Regenerated. 1782 * generated/minloc0_4_r16.c: Regenerated. 1783 * generated/minloc0_4_r4.c: Regenerated. 1784 * generated/minloc0_4_r8.c: Regenerated. 1785 * generated/minloc0_4_s1.c: Regenerated. 1786 * generated/minloc0_4_s4.c: Regenerated. 1787 * generated/minloc0_8_i1.c: Regenerated. 1788 * generated/minloc0_8_i16.c: Regenerated. 1789 * generated/minloc0_8_i2.c: Regenerated. 1790 * generated/minloc0_8_i4.c: Regenerated. 1791 * generated/minloc0_8_i8.c: Regenerated. 1792 * generated/minloc0_8_r10.c: Regenerated. 1793 * generated/minloc0_8_r16.c: Regenerated. 1794 * generated/minloc0_8_r4.c: Regenerated. 1795 * generated/minloc0_8_r8.c: Regenerated. 1796 * generated/minloc0_8_s1.c: Regenerated. 1797 * generated/minloc0_8_s4.c: Regenerated. 1798 * generated/minloc1_16_i1.c: Regenerated. 1799 * generated/minloc1_16_i16.c: Regenerated. 1800 * generated/minloc1_16_i2.c: Regenerated. 1801 * generated/minloc1_16_i4.c: Regenerated. 1802 * generated/minloc1_16_i8.c: Regenerated. 1803 * generated/minloc1_16_r10.c: Regenerated. 1804 * generated/minloc1_16_r16.c: Regenerated. 1805 * generated/minloc1_16_r4.c: Regenerated. 1806 * generated/minloc1_16_r8.c: Regenerated. 1807 * generated/minloc1_16_s1.c: Regenerated. 1808 * generated/minloc1_16_s4.c: Regenerated. 1809 * generated/minloc1_4_i1.c: Regenerated. 1810 * generated/minloc1_4_i16.c: Regenerated. 1811 * generated/minloc1_4_i2.c: Regenerated. 1812 * generated/minloc1_4_i4.c: Regenerated. 1813 * generated/minloc1_4_i8.c: Regenerated. 1814 * generated/minloc1_4_r10.c: Regenerated. 1815 * generated/minloc1_4_r16.c: Regenerated. 1816 * generated/minloc1_4_r4.c: Regenerated. 1817 * generated/minloc1_4_r8.c: Regenerated. 1818 * generated/minloc1_4_s1.c: Regenerated. 1819 * generated/minloc1_4_s4.c: Regenerated. 1820 * generated/minloc1_8_i1.c: Regenerated. 1821 * generated/minloc1_8_i16.c: Regenerated. 1822 * generated/minloc1_8_i2.c: Regenerated. 1823 * generated/minloc1_8_i4.c: Regenerated. 1824 * generated/minloc1_8_i8.c: Regenerated. 1825 * generated/minloc1_8_r10.c: Regenerated. 1826 * generated/minloc1_8_r16.c: Regenerated. 1827 * generated/minloc1_8_r4.c: Regenerated. 1828 * generated/minloc1_8_r8.c: Regenerated. 1829 * generated/minloc1_8_s1.c: Regenerated. 1830 * generated/minloc1_8_s4.c: Regenerated. 1831 * generated/minval_i1.c: Regenerated. 1832 * generated/minval_i16.c: Regenerated. 1833 * generated/minval_i2.c: Regenerated. 1834 * generated/minval_i4.c: Regenerated. 1835 * generated/minval_i8.c: Regenerated. 1836 * generated/minval_r10.c: Regenerated. 1837 * generated/minval_r16.c: Regenerated. 1838 * generated/minval_r4.c: Regenerated. 1839 * generated/minval_r8.c: Regenerated. 1840 * generated/norm2_r10.c: Regenerated. 1841 * generated/norm2_r16.c: Regenerated. 1842 * generated/norm2_r4.c: Regenerated. 1843 * generated/norm2_r8.c: Regenerated. 1844 * generated/parity_l1.c: Regenerated. 1845 * generated/parity_l16.c: Regenerated. 1846 * generated/parity_l2.c: Regenerated. 1847 * generated/parity_l4.c: Regenerated. 1848 * generated/parity_l8.c: Regenerated. 1849 * generated/product_c10.c: Regenerated. 1850 * generated/product_c16.c: Regenerated. 1851 * generated/product_c4.c: Regenerated. 1852 * generated/product_c8.c: Regenerated. 1853 * generated/product_i1.c: Regenerated. 1854 * generated/product_i16.c: Regenerated. 1855 * generated/product_i2.c: Regenerated. 1856 * generated/product_i4.c: Regenerated. 1857 * generated/product_i8.c: Regenerated. 1858 * generated/product_r10.c: Regenerated. 1859 * generated/product_r16.c: Regenerated. 1860 * generated/product_r4.c: Regenerated. 1861 * generated/product_r8.c: Regenerated. 1862 * generated/sum_c10.c: Regenerated. 1863 * generated/sum_c16.c: Regenerated. 1864 * generated/sum_c4.c: Regenerated. 1865 * generated/sum_c8.c: Regenerated. 1866 * generated/sum_i1.c: Regenerated. 1867 * generated/sum_i16.c: Regenerated. 1868 * generated/sum_i2.c: Regenerated. 1869 * generated/sum_i4.c: Regenerated. 1870 * generated/sum_i8.c: Regenerated. 1871 * generated/sum_r10.c: Regenerated. 1872 * generated/sum_r16.c: Regenerated. 1873 * generated/sum_r4.c: Regenerated. 1874 * generated/sum_r8.c: Regenerated. 1875 18762018-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1877 1878 PR libgfortran/83811 1879 * write.c (select_buffer): Adjust buffer size up by 1. 1880 18812018-01-08 Janne Blomqvist <jb@gcc.gnu.org> 1882 1883 PR 78534, bugfix for r256322 1884 * io/transfer.c (next_record_w): Use correct type for return value 1885 of next_array_record. 1886 18872018-01-07 Thomas Koenig <tkoenig@gcc.gnu.org> 1888 1889 * libgfortran.h (GFC_DTYPE_COPY): New macro. 1890 (GFC_DTYPE_COPY_SETRANK): New macro. 1891 (GFC_DTYPE_IS_UNSET): New macro. 1892 * intrinsics/cshift0.c (cshift0): Use new macros. 1893 * intrinsics/eoshift0.c (eoshift0): Likewise. 1894 * intrinsics/eoshift2.c (eoshift2): Likewise. 1895 * intrinsics/move_alloc.c (move_alloc): Likewise. 1896 * intrinsics/reshape_generic.c (reshape_internal): Likewise. 1897 * intrinsics/spread_generic.c (spread_internal): Likewise. 1898 * intrinsics/spread_generic.c (spread_scalar): Likewise. 1899 * intrinsics/spread_generic.c (spread_char_scalar): Likewise. 1900 * intrinsics/spread_generic.c (spread_char4_scalar): Likewise. 1901 * intrinsics/unpack_generic.c (unpack0): Likewise. 1902 * intrinsics/unpack_generic.c (unpack0_char): Likewise. 1903 * intrinsics/unpack_generic.c (unpack0_char4): Likewise. 1904 * m4/cshift1.m4 (cshift1): Likewise. 1905 * m4/eoshift1.m4 (eoshift1): Likewise. 1906 * m4/eoshift3.m4 (eoshift3): Likewise. 1907 * m4/iforeach-s.m4: Likewise. 1908 * m4/iforeach.m4: Likewise. 1909 * m4/ifunction-s.m4: Likewise. 1910 * m4/ifunction-s2.m4: Likewise. 1911 * m4/ifunction.m4: Likewise. 1912 * m4/ifunction_logical.m4: Likewise. 1913 * m4/reshape.m4: Likewise. 1914 * m4/spread.m4: Likewise. 1915 * generated/all_l1.c : Regenerated. 1916 * generated/all_l16.c : Regenerated. 1917 * generated/all_l2.c : Regenerated. 1918 * generated/all_l4.c : Regenerated. 1919 * generated/all_l8.c : Regenerated. 1920 * generated/any_l1.c : Regenerated. 1921 * generated/any_l16.c : Regenerated. 1922 * generated/any_l2.c : Regenerated. 1923 * generated/any_l4.c : Regenerated. 1924 * generated/any_l8.c : Regenerated. 1925 * generated/count_16_l.c : Regenerated. 1926 * generated/count_1_l.c : Regenerated. 1927 * generated/count_2_l.c : Regenerated. 1928 * generated/count_4_l.c : Regenerated. 1929 * generated/count_8_l.c : Regenerated. 1930 * generated/cshift1_16.c : Regenerated. 1931 * generated/cshift1_4.c : Regenerated. 1932 * generated/cshift1_8.c : Regenerated. 1933 * generated/eoshift1_16.c : Regenerated. 1934 * generated/eoshift1_4.c : Regenerated. 1935 * generated/eoshift1_8.c : Regenerated. 1936 * generated/eoshift3_16.c : Regenerated. 1937 * generated/eoshift3_4.c : Regenerated. 1938 * generated/eoshift3_8.c : Regenerated. 1939 * generated/iall_i1.c : Regenerated. 1940 * generated/iall_i16.c : Regenerated. 1941 * generated/iall_i2.c : Regenerated. 1942 * generated/iall_i4.c : Regenerated. 1943 * generated/iall_i8.c : Regenerated. 1944 * generated/iany_i1.c : Regenerated. 1945 * generated/iany_i16.c : Regenerated. 1946 * generated/iany_i2.c : Regenerated. 1947 * generated/iany_i4.c : Regenerated. 1948 * generated/iany_i8.c : Regenerated. 1949 * generated/iparity_i1.c : Regenerated. 1950 * generated/iparity_i16.c : Regenerated. 1951 * generated/iparity_i2.c : Regenerated. 1952 * generated/iparity_i4.c : Regenerated. 1953 * generated/iparity_i8.c : Regenerated. 1954 * generated/maxloc0_16_i1.c : Regenerated. 1955 * generated/maxloc0_16_i16.c : Regenerated. 1956 * generated/maxloc0_16_i2.c : Regenerated. 1957 * generated/maxloc0_16_i4.c : Regenerated. 1958 * generated/maxloc0_16_i8.c : Regenerated. 1959 * generated/maxloc0_16_r10.c : Regenerated. 1960 * generated/maxloc0_16_r16.c : Regenerated. 1961 * generated/maxloc0_16_r4.c : Regenerated. 1962 * generated/maxloc0_16_r8.c : Regenerated. 1963 * generated/maxloc0_16_s1.c : Regenerated. 1964 * generated/maxloc0_16_s4.c : Regenerated. 1965 * generated/maxloc0_4_i1.c : Regenerated. 1966 * generated/maxloc0_4_i16.c : Regenerated. 1967 * generated/maxloc0_4_i2.c : Regenerated. 1968 * generated/maxloc0_4_i4.c : Regenerated. 1969 * generated/maxloc0_4_i8.c : Regenerated. 1970 * generated/maxloc0_4_r10.c : Regenerated. 1971 * generated/maxloc0_4_r16.c : Regenerated. 1972 * generated/maxloc0_4_r4.c : Regenerated. 1973 * generated/maxloc0_4_r8.c : Regenerated. 1974 * generated/maxloc0_4_s1.c : Regenerated. 1975 * generated/maxloc0_4_s4.c : Regenerated. 1976 * generated/maxloc0_8_i1.c : Regenerated. 1977 * generated/maxloc0_8_i16.c : Regenerated. 1978 * generated/maxloc0_8_i2.c : Regenerated. 1979 * generated/maxloc0_8_i4.c : Regenerated. 1980 * generated/maxloc0_8_i8.c : Regenerated. 1981 * generated/maxloc0_8_r10.c : Regenerated. 1982 * generated/maxloc0_8_r16.c : Regenerated. 1983 * generated/maxloc0_8_r4.c : Regenerated. 1984 * generated/maxloc0_8_r8.c : Regenerated. 1985 * generated/maxloc0_8_s1.c : Regenerated. 1986 * generated/maxloc0_8_s4.c : Regenerated. 1987 * generated/maxloc1_16_i1.c : Regenerated. 1988 * generated/maxloc1_16_i16.c : Regenerated. 1989 * generated/maxloc1_16_i2.c : Regenerated. 1990 * generated/maxloc1_16_i4.c : Regenerated. 1991 * generated/maxloc1_16_i8.c : Regenerated. 1992 * generated/maxloc1_16_r10.c : Regenerated. 1993 * generated/maxloc1_16_r16.c : Regenerated. 1994 * generated/maxloc1_16_r4.c : Regenerated. 1995 * generated/maxloc1_16_r8.c : Regenerated. 1996 * generated/maxloc1_16_s1.c : Regenerated. 1997 * generated/maxloc1_16_s4.c : Regenerated. 1998 * generated/maxloc1_4_i1.c : Regenerated. 1999 * generated/maxloc1_4_i16.c : Regenerated. 2000 * generated/maxloc1_4_i2.c : Regenerated. 2001 * generated/maxloc1_4_i4.c : Regenerated. 2002 * generated/maxloc1_4_i8.c : Regenerated. 2003 * generated/maxloc1_4_r10.c : Regenerated. 2004 * generated/maxloc1_4_r16.c : Regenerated. 2005 * generated/maxloc1_4_r4.c : Regenerated. 2006 * generated/maxloc1_4_r8.c : Regenerated. 2007 * generated/maxloc1_4_s1.c : Regenerated. 2008 * generated/maxloc1_4_s4.c : Regenerated. 2009 * generated/maxloc1_8_i1.c : Regenerated. 2010 * generated/maxloc1_8_i16.c : Regenerated. 2011 * generated/maxloc1_8_i2.c : Regenerated. 2012 * generated/maxloc1_8_i4.c : Regenerated. 2013 * generated/maxloc1_8_i8.c : Regenerated. 2014 * generated/maxloc1_8_r10.c : Regenerated. 2015 * generated/maxloc1_8_r16.c : Regenerated. 2016 * generated/maxloc1_8_r4.c : Regenerated. 2017 * generated/maxloc1_8_r8.c : Regenerated. 2018 * generated/maxloc1_8_s1.c : Regenerated. 2019 * generated/maxloc1_8_s4.c : Regenerated. 2020 * generated/maxval1_s1.c : Regenerated. 2021 * generated/maxval1_s4.c : Regenerated. 2022 * generated/maxval_i1.c : Regenerated. 2023 * generated/maxval_i16.c : Regenerated. 2024 * generated/maxval_i2.c : Regenerated. 2025 * generated/maxval_i4.c : Regenerated. 2026 * generated/maxval_i8.c : Regenerated. 2027 * generated/maxval_r10.c : Regenerated. 2028 * generated/maxval_r16.c : Regenerated. 2029 * generated/maxval_r4.c : Regenerated. 2030 * generated/maxval_r8.c : Regenerated. 2031 * generated/minloc0_16_i1.c : Regenerated. 2032 * generated/minloc0_16_i16.c : Regenerated. 2033 * generated/minloc0_16_i2.c : Regenerated. 2034 * generated/minloc0_16_i4.c : Regenerated. 2035 * generated/minloc0_16_i8.c : Regenerated. 2036 * generated/minloc0_16_r10.c : Regenerated. 2037 * generated/minloc0_16_r16.c : Regenerated. 2038 * generated/minloc0_16_r4.c : Regenerated. 2039 * generated/minloc0_16_r8.c : Regenerated. 2040 * generated/minloc0_16_s1.c : Regenerated. 2041 * generated/minloc0_16_s4.c : Regenerated. 2042 * generated/minloc0_4_i1.c : Regenerated. 2043 * generated/minloc0_4_i16.c : Regenerated. 2044 * generated/minloc0_4_i2.c : Regenerated. 2045 * generated/minloc0_4_i4.c : Regenerated. 2046 * generated/minloc0_4_i8.c : Regenerated. 2047 * generated/minloc0_4_r10.c : Regenerated. 2048 * generated/minloc0_4_r16.c : Regenerated. 2049 * generated/minloc0_4_r4.c : Regenerated. 2050 * generated/minloc0_4_r8.c : Regenerated. 2051 * generated/minloc0_4_s1.c : Regenerated. 2052 * generated/minloc0_4_s4.c : Regenerated. 2053 * generated/minloc0_8_i1.c : Regenerated. 2054 * generated/minloc0_8_i16.c : Regenerated. 2055 * generated/minloc0_8_i2.c : Regenerated. 2056 * generated/minloc0_8_i4.c : Regenerated. 2057 * generated/minloc0_8_i8.c : Regenerated. 2058 * generated/minloc0_8_r10.c : Regenerated. 2059 * generated/minloc0_8_r16.c : Regenerated. 2060 * generated/minloc0_8_r4.c : Regenerated. 2061 * generated/minloc0_8_r8.c : Regenerated. 2062 * generated/minloc0_8_s1.c : Regenerated. 2063 * generated/minloc0_8_s4.c : Regenerated. 2064 * generated/minloc1_16_i1.c : Regenerated. 2065 * generated/minloc1_16_i16.c : Regenerated. 2066 * generated/minloc1_16_i2.c : Regenerated. 2067 * generated/minloc1_16_i4.c : Regenerated. 2068 * generated/minloc1_16_i8.c : Regenerated. 2069 * generated/minloc1_16_r10.c : Regenerated. 2070 * generated/minloc1_16_r16.c : Regenerated. 2071 * generated/minloc1_16_r4.c : Regenerated. 2072 * generated/minloc1_16_r8.c : Regenerated. 2073 * generated/minloc1_16_s1.c : Regenerated. 2074 * generated/minloc1_16_s4.c : Regenerated. 2075 * generated/minloc1_4_i1.c : Regenerated. 2076 * generated/minloc1_4_i16.c : Regenerated. 2077 * generated/minloc1_4_i2.c : Regenerated. 2078 * generated/minloc1_4_i4.c : Regenerated. 2079 * generated/minloc1_4_i8.c : Regenerated. 2080 * generated/minloc1_4_r10.c : Regenerated. 2081 * generated/minloc1_4_r16.c : Regenerated. 2082 * generated/minloc1_4_r4.c : Regenerated. 2083 * generated/minloc1_4_r8.c : Regenerated. 2084 * generated/minloc1_4_s1.c : Regenerated. 2085 * generated/minloc1_4_s4.c : Regenerated. 2086 * generated/minloc1_8_i1.c : Regenerated. 2087 * generated/minloc1_8_i16.c : Regenerated. 2088 * generated/minloc1_8_i2.c : Regenerated. 2089 * generated/minloc1_8_i4.c : Regenerated. 2090 * generated/minloc1_8_i8.c : Regenerated. 2091 * generated/minloc1_8_r10.c : Regenerated. 2092 * generated/minloc1_8_r16.c : Regenerated. 2093 * generated/minloc1_8_r4.c : Regenerated. 2094 * generated/minloc1_8_r8.c : Regenerated. 2095 * generated/minloc1_8_s1.c : Regenerated. 2096 * generated/minloc1_8_s4.c : Regenerated. 2097 * generated/minval1_s1.c : Regenerated. 2098 * generated/minval1_s4.c : Regenerated. 2099 * generated/minval_i1.c : Regenerated. 2100 * generated/minval_i16.c : Regenerated. 2101 * generated/minval_i2.c : Regenerated. 2102 * generated/minval_i4.c : Regenerated. 2103 * generated/minval_i8.c : Regenerated. 2104 * generated/minval_r10.c : Regenerated. 2105 * generated/minval_r16.c : Regenerated. 2106 * generated/minval_r4.c : Regenerated. 2107 * generated/minval_r8.c : Regenerated. 2108 * generated/norm2_r10.c : Regenerated. 2109 * generated/norm2_r16.c : Regenerated. 2110 * generated/norm2_r4.c : Regenerated. 2111 * generated/norm2_r8.c : Regenerated. 2112 * generated/parity_l1.c : Regenerated. 2113 * generated/parity_l16.c : Regenerated. 2114 * generated/parity_l2.c : Regenerated. 2115 * generated/parity_l4.c : Regenerated. 2116 * generated/parity_l8.c : Regenerated. 2117 * generated/product_c10.c : Regenerated. 2118 * generated/product_c16.c : Regenerated. 2119 * generated/product_c4.c : Regenerated. 2120 * generated/product_c8.c : Regenerated. 2121 * generated/product_i1.c : Regenerated. 2122 * generated/product_i16.c : Regenerated. 2123 * generated/product_i2.c : Regenerated. 2124 * generated/product_i4.c : Regenerated. 2125 * generated/product_i8.c : Regenerated. 2126 * generated/product_r10.c : Regenerated. 2127 * generated/product_r16.c : Regenerated. 2128 * generated/product_r4.c : Regenerated. 2129 * generated/product_r8.c : Regenerated. 2130 * generated/reshape_c10.c : Regenerated. 2131 * generated/reshape_c16.c : Regenerated. 2132 * generated/reshape_c4.c : Regenerated. 2133 * generated/reshape_c8.c : Regenerated. 2134 * generated/reshape_i16.c : Regenerated. 2135 * generated/reshape_i4.c : Regenerated. 2136 * generated/reshape_i8.c : Regenerated. 2137 * generated/reshape_r10.c : Regenerated. 2138 * generated/reshape_r16.c : Regenerated. 2139 * generated/reshape_r4.c : Regenerated. 2140 * generated/reshape_r8.c : Regenerated. 2141 * generated/spread_c10.c : Regenerated. 2142 * generated/spread_c16.c : Regenerated. 2143 * generated/spread_c4.c : Regenerated. 2144 * generated/spread_c8.c : Regenerated. 2145 * generated/spread_i1.c : Regenerated. 2146 * generated/spread_i16.c : Regenerated. 2147 * generated/spread_i2.c : Regenerated. 2148 * generated/spread_i4.c : Regenerated. 2149 * generated/spread_i8.c : Regenerated. 2150 * generated/spread_r10.c : Regenerated. 2151 * generated/spread_r16.c : Regenerated. 2152 * generated/spread_r4.c : Regenerated. 2153 * generated/spread_r8.c : Regenerated. 2154 * generated/sum_c10.c : Regenerated. 2155 * generated/sum_c16.c : Regenerated. 2156 * generated/sum_c4.c : Regenerated. 2157 * generated/sum_c8.c : Regenerated. 2158 * generated/sum_i1.c : Regenerated. 2159 * generated/sum_i16.c : Regenerated. 2160 * generated/sum_i2.c : Regenerated. 2161 * generated/sum_i4.c : Regenerated. 2162 * generated/sum_i8.c : Regenerated. 2163 * generated/sum_r10.c : Regenerated. 2164 * generated/sum_r16.c : Regenerated. 2165 * generated/sum_r4.c : Regenerated. 2166 * generated/sum_r8.c : Regenerated. 2167 21682018-01-07 Janne Blomqvist <jb@gcc.gnu.org> 2169 2170 PR fortran/78534 2171 PR fortran/83704 2172 * io/fbuf.c (fbuf_init): Use size_t instead of int for length. 2173 (fbuf_debug): Convert debug output to unsigned long. 2174 (fbuf_reset): Use ptrdiff_t for return value. 2175 (fbuf_alloc): Use size_t for length argument. 2176 (fbuf_flush): Handle large buffers. 2177 (fbuf_flush_list): Likewise. 2178 (fbuf_seek): Use ptrdiff_t for offset and return value. 2179 (fbuf_read): Use size_t for length argument. 2180 (fbuf_getc_refill): Use size_t to match fbuf_read. 2181 * io/fbuf.h (struct fbuf): Use size_t for lengths. 2182 (fbuf_init): Use size_t instead of int for length. 2183 (fbuf_reset): Use ptrdiff_t for return value. 2184 (fbuf_alloc): Use size_t for length argument. 2185 (fbuf_seek): Use ptrdiff_t for offset and return value. 2186 (fbuf_read): Use size_t for length argument. 2187 * io/io.h (read_block_form): Likewise. 2188 (read_block_form4): Likewise. 2189 (write_block): Likewise. 2190 (read_a): Likewise. 2191 (read_a_char4): Likewise. 2192 (read_x): Likewise. 2193 (write_a): Likewise. 2194 (write_a_char4): Likewise. 2195 * io/list_read.c (list_formatted_read_scalar): Use size_t to 2196 handle large buffers. 2197 * io/read.c (read_l): Likewise. 2198 (read_utf8): Likewise. 2199 (read_utf8_char1): Likewise. 2200 (read_default_char1): Likewise. 2201 (read_utf8_char4): Likewise. 2202 (read_default_char4): Likewise. 2203 (read_a): Likewise. 2204 (read_a_char4): Likewise. 2205 (eat_leading_spaces): Likewise. 2206 (next_char): Likewise. 2207 (read_decimal): Likewise. 2208 (read_radix): Likewise. 2209 (read_f): Likewise. 2210 (read_x): Likewise. 2211 * io/transfer.c (read_sf_internal): Likewise. 2212 (read_sf): Likewise. 2213 (read_block_form): Likewise. 2214 (read_block_form4): Likewise. 2215 (write_block): Likewise. 2216 (formatted_transfer_scalar_write): Likewise. 2217 (next_record_w): Likewise. 2218 * io/unix.c (mem_alloc_r): Likewise. 2219 (mem_alloc_r4): Likewise. 2220 (mem_alloc_w): Likewise. 2221 (mem_alloc_w4): Likewise. 2222 (mem_read): Likewise. 2223 (mem_read4): Likewise. 2224 (mem_write): Likewise. 2225 (mem_write4): Likewise. 2226 (open_internal): Likewise. 2227 (open_internal4): Likewise. 2228 * io/unix.h (open_internal): Likewise. 2229 (open_internal4): Likewise. 2230 (mem_alloc_w): Likewise. 2231 (mem_alloc_r): Likewise. 2232 (mem_alloc_w4): Likewise. 2233 (mem_alloc_r4): Likewise. 2234 * io/write.c (write_check_cc): Likewise. 2235 (write_cc): Likewise. 2236 (write_a): Likewise. 2237 (write_a_char4): Likewise. 2238 22392018-01-06 Janne Blomqvist <jb@gcc.gnu.org> 2240 2241 * io/write.c (namelist_write): Remove unused variable "i". 2242 22432018-01-06 Dominique d'Humieres <dominiq@lps.ens.fr> 2244 Janne Blomqvist <jb@gcc.gnu.org> 2245 2246 PR fortran/83704 2247 * io/write.c (write_character): Use size_t instead of int for 2248 length. 2249 22502018-01-05 Janne Blomqvist <jb@gcc.gnu.org> 2251 2252 PR fortran/78534 2253 * intrinsics/args.c (getarg_i4): Use gfc_charlen_type. 2254 (get_command_argument_i4): Likewise. 2255 (get_command_i4): Likewise. 2256 * intrinsics/chmod.c (chmod_internal): Likewise. 2257 * intrinsics/env.c (get_environment_variable_i4): Likewise. 2258 * intrinsics/extends_type_of.c (struct vtype): Use size_t for size 2259 member. 2260 * intrinsics/gerror.c (gerror): Use gfc_charlen_type. 2261 * intrinsics/getlog.c (getlog): Likewise. 2262 * intrinsics/hostnm.c (hostnm_0): Likewise. 2263 * intrinsics/string_intrinsics_inc.c (string_len_trim): Rework to 2264 work if gfc_charlen_type is unsigned. 2265 (string_scan): Likewise. 2266 * io/transfer.c (transfer_character): Modify prototype. 2267 (transfer_character_write): Likewise. 2268 (transfer_character_wide): Likewise. 2269 (transfer_character_wide_write): Likewise. 2270 (transfer_array): Typecast to avoid signed-unsigned comparison. 2271 * io/unit.c (is_trim_ok): Use gfc_charlen_type. 2272 * io/write.c (namelist_write): Likewise. 2273 * libgfortran.h (gfc_charlen_type): Change typedef to size_t. 2274 22752018-01-03 Jakub Jelinek <jakub@redhat.com> 2276 2277 Update copyright years. 2278 22792018-01-02 Janne Blomqvist <jb@gcc.gnu.org> 2280 2281 PR libgfortran/83649 2282 * io/unix.c (MAX_CHUNK): New define. 2283 (raw_read): For reads larger than MAX_CHUNK, loop. 2284 (raw_write): Write no more than MAX_CHUNK bytes per iteration. 2285 2286Copyright (C) 2018 Free Software Foundation, Inc. 2287 2288Copying and distribution of this file, with or without modification, 2289are permitted in any medium without royalty provided the copyright 2290notice and this notice are preserved. 2291