1 2018-12-31 Thomas Koenig <tkoenig (a] 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 243 2018-12-29 Steven G. Kargl <kargl (a] 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 251 2018-12-29 Steven G. Kargl <kargl (a] 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 257 2018-12-28 Steven G. Kargl <kargl (a] gcc.gnu.org> 258 259 PR fortran/81984 260 * intrinsics/string_intrinsics_inc.c: Placate the sanitizer. 261 262 2018-12-21 Steven G. Kargl <kargl (a] gcc.gnu.org> 263 264 PR fortran/69121 265 * ieee/ieee_arithmetic.F90: Provide missing interfaces for IEEE_SCALB. 266 267 2018-12-20 Steven G. Kargl <kargl (a] gcc.gnu.org> 268 269 * ieee/ieee_arithmetic.F90: Re-organize file to 270 eliminate #ifdef ... #endif. No functional change. 271 272 2018-12-09 Thomas Koenig <tkoenig (a] 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 283 2018-12-02 Janne Blomqvist <jb (a] 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 289 2018-11-30 Janne Blomqvist <jb (a] gcc.gnu.org> 290 291 PR libfortran/88137 292 * runtime/backtrace.c (show_backtrace): Make lbstate a static 293 variable, initialize once. 294 295 2018-11-23 Janne Blomqvist <jb (a] 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 304 2018-11-22 Janne Blomqvist <jb (a] 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 316 2018-11-09 Jerry DeLisle <jvdelisle (a] gcc.gnu.org> 317 318 PR libfortran/78351 319 * io/transfer.c (read_sf_internal): Delete leftover 320 debug code. 321 322 2018-11-08 Jerry DeLisle <jvdelisle (a] 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 328 2018-10-31 Joseph Myers <joseph (a] 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 335 2017-10-28 Thomas Koenig <tkoenig (a] 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 428 2018-10-06 Janne Blomqvist <jb (a] 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 449 2018-10-02 Gerald Pfeifer <gerald (a] pfeifer.com> 450 451 * io/close.c [!HAVE_UNLINK_OPEN_FILE]: Include <string.h>. 452 453 2018-09-21 Janne Blomqvist <jb (a] 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 482 2018-09-16 Thomas Koenig <tkoenig (a] 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 513 2018-09-14 Kyrylo Tkachov <kyrylo.tkachov (a] arm.com> 514 515 * io/unix.c (fallback_access): Avoid calling close on 516 uninitialized file descriptor. 517 518 2018-09-12 Kwok Cheung Yeung <kcy (a] codesourcery.com> 519 520 * runtime/minimal.c (estr_write): Define in terms of write. 521 522 2018-09-12 Andrew Stubbs <ams (a] codesourcery.com> 523 524 * runtime/minimal.c (exit): Only work around nvptx bugs on nvptx. 525 526 2018-09-07 Janne Blomqvist <jb (a] gcc.gnu.org> 527 528 * runtime/environ.c (init_unsigned_integer): Remove. 529 530 2018-09-05 Hans-Peter Nilsson <hp (a] axis.com> 531 532 * io/async.h: Use __gthread_mutex_t, not pthread_mutex_t. 533 534 2018-09-01 Jerry DeLisle <jvdelisle (a] 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 541 2018-08-25 Thomas Koenig <tkoenig (a] 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 573 2018-08-23 David Edelsohn <dje.gcc (a] gmail.com> 574 575 * async.h (ASYNC_IO): Revert _AIX test. 576 577 2018-08-22 Thomas Koenig <tkoenig (a] 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 583 2018-08-21 Nicolas Koenig <koenigni (a] gcc.gnu.org> 584 Thomas Koenig <tkoenig (a] 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 645 2018-08-15 Rainer Orth <ro (a] 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 651 2018-08-13 Janne Blomqvist <jb (a] 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 658 2018-07-31 Andre Vieira <andre.simoesdiasvieira (a] arm.com> 659 660 Revert 'AsyncI/O patch committed' 661 2018-07-25 Nicolas Koenig <koenigni (a] gcc.gnu.org> 662 Thomas Koenig <tkoenig (a] 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 723 2018-07-25 Nicolas Koenig <koenigni (a] gcc.gnu.org> 724 Thomas Koenig <tkoenig (a] 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 785 2018-06-09 Jerry DeLisle <jvdelisle (a] gcc.gnu.org> 786 787 PR libgfortran/86070 788 * io/write_float.def (build_float_string): Initialize *len. 789 790 2018-06-01 Steven G. Kargl <kargl (a] 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 1049 2018-06-01 Steven G. Kargl <kargl (a] 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 1057 2018-05-28 Jerry DeLisle <jvdelisle (a] 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 1063 2018-05-26 Jerry DeLisle <jvdelisle (a] 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 1071 2018-05-26 Jerry DeLisle <jvdelisle (a] 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 1077 2018-05-08 Thomas Koenig <tkoenig (a] 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 1310 2018-04-24 H.J. Lu <hongjiu.lu (a] intel.com> 1311 1312 * configure: Regenerated. 1313 1314 2018-04-19 Thomas Schwinge <thomas (a] 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 1322 2018-04-19 Jakub Jelinek <jakub (a] redhat.com> 1323 1324 * configure: Regenerated. 1325 1326 2018-04-18 David Malcolm <dmalcolm (a] redhat.com> 1327 1328 PR jit/85384 1329 * configure: Regenerate. 1330 1331 2018-04-06 Thomas Koenig <tkoenig (a] 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 1363 2018-04-04 Thomas Koenig <tkoenig (a] 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 1369 2018-03-28 Jakub Jelinek <jakub (a] 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 1378 2018-03-15 Jakub Jelinek <jakub (a] 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 1384 2018-03-13 Steven G. Kargl <kargl (a] 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 1393 2018-02-23 Janne Blomqvist <jb (a] 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 1415 2018-02-22 Janne Blomqvist <jb (a] 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 1423 2018-02-22 Janne Blomqvist <jb (a] 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 1476 2018-02-19 Andre Vehreschild <vehre (a] 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 1488 2018-02-14 Igor Tsimbalist <igor.v.tsimbalist (a] intel.com> 1489 1490 PR target/84148 1491 * configure: Regenerate. 1492 1493 2018-02-18 Jerry DeLisle <jvdelisle (a] 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 1499 2018-02-12 Thomas Koenig <tkoenig (a] 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 1530 2018-01-31 Janne Blomqvist <jb (a] 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 1618 2018-01-30 Thomas Koenig <tkoenig (a] 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 1637 2018-01-25 Paul Thomas <pault (a] 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 1654 2018-01-15 Thomas Koenig <tkoenig (a] 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 1876 2018-01-14 Jerry DeLisle <jvdelisle (a] gcc.gnu.org> 1877 1878 PR libgfortran/83811 1879 * write.c (select_buffer): Adjust buffer size up by 1. 1880 1881 2018-01-08 Janne Blomqvist <jb (a] 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 1887 2018-01-07 Thomas Koenig <tkoenig (a] 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 2168 2018-01-07 Janne Blomqvist <jb (a] 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 2239 2018-01-06 Janne Blomqvist <jb (a] gcc.gnu.org> 2240 2241 * io/write.c (namelist_write): Remove unused variable "i". 2242 2243 2018-01-06 Dominique d'Humieres <dominiq (a] lps.ens.fr> 2244 Janne Blomqvist <jb (a] gcc.gnu.org> 2245 2246 PR fortran/83704 2247 * io/write.c (write_character): Use size_t instead of int for 2248 length. 2249 2250 2018-01-05 Janne Blomqvist <jb (a] 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 2275 2018-01-03 Jakub Jelinek <jakub (a] redhat.com> 2276 2277 Update copyright years. 2278 2279 2018-01-02 Janne Blomqvist <jb (a] 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 2287 Copyright (C) 2018 Free Software Foundation, Inc. 2288 2289 Copying and distribution of this file, with or without modification, 2290 are permitted in any medium without royalty provided the copyright 2291 notice and this notice are preserved. 2292