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