]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgfortran/ChangeLog
libgfortran: Switch some more __float128 uses to _Float128
[thirdparty/gcc.git] / libgfortran / ChangeLog
CommitLineData
fb29fdea
GA
12022-06-28 Jakub Jelinek <jakub@redhat.com>
2
3 * configure.ac: Check for strtof128 and strfromf128.
4 Check for math and complex *f128 functions. Set
5 have_iec_60559_libc_support to yes if *f128 support is around, for
6 --enable-libquadmath-support default to "default" rather than yes if
7 have_iec_60559_libc_support is yes.
8 * acinclude.m4 (LIBGFOR_CHECK_FLOAT128): Test
9 _Float128/_Complex _Float128 rather than __float128 and
10 _Complex float __attribute__((mode(TC))). If libquadmath support
11 is defaulted and have_iec_60559_libc_support is yes, define and subst
12 USE_IEC_60559. Remove unused LIBGFOR_BUILD_QUAD conditional.
13 * Makefile.am (kinds.h): Pass @USE_IEC_60559@ as an extra
14 mk-kinds-h.sh argument.
15 * mk-kinds-h.sh: Accept 4th use_iec_60559 argument. Use
16 _Float128/_Complex _Float128 types instead of __float128 and
17 _Complex float __attribute__((mode(TC))), and if use_iec_60559 is yes,
18 use f128 suffix instead of q and define GFC_REAL_16_USE_IEC_60559.
19 * kinds-override.h: Use _Float128/_Complex _Float128 types instead of
20 __float128 and _Complex float __attribute__((mode(TC))), if
21 USE_IEC_60559 is defined, use f128 suffixes instead of q and
22 define GFC_REAL_17_USE_IEC_60559.
23 * libgfortran.h: Don't include quadmath_weak.h if USE_IEC_60559 is
24 defined.
25 (GFC_REAL_16_INFINITY, GFC_REAL_16_QUIET_NAN): Define
26 for GFC_REAL_16_USE_IEC_60559 differently.
27 * caf/single.c (convert_type): Use _Float128/_Complex _Float128
28 instead of __float128 and _Complex float __attribute__((mode(TC))).
29 For HAVE_GFC_REAL_10 when HAVE_GFC_REAL_16 isn't defined use
30 _Complex long double instead of long double.
31 * ieee/issignaling_fallback.h (ieee854_float128_shape_type): Use
32 _Float128 instead of __float128.
33 (__issignalingf128): Change argument type to _Float128.
34 (issignaling): Use _Float128 instead of __float128 in _Generic.
35 * intrinsics/cshift0.c (cshift0): Use _Float128 instead of __float128
36 in a comment. Fix a comment typo, logn double -> long double.
37 * intrinsics/erfc_scaled.c (_THRESH, _M_2_SQRTPI, _INF, _ERFC, _EXP):
38 Use different definitions if GFC_REAL_16_USE_IEC_60559.
39 (_THRESH, _M_2_SQRTPI): Use GFC_REAL_17_LITERAL macro.
40 (_ERFC, _EXP): Use different definitions if GFC_REAL_17_USE_IEC_60559.
41 * intrinsics/spread_generic.c (spread, spread_scalar): Use _Float128
42 instead of __float128 in a comment. Fix a comment typo,
43 logn double -> long double.
44 * intrinsics/trigd.c (ENABLE_SIND, ENABLE_COSD, ENABLE_TAND): Handle
45 GFC_REAL_16_USE_IEC_60559.
46 * intrinsics/pack_generic.c (pack): Use _Float128 instead of
47 __float128 in a comment. Fix a comment typo, logn double ->
48 long double.
49 * intrinsics/unpack_generic.c (unpack1, unpack0): Likewise.
50 * runtime/in_pack_generic.c (internal_pack): Likewise.
51 * runtime/in_unpack_generic.c (internal_unpack): Likewise.
52 * io/read.c (convert_real, convert_infnan): Handle
53 GFC_REAL_16_USE_IEC_60559 and GFC_REAL_17_USE_IEC_60559.
54 * io/transfer128.c (tmp1, tmp2): Don't define if libquadmath
55 isn't needed.
56 * io/write_float.def (gfor_strfromf128): New function.
57 (DTOA2Q, FDTOA2Q): Define differently if
58 GFC_REAL_16_USE_IEC_60559 or GFC_REAL_17_USE_IEC_60559.
59 * m4/mtype.m4: Use different suffix if GFC_REAL_16_USE_IEC_60559
60 or GFC_REAL_17_USE_IEC_60559.
61 * config.h.in: Regenerated.
62 * configure: Regenerated.
63 * Makefile.in: Regenerated.
64 * generated/bessel_r16.c: Regenerated.
65 * generated/bessel_r17.c: Regenerated.
66 * generated/norm2_r16.c: Regenerated.
67 * generated/norm2_r17.c: Regenerated.
68
eaa59070
GA
692022-01-26 Francois-Xavier Coudert <fxcoudert@gmail.com>
70
71 PR libfortran/104233
72 * ieee/issignaling_fallback.h: Check GFC_REAL_16_IS_FLOAT128
73 instead of __FLT128_IS_IEC_60559__.
74
e0b8716f
GA
752022-01-25 Francois-Xavier Coudert <fxcoudert@gmail.com>
76
77 * ieee/issignaling_fallback.h: Fix GCC-specific preprocessor
78 macros.
79
802022-01-25 Jakub Jelinek <jakub@redhat.com>
81
82 * ieee/issignaling_fallback.h (__issignalingl): Define for
83 IBM extended long double are returning __issignaling on the
84 first double.
85
862022-01-25 Francois-Xavier Coudert <fxcoudert@gmail.com>
87
88 * ieee/issignaling_fallback.h: fix preprocessor condition.
89
bb99171b
GA
902022-01-24 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
91
92 * ieee/issignaling_fallback.h: New file.
93 * ieee/ieee_helper.c: Include issignaling_fallback.h when target
94 does not define issignaling macro.
95
fc829782
GA
962022-01-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
97
98 * ieee/issignaling_fallback.h: Remove file.
99
1002022-01-17 Thomas Koenig <tkoenig@gcc.gnu.org>
101
102 * runtime/environ.c: Allow for multiple default values so that
103 separate default specifications for IBM long double format and
104 endianness are possible.
105
1e942d7c
GA
1062022-01-16 Francois-Xavier Coudert <fxcoudert@gmail.com>
107
108 * ieee/issignaling_fallback.h: New file.
109
1102022-01-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
111
112 PR fortran/82207
113 * mk-kinds-h.sh: Add values for TINY.
114 * ieee/ieee_arithmetic.F90: Call C helper functions for
115 IEEE_VALUE.
116 * ieee/ieee_helper.c: New functions ieee_value_helper_N for each
117 floating-point type.
118
617db51d
GA
1192022-01-14 Jakub Jelinek <jakub@redhat.com>
120
121 PR libfortran/104006
122 * Makefile.am (BUILT_SOURCES): Don't include $(version_dep).
123 (clean-local): Remove $(version_dep).
124 * Makefile.in: Regenerated.
125
ad3f0d08
GA
1262022-01-13 Jakub Jelinek <jakub@redhat.com>
127
128 PR libfortran/104006
129 * Makefile.am (gfortran.map-sun): Rename target to ...
130 (gfortran.ver-sun): ... this.
131 * Makefile.in: Regenerated.
132
02a8a01b
GA
1332022-01-12 Jakub Jelinek <jakub@redhat.com>
134
135 * libgfortran.h (POWER_IEEE128): Use __GLIBC_PREREQ in a separate
136 #if directive inside of #if ... && defined __GLIBC_PREREQ.
137
01a254e3
GA
1382022-01-11 Jakub Jelinek <jakub@redhat.com>
139
140 * io/transfer.c (unformatted_read, unformatted_write): When
141 byteswapping IBM extended real(kind=16), handle it as byteswapping
142 two real(kind=8) values.
143
1442022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
145
146 * runtime/environ.c (R16_IEEE): New macro.
147 (R16_IBM): New macro.
148 (next_token): Handle IBM R16 conversion cases.
149 (push_token): Likewise.
150 (mark_single): Likewise.
151 (do_parse): Likewise, initialize endian.
152
1532022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
154
155 * Makefile.in: Regenerate.
156 * io/file_pos.c (unformatted_backspace): Mask off
157 R16 parts for convert.
158 * io/inquire.c (inquire_via_unit): Add cases for
159 R16 parts.
160 * io/open.c (st_open): Add cases for R16 conversion.
161 * io/transfer.c (unformatted_read): Adjust for R16 conversions.
162 (unformatted_write): Likewise.
163 (us_read): Mask of R16 bits.
164 (data_transfer_init): Likewiese.
165 (write_us_marker): Likewise.
166
1672022-01-11 Jakub Jelinek <jakub@redhat.com>
168
169 * Makefile.am (AM_FCFLAGS): Add -fbuilding-libgfortran after
170 -fallow-leading-underscore.
171 * Makefile.in: Regenerated.
172
1732022-01-11 Jakub Jelinek <jakub@redhat.com>
174
175 * libgfortran.h (__copysignieee128, __fmaieee128, __fmodieee128):
176 Declare.
177 * intrinsics/trigd.c (COPYSIGN, FMOD, FABS, FMA, SIN, COS, TAN): If
178 POWER_IEEE128 is defined, define these for kind 17 include.
179 * intrinsics/trigd_lib.inc (COPYSIGN, FMOD, FABS, FMA, SIN, COS, TAN):
180 Don't define if COPYSIGN is already defined.
181
1822022-01-11 Jakub Jelinek <jakub@redhat.com>
183
184 * libgfortran.h (GFC_REAL_17_INFINITY, GFC_REAL_17_QUIET_NAN): Define.
185 (__erfcieee128): Declare.
186 * intrinsics/trigd.c (_gfortran_sind_r17, _gfortran_cosd_r17,
187 _gfortran_tand_r17): Define for HAVE_GFC_REAL_17.
188 * intrinsics/random.c (random_r17, arandom_r17, rnumber_17): Define.
189 * intrinsics/erfc_scaled.c (ERFC_SCALED): Define.
190 (erfc_scaled_r16): Use ERFC_SCALED macro.
191 (erfc_scaled_r17): Define.
192
1932022-01-11 Jakub Jelinek <jakub@redhat.com>
194
195 * io/read.c (convert_real): Add missing break; for the
196 HAVE_GFC_REAL_17 case.
197
1982022-01-11 Jakub Jelinek <jakub@redhat.com>
199
200 * io/write_float.def (CALCULATE_EXP): If HAVE_GFC_REAL_17, also use
201 CALCULATE_EXP(17).
202 (determine_en_precision): Use 17 instead of 16 as first EN_PREC
203 argument for kind 17.
204 (get_float_string): Use 17 instead of 16 as first FORMAT_FLOAT
205 argument for kind 17.
206
2072022-01-11 Jakub Jelinek <jakub@redhat.com>
208
209 * libgfortran.h (__acoshieee128, __acosieee128, __asinhieee128,
210 __asinieee128, __atan2ieee128, __atanhieee128, __atanieee128,
211 __coshieee128, __cosieee128, __erfieee128, __expieee128,
212 __fabsieee128, __jnieee128, __log10ieee128, __logieee128,
213 __powieee128, __sinhieee128, __sinieee128, __sqrtieee128,
214 __tanhieee128, __tanieee128, __ynieee128): Formatting fixes.
215 (__strtoieee128, __snprintfieee128): Declare.
216 * io/io.h (default_width_for_float, default_precision_for_float):
217 Handle kind == 17.
218 * io/size_from_kind.c (size_from_real_kind, size_from_complex_kind):
219 Likewise.
220 * io/read.c (set_integer, si_max, convert_real, convert_infnan,
221 read_f): Likewise.
222 * io/write.c (extract_uint, size_from_kind, set_fnode_default):
223 Likewise.
224 * io/write_float.def (DTOA2Q, FDTOA2Q): Define for HAVE_GFC_REAL_17.
225 (determine_en_precision, get_float_string): Handle kind == 17.
226 * io/transfer128.c: Use also for HAVE_GFC_REAL_17, but don't drag in
227 libquadmath if POWER_IEEE128.
228 * Makefile.am (comma, PREPROCESS): New variables.
229 (gfortran.ver): New goal.
230 (version_arg, version_dep): Use gfortran.ver instead of
231 $(srcdir)/gfortran.map.
232 (gfortran.map-sun): Depend on and use gfortran.ver instead of
233 $(srcdir)/gfortran.map.
234 (BUILT_SOURCES): Add $(version_dep).
235 * Makefile.in: Regenerated.
236 * gfortran.map (GFORTRAN_8): Don't export
237 _gfortran_transfer_complex128, _gfortran_transfer_complex128_write,
238 _gfortran_transfer_real128 and _gfortran_transfer_real128_write if
239 HAVE_GFC_REAL_17 is defined.
240 (GFORTRAN_12): Export those here instead.
241
2422022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
243
244 * Makefile.am: Correct files for compilation flags. Add
245 -D__powerpc64__ for Fortran sources. Get kinds.inc from
246 grep of kinds.h and kinds-override.h.
247 * Makefile.in: Regenerate.
248 * config.h.in: Regenerate.
249 * configure: Regenerate.
250 * configure.ac: Add -mno-gnu-attribute to compile flags.
251 * generated/_abs_c17.F90: Regenerate.
252 * generated/_abs_r17.F90: Regenerate.
253 * generated/_acos_r17.F90: Regenerate.
254 * generated/_acosh_r17.F90: Regenerate.
255 * generated/_aimag_c17.F90: Regenerate.
256 * generated/_aint_r17.F90: Regenerate.
257 * generated/_anint_r17.F90: Regenerate.
258 * generated/_asin_r17.F90: Regenerate.
259 * generated/_asinh_r17.F90: Regenerate.
260 * generated/_atan2_r17.F90: Regenerate.
261 * generated/_atan_r17.F90: Regenerate.
262 * generated/_atanh_r17.F90: Regenerate.
263 * generated/_conjg_c17.F90: Regenerate.
264 * generated/_cos_c17.F90: Regenerate.
265 * generated/_cos_r17.F90: Regenerate.
266 * generated/_cosh_r17.F90: Regenerate.
267 * generated/_dim_r17.F90: Regenerate.
268 * generated/_exp_c17.F90: Regenerate.
269 * generated/_exp_r17.F90: Regenerate.
270 * generated/_log10_r17.F90: Regenerate.
271 * generated/_log_c17.F90: Regenerate.
272 * generated/_log_r17.F90: Regenerate.
273 * generated/_mod_r17.F90: Regenerate.
274 * generated/_sign_r17.F90: Regenerate.
275 * generated/_sin_c17.F90: Regenerate.
276 * generated/_sin_r17.F90: Regenerate.
277 * generated/_sinh_r17.F90: Regenerate.
278 * generated/_sqrt_c17.F90: Regenerate.
279 * generated/_sqrt_r17.F90: Regenerate.
280 * generated/_tan_r17.F90: Regenerate.
281 * generated/_tanh_r17.F90: Regenerate.
282 * kinds-override.h: Adjust to trunk.
283 Change condition to single line so it can be grepped.
284 * m4/specific.m4: Make sure that real=kind16 is used
285 for _r17.F90 and _c17.F90 files.
286 * m4/specific2.m4: Likewise.
287
2882022-01-11 Jakub Jelinek <jakub@redhat.com>
289
290 * libgfortran.h (internal_pack_r17, internal_pack_c17,
291 internal_unpack_r17, internal_unpack_c17, pack_r17, pack_c17,
292 unpack0_r17, unpack0_c17, unpack1_r17, unpack1_c17, spread_r17,
293 spread_c17, spread_scalar_r17, spread_scalar_c17, cshift0_r17,
294 cshift0_c17, cshift1_4_r17, cshift1_8_r17, cshift1_16_r17,
295 cshift1_4_c17, cshift1_8_c17, cshift1_16_c17): Declare.
296 * gfortran.map (GFORTRAN_12): Export *_r17 and *_c17.
297
2982022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
299
300 * acinclude.m4 (LIBGFOR_CHECK_MATH_IEEE128): New macro.
301 * configure.ac: Use it.
302 * config.h.in: Regenerate.
303 * configure: Regenerate.
304
3052022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
306
307 * Makefile.am: Fix pattern substitution for _r17 and _c17.
308 * Makefile.in: Regenerate.
309
3102022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
311
312 * Makefile.am: Add _r17 and _c17 files. Build them
313 with -mabi=ieeelongdouble on POWER.
314 * Makefile.in: Regenerate.
315 * configure: Regenerate.
316 * configure.ac: New flag HAVE_REAL_17.
317 * kinds-override.h: (HAVE_GFC_REAL_17): New macro.
318 (HAVE_GFC_COMPLEX_17): New macro.
319 (GFC_REAL_17_HUGE): New macro.
320 (GFC_REAL_17_LITERAL_SUFFIX): New macro.
321 (GFC_REAL_17_LITERAL): New macro.
322 (GFC_REAL_17_DIGITS): New macro.
323 (GFC_REAL_17_RADIX): New macro.
324 * libgfortran.h (POWER_IEEE128): New macro.
325 (gfc_array_r17): Typedef.
326 (GFC_DTYPE_REAL_17): New macro.
327 (GFC_DTYPE_COMPLEX_17): New macro.
328 (__acoshieee128): Prototype.
329 (__acosieee128): Prototype.
330 (__asinhieee128): Prototype.
331 (__asinieee128): Prototype.
332 (__atan2ieee128): Prototype.
333 (__atanhieee128): Prototype.
334 (__atanieee128): Prototype.
335 (__coshieee128): Prototype.
336 (__cosieee128): Prototype.
337 (__erfieee128): Prototype.
338 (__expieee128): Prototype.
339 (__fabsieee128): Prototype.
340 (__jnieee128): Prototype.
341 (__log10ieee128): Prototype.
342 (__logieee128): Prototype.
343 (__powieee128): Prototype.
344 (__sinhieee128): Prototype.
345 (__sinieee128): Prototype.
346 (__sqrtieee128): Prototype.
347 (__tanhieee128): Prototype.
348 (__tanieee128): Prototype.
349 (__ynieee128): Prototype.
350 * m4/mtype.m4: Make a bit more readable. Add KIND=17.
351 * generated/_abs_c17.F90: New file.
352 * generated/_abs_r17.F90: New file.
353 * generated/_acos_r17.F90: New file.
354 * generated/_acosh_r17.F90: New file.
355 * generated/_aimag_c17.F90: New file.
356 * generated/_aint_r17.F90: New file.
357 * generated/_anint_r17.F90: New file.
358 * generated/_asin_r17.F90: New file.
359 * generated/_asinh_r17.F90: New file.
360 * generated/_atan2_r17.F90: New file.
361 * generated/_atan_r17.F90: New file.
362 * generated/_atanh_r17.F90: New file.
363 * generated/_conjg_c17.F90: New file.
364 * generated/_cos_c17.F90: New file.
365 * generated/_cos_r17.F90: New file.
366 * generated/_cosh_r17.F90: New file.
367 * generated/_dim_r17.F90: New file.
368 * generated/_exp_c17.F90: New file.
369 * generated/_exp_r17.F90: New file.
370 * generated/_log10_r17.F90: New file.
371 * generated/_log_c17.F90: New file.
372 * generated/_log_r17.F90: New file.
373 * generated/_mod_r17.F90: New file.
374 * generated/_sign_r17.F90: New file.
375 * generated/_sin_c17.F90: New file.
376 * generated/_sin_r17.F90: New file.
377 * generated/_sinh_r17.F90: New file.
378 * generated/_sqrt_c17.F90: New file.
379 * generated/_sqrt_r17.F90: New file.
380 * generated/_tan_r17.F90: New file.
381 * generated/_tanh_r17.F90: New file.
382 * generated/bessel_r17.c: New file.
383 * generated/cshift0_c17.c: New file.
384 * generated/cshift0_r17.c: New file.
385 * generated/cshift1_16_c17.c: New file.
386 * generated/cshift1_16_r17.c: New file.
387 * generated/cshift1_4_c17.c: New file.
388 * generated/cshift1_4_r17.c: New file.
389 * generated/cshift1_8_c17.c: New file.
390 * generated/cshift1_8_r17.c: New file.
391 * generated/findloc0_c17.c: New file.
392 * generated/findloc0_r17.c: New file.
393 * generated/findloc1_c17.c: New file.
394 * generated/findloc1_r17.c: New file.
395 * generated/in_pack_c17.c: New file.
396 * generated/in_pack_r17.c: New file.
397 * generated/in_unpack_c17.c: New file.
398 * generated/in_unpack_r17.c: New file.
399 * generated/matmul_c17.c: New file.
400 * generated/matmul_r17.c: New file.
401 * generated/matmulavx128_c17.c: New file.
402 * generated/matmulavx128_r17.c: New file.
403 * generated/maxloc0_16_r17.c: New file.
404 * generated/maxloc0_4_r17.c: New file.
405 * generated/maxloc0_8_r17.c: New file.
406 * generated/maxloc1_16_r17.c: New file.
407 * generated/maxloc1_4_r17.c: New file.
408 * generated/maxloc1_8_r17.c: New file.
409 * generated/maxval_r17.c: New file.
410 * generated/minloc0_16_r17.c: New file.
411 * generated/minloc0_4_r17.c: New file.
412 * generated/minloc0_8_r17.c: New file.
413 * generated/minloc1_16_r17.c: New file.
414 * generated/minloc1_4_r17.c: New file.
415 * generated/minloc1_8_r17.c: New file.
416 * generated/minval_r17.c: New file.
417 * generated/norm2_r17.c: New file.
418 * generated/pack_c17.c: New file.
419 * generated/pack_r17.c: New file.
420 * generated/pow_c17_i16.c: New file.
421 * generated/pow_c17_i4.c: New file.
422 * generated/pow_c17_i8.c: New file.
423 * generated/pow_r17_i16.c: New file.
424 * generated/pow_r17_i4.c: New file.
425 * generated/pow_r17_i8.c: New file.
426 * generated/product_c17.c: New file.
427 * generated/product_r17.c: New file.
428 * generated/reshape_c17.c: New file.
429 * generated/reshape_r17.c: New file.
430 * generated/spread_c17.c: New file.
431 * generated/spread_r17.c: New file.
432 * generated/sum_c17.c: New file.
433 * generated/sum_r17.c: New file.
434 * generated/unpack_c17.c: New file.
435 * generated/unpack_r17.c: New file.
436 * m4/ifunc.m4: New file.
437
d9450aa0
GA
4382022-01-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
439
440 PR fortran/82207
441 * Makefile.am: Pass -fsignaling-nans for IEEE files.
442 * Makefile.in: Regenerate.
443 * ieee/ieee_helper.c: Use issignaling macro to recognized
444 signaling NaNs.
445
818ab71a 446\f
6123f29a 447Copyright (C) 2022 Free Software Foundation, Inc.
982198d5
JB
448
449Copying and distribution of this file, with or without modification,
450are permitted in any medium without royalty provided the copyright
451notice and this notice are preserved.