12024-06-20 Release Manager 2 3 * GCC 12.4.0 released. 4 52024-02-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 6 7 PR libfortran/110651 8 * libgfortran.spec.in: Remove duplicate libraries. 9 102023-05-08 Release Manager 11 12 * GCC 12.3.0 released. 13 142022-12-21 Tobias Burnus <tobias@codesourcery.com> 15 16 PR libfortran/108056 17 * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc, 18 gfc_desc_to_cfi_desc): Mostly revert to GCC 11 version for 19 those backward-compatiblity-only functions. 20 212022-08-29 Jakub Jelinek <jakub@redhat.com> 22 23 Backported from master: 24 2022-08-26 Jakub Jelinek <jakub@redhat.com> 25 26 PR fortran/106579 27 * ieee/ieee_helper.c (IEEE_OTHER_VALUE, IEEE_SIGNALING_NAN, 28 IEEE_QUIET_NAN, IEEE_NEGATIVE_INF, IEEE_NEGATIVE_NORMAL, 29 IEEE_NEGATIVE_DENORMAL, IEEE_NEGATIVE_SUBNORMAL, 30 IEEE_NEGATIVE_ZERO, IEEE_POSITIVE_ZERO, IEEE_POSITIVE_DENORMAL, 31 IEEE_POSITIVE_SUBNORMAL, IEEE_POSITIVE_NORMAL, IEEE_POSITIVE_INF): 32 Move to gcc/fortran/libgfortran.h. 33 342022-08-19 Release Manager 35 36 * GCC 12.2.0 released. 37 382022-08-03 Jakub Jelinek <jakub@redhat.com> 39 40 Backported from master: 41 2022-08-01 Jakub Jelinek <jakub@redhat.com> 42 43 PR libfortran/106079 44 * io/transfer.c (formatted_transfer_scalar_read, 45 formatted_transfer_scalar_write): For type BT_REAL with kind 17 46 change kind to 16 before calling read_radix or write_{b,o,z}. 47 482022-05-06 Release Manager 49 50 * GCC 12.1.0 released. 51 522022-01-26 Francois-Xavier Coudert <fxcoudert@gmail.com> 53 54 PR libfortran/104233 55 * ieee/issignaling_fallback.h: Check GFC_REAL_16_IS_FLOAT128 56 instead of __FLT128_IS_IEC_60559__. 57 582022-01-25 Francois-Xavier Coudert <fxcoudert@gmail.com> 59 60 * ieee/issignaling_fallback.h: Fix GCC-specific preprocessor 61 macros. 62 632022-01-25 Jakub Jelinek <jakub@redhat.com> 64 65 * ieee/issignaling_fallback.h (__issignalingl): Define for 66 IBM extended long double are returning __issignaling on the 67 first double. 68 692022-01-25 Francois-Xavier Coudert <fxcoudert@gmail.com> 70 71 * ieee/issignaling_fallback.h: fix preprocessor condition. 72 732022-01-24 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 74 75 * ieee/issignaling_fallback.h: New file. 76 * ieee/ieee_helper.c: Include issignaling_fallback.h when target 77 does not define issignaling macro. 78 792022-01-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 80 81 * ieee/issignaling_fallback.h: Remove file. 82 832022-01-17 Thomas Koenig <tkoenig@gcc.gnu.org> 84 85 * runtime/environ.c: Allow for multiple default values so that 86 separate default specifications for IBM long double format and 87 endianness are possible. 88 892022-01-16 Francois-Xavier Coudert <fxcoudert@gmail.com> 90 91 * ieee/issignaling_fallback.h: New file. 92 932022-01-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 94 95 PR fortran/82207 96 * mk-kinds-h.sh: Add values for TINY. 97 * ieee/ieee_arithmetic.F90: Call C helper functions for 98 IEEE_VALUE. 99 * ieee/ieee_helper.c: New functions ieee_value_helper_N for each 100 floating-point type. 101 1022022-01-14 Jakub Jelinek <jakub@redhat.com> 103 104 PR libfortran/104006 105 * Makefile.am (BUILT_SOURCES): Don't include $(version_dep). 106 (clean-local): Remove $(version_dep). 107 * Makefile.in: Regenerated. 108 1092022-01-13 Jakub Jelinek <jakub@redhat.com> 110 111 PR libfortran/104006 112 * Makefile.am (gfortran.map-sun): Rename target to ... 113 (gfortran.ver-sun): ... this. 114 * Makefile.in: Regenerated. 115 1162022-01-12 Jakub Jelinek <jakub@redhat.com> 117 118 * libgfortran.h (POWER_IEEE128): Use __GLIBC_PREREQ in a separate 119 #if directive inside of #if ... && defined __GLIBC_PREREQ. 120 1212022-01-11 Jakub Jelinek <jakub@redhat.com> 122 123 * io/transfer.c (unformatted_read, unformatted_write): When 124 byteswapping IBM extended real(kind=16), handle it as byteswapping 125 two real(kind=8) values. 126 1272022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org> 128 129 * runtime/environ.c (R16_IEEE): New macro. 130 (R16_IBM): New macro. 131 (next_token): Handle IBM R16 conversion cases. 132 (push_token): Likewise. 133 (mark_single): Likewise. 134 (do_parse): Likewise, initialize endian. 135 1362022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org> 137 138 * Makefile.in: Regenerate. 139 * io/file_pos.c (unformatted_backspace): Mask off 140 R16 parts for convert. 141 * io/inquire.c (inquire_via_unit): Add cases for 142 R16 parts. 143 * io/open.c (st_open): Add cases for R16 conversion. 144 * io/transfer.c (unformatted_read): Adjust for R16 conversions. 145 (unformatted_write): Likewise. 146 (us_read): Mask of R16 bits. 147 (data_transfer_init): Likewiese. 148 (write_us_marker): Likewise. 149 1502022-01-11 Jakub Jelinek <jakub@redhat.com> 151 152 * Makefile.am (AM_FCFLAGS): Add -fbuilding-libgfortran after 153 -fallow-leading-underscore. 154 * Makefile.in: Regenerated. 155 1562022-01-11 Jakub Jelinek <jakub@redhat.com> 157 158 * libgfortran.h (__copysignieee128, __fmaieee128, __fmodieee128): 159 Declare. 160 * intrinsics/trigd.c (COPYSIGN, FMOD, FABS, FMA, SIN, COS, TAN): If 161 POWER_IEEE128 is defined, define these for kind 17 include. 162 * intrinsics/trigd_lib.inc (COPYSIGN, FMOD, FABS, FMA, SIN, COS, TAN): 163 Don't define if COPYSIGN is already defined. 164 1652022-01-11 Jakub Jelinek <jakub@redhat.com> 166 167 * libgfortran.h (GFC_REAL_17_INFINITY, GFC_REAL_17_QUIET_NAN): Define. 168 (__erfcieee128): Declare. 169 * intrinsics/trigd.c (_gfortran_sind_r17, _gfortran_cosd_r17, 170 _gfortran_tand_r17): Define for HAVE_GFC_REAL_17. 171 * intrinsics/random.c (random_r17, arandom_r17, rnumber_17): Define. 172 * intrinsics/erfc_scaled.c (ERFC_SCALED): Define. 173 (erfc_scaled_r16): Use ERFC_SCALED macro. 174 (erfc_scaled_r17): Define. 175 1762022-01-11 Jakub Jelinek <jakub@redhat.com> 177 178 * io/read.c (convert_real): Add missing break; for the 179 HAVE_GFC_REAL_17 case. 180 1812022-01-11 Jakub Jelinek <jakub@redhat.com> 182 183 * io/write_float.def (CALCULATE_EXP): If HAVE_GFC_REAL_17, also use 184 CALCULATE_EXP(17). 185 (determine_en_precision): Use 17 instead of 16 as first EN_PREC 186 argument for kind 17. 187 (get_float_string): Use 17 instead of 16 as first FORMAT_FLOAT 188 argument for kind 17. 189 1902022-01-11 Jakub Jelinek <jakub@redhat.com> 191 192 * libgfortran.h (__acoshieee128, __acosieee128, __asinhieee128, 193 __asinieee128, __atan2ieee128, __atanhieee128, __atanieee128, 194 __coshieee128, __cosieee128, __erfieee128, __expieee128, 195 __fabsieee128, __jnieee128, __log10ieee128, __logieee128, 196 __powieee128, __sinhieee128, __sinieee128, __sqrtieee128, 197 __tanhieee128, __tanieee128, __ynieee128): Formatting fixes. 198 (__strtoieee128, __snprintfieee128): Declare. 199 * io/io.h (default_width_for_float, default_precision_for_float): 200 Handle kind == 17. 201 * io/size_from_kind.c (size_from_real_kind, size_from_complex_kind): 202 Likewise. 203 * io/read.c (set_integer, si_max, convert_real, convert_infnan, 204 read_f): Likewise. 205 * io/write.c (extract_uint, size_from_kind, set_fnode_default): 206 Likewise. 207 * io/write_float.def (DTOA2Q, FDTOA2Q): Define for HAVE_GFC_REAL_17. 208 (determine_en_precision, get_float_string): Handle kind == 17. 209 * io/transfer128.c: Use also for HAVE_GFC_REAL_17, but don't drag in 210 libquadmath if POWER_IEEE128. 211 * Makefile.am (comma, PREPROCESS): New variables. 212 (gfortran.ver): New goal. 213 (version_arg, version_dep): Use gfortran.ver instead of 214 $(srcdir)/gfortran.map. 215 (gfortran.map-sun): Depend on and use gfortran.ver instead of 216 $(srcdir)/gfortran.map. 217 (BUILT_SOURCES): Add $(version_dep). 218 * Makefile.in: Regenerated. 219 * gfortran.map (GFORTRAN_8): Don't export 220 _gfortran_transfer_complex128, _gfortran_transfer_complex128_write, 221 _gfortran_transfer_real128 and _gfortran_transfer_real128_write if 222 HAVE_GFC_REAL_17 is defined. 223 (GFORTRAN_12): Export those here instead. 224 2252022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org> 226 227 * Makefile.am: Correct files for compilation flags. Add 228 -D__powerpc64__ for Fortran sources. Get kinds.inc from 229 grep of kinds.h and kinds-override.h. 230 * Makefile.in: Regenerate. 231 * config.h.in: Regenerate. 232 * configure: Regenerate. 233 * configure.ac: Add -mno-gnu-attribute to compile flags. 234 * generated/_abs_c17.F90: Regenerate. 235 * generated/_abs_r17.F90: Regenerate. 236 * generated/_acos_r17.F90: Regenerate. 237 * generated/_acosh_r17.F90: Regenerate. 238 * generated/_aimag_c17.F90: Regenerate. 239 * generated/_aint_r17.F90: Regenerate. 240 * generated/_anint_r17.F90: Regenerate. 241 * generated/_asin_r17.F90: Regenerate. 242 * generated/_asinh_r17.F90: Regenerate. 243 * generated/_atan2_r17.F90: Regenerate. 244 * generated/_atan_r17.F90: Regenerate. 245 * generated/_atanh_r17.F90: Regenerate. 246 * generated/_conjg_c17.F90: Regenerate. 247 * generated/_cos_c17.F90: Regenerate. 248 * generated/_cos_r17.F90: Regenerate. 249 * generated/_cosh_r17.F90: Regenerate. 250 * generated/_dim_r17.F90: Regenerate. 251 * generated/_exp_c17.F90: Regenerate. 252 * generated/_exp_r17.F90: Regenerate. 253 * generated/_log10_r17.F90: Regenerate. 254 * generated/_log_c17.F90: Regenerate. 255 * generated/_log_r17.F90: Regenerate. 256 * generated/_mod_r17.F90: Regenerate. 257 * generated/_sign_r17.F90: Regenerate. 258 * generated/_sin_c17.F90: Regenerate. 259 * generated/_sin_r17.F90: Regenerate. 260 * generated/_sinh_r17.F90: Regenerate. 261 * generated/_sqrt_c17.F90: Regenerate. 262 * generated/_sqrt_r17.F90: Regenerate. 263 * generated/_tan_r17.F90: Regenerate. 264 * generated/_tanh_r17.F90: Regenerate. 265 * kinds-override.h: Adjust to trunk. 266 Change condition to single line so it can be grepped. 267 * m4/specific.m4: Make sure that real=kind16 is used 268 for _r17.F90 and _c17.F90 files. 269 * m4/specific2.m4: Likewise. 270 2712022-01-11 Jakub Jelinek <jakub@redhat.com> 272 273 * libgfortran.h (internal_pack_r17, internal_pack_c17, 274 internal_unpack_r17, internal_unpack_c17, pack_r17, pack_c17, 275 unpack0_r17, unpack0_c17, unpack1_r17, unpack1_c17, spread_r17, 276 spread_c17, spread_scalar_r17, spread_scalar_c17, cshift0_r17, 277 cshift0_c17, cshift1_4_r17, cshift1_8_r17, cshift1_16_r17, 278 cshift1_4_c17, cshift1_8_c17, cshift1_16_c17): Declare. 279 * gfortran.map (GFORTRAN_12): Export *_r17 and *_c17. 280 2812022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org> 282 283 * acinclude.m4 (LIBGFOR_CHECK_MATH_IEEE128): New macro. 284 * configure.ac: Use it. 285 * config.h.in: Regenerate. 286 * configure: Regenerate. 287 2882022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org> 289 290 * Makefile.am: Fix pattern substitution for _r17 and _c17. 291 * Makefile.in: Regenerate. 292 2932022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org> 294 295 * Makefile.am: Add _r17 and _c17 files. Build them 296 with -mabi=ieeelongdouble on POWER. 297 * Makefile.in: Regenerate. 298 * configure: Regenerate. 299 * configure.ac: New flag HAVE_REAL_17. 300 * kinds-override.h: (HAVE_GFC_REAL_17): New macro. 301 (HAVE_GFC_COMPLEX_17): New macro. 302 (GFC_REAL_17_HUGE): New macro. 303 (GFC_REAL_17_LITERAL_SUFFIX): New macro. 304 (GFC_REAL_17_LITERAL): New macro. 305 (GFC_REAL_17_DIGITS): New macro. 306 (GFC_REAL_17_RADIX): New macro. 307 * libgfortran.h (POWER_IEEE128): New macro. 308 (gfc_array_r17): Typedef. 309 (GFC_DTYPE_REAL_17): New macro. 310 (GFC_DTYPE_COMPLEX_17): New macro. 311 (__acoshieee128): Prototype. 312 (__acosieee128): Prototype. 313 (__asinhieee128): Prototype. 314 (__asinieee128): Prototype. 315 (__atan2ieee128): Prototype. 316 (__atanhieee128): Prototype. 317 (__atanieee128): Prototype. 318 (__coshieee128): Prototype. 319 (__cosieee128): Prototype. 320 (__erfieee128): Prototype. 321 (__expieee128): Prototype. 322 (__fabsieee128): Prototype. 323 (__jnieee128): Prototype. 324 (__log10ieee128): Prototype. 325 (__logieee128): Prototype. 326 (__powieee128): Prototype. 327 (__sinhieee128): Prototype. 328 (__sinieee128): Prototype. 329 (__sqrtieee128): Prototype. 330 (__tanhieee128): Prototype. 331 (__tanieee128): Prototype. 332 (__ynieee128): Prototype. 333 * m4/mtype.m4: Make a bit more readable. Add KIND=17. 334 * generated/_abs_c17.F90: New file. 335 * generated/_abs_r17.F90: New file. 336 * generated/_acos_r17.F90: New file. 337 * generated/_acosh_r17.F90: New file. 338 * generated/_aimag_c17.F90: New file. 339 * generated/_aint_r17.F90: New file. 340 * generated/_anint_r17.F90: New file. 341 * generated/_asin_r17.F90: New file. 342 * generated/_asinh_r17.F90: New file. 343 * generated/_atan2_r17.F90: New file. 344 * generated/_atan_r17.F90: New file. 345 * generated/_atanh_r17.F90: New file. 346 * generated/_conjg_c17.F90: New file. 347 * generated/_cos_c17.F90: New file. 348 * generated/_cos_r17.F90: New file. 349 * generated/_cosh_r17.F90: New file. 350 * generated/_dim_r17.F90: New file. 351 * generated/_exp_c17.F90: New file. 352 * generated/_exp_r17.F90: New file. 353 * generated/_log10_r17.F90: New file. 354 * generated/_log_c17.F90: New file. 355 * generated/_log_r17.F90: New file. 356 * generated/_mod_r17.F90: New file. 357 * generated/_sign_r17.F90: New file. 358 * generated/_sin_c17.F90: New file. 359 * generated/_sin_r17.F90: New file. 360 * generated/_sinh_r17.F90: New file. 361 * generated/_sqrt_c17.F90: New file. 362 * generated/_sqrt_r17.F90: New file. 363 * generated/_tan_r17.F90: New file. 364 * generated/_tanh_r17.F90: New file. 365 * generated/bessel_r17.c: New file. 366 * generated/cshift0_c17.c: New file. 367 * generated/cshift0_r17.c: New file. 368 * generated/cshift1_16_c17.c: New file. 369 * generated/cshift1_16_r17.c: New file. 370 * generated/cshift1_4_c17.c: New file. 371 * generated/cshift1_4_r17.c: New file. 372 * generated/cshift1_8_c17.c: New file. 373 * generated/cshift1_8_r17.c: New file. 374 * generated/findloc0_c17.c: New file. 375 * generated/findloc0_r17.c: New file. 376 * generated/findloc1_c17.c: New file. 377 * generated/findloc1_r17.c: New file. 378 * generated/in_pack_c17.c: New file. 379 * generated/in_pack_r17.c: New file. 380 * generated/in_unpack_c17.c: New file. 381 * generated/in_unpack_r17.c: New file. 382 * generated/matmul_c17.c: New file. 383 * generated/matmul_r17.c: New file. 384 * generated/matmulavx128_c17.c: New file. 385 * generated/matmulavx128_r17.c: New file. 386 * generated/maxloc0_16_r17.c: New file. 387 * generated/maxloc0_4_r17.c: New file. 388 * generated/maxloc0_8_r17.c: New file. 389 * generated/maxloc1_16_r17.c: New file. 390 * generated/maxloc1_4_r17.c: New file. 391 * generated/maxloc1_8_r17.c: New file. 392 * generated/maxval_r17.c: New file. 393 * generated/minloc0_16_r17.c: New file. 394 * generated/minloc0_4_r17.c: New file. 395 * generated/minloc0_8_r17.c: New file. 396 * generated/minloc1_16_r17.c: New file. 397 * generated/minloc1_4_r17.c: New file. 398 * generated/minloc1_8_r17.c: New file. 399 * generated/minval_r17.c: New file. 400 * generated/norm2_r17.c: New file. 401 * generated/pack_c17.c: New file. 402 * generated/pack_r17.c: New file. 403 * generated/pow_c17_i16.c: New file. 404 * generated/pow_c17_i4.c: New file. 405 * generated/pow_c17_i8.c: New file. 406 * generated/pow_r17_i16.c: New file. 407 * generated/pow_r17_i4.c: New file. 408 * generated/pow_r17_i8.c: New file. 409 * generated/product_c17.c: New file. 410 * generated/product_r17.c: New file. 411 * generated/reshape_c17.c: New file. 412 * generated/reshape_r17.c: New file. 413 * generated/spread_c17.c: New file. 414 * generated/spread_r17.c: New file. 415 * generated/sum_c17.c: New file. 416 * generated/sum_r17.c: New file. 417 * generated/unpack_c17.c: New file. 418 * generated/unpack_r17.c: New file. 419 * m4/ifunc.m4: New file. 420 4212022-01-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 422 423 PR fortran/82207 424 * Makefile.am: Pass -fsignaling-nans for IEEE files. 425 * Makefile.in: Regenerate. 426 * ieee/ieee_helper.c: Use issignaling macro to recognized 427 signaling NaNs. 428 429 430Copyright (C) 2022 Free Software Foundation, Inc. 431 432Copying and distribution of this file, with or without modification, 433are permitted in any medium without royalty provided the copyright 434notice and this notice are preserved. 435