Jakub Jelinek 69ffddd8bd libgcobol: Handle long double as an alternate IEEE754 quad [PR119244]
I think there should be consistency in what we use, so like
libgcobol-fp.h specifies, IEEE quad long double should have highest
priority, then _Float128 with *f128 APIs, then libquadmath.
And when we decide to use say long double, we shouldn't mix that with
strfromf128/strtof128.

Additionally, given that the *l vs. *f128 vs. *q API decision is done
solely in libgcobol and not in the compiler (which is different from
the Fortran case where compiled code emits say sinq or sinf128 calls),
I think libgcobol.spec should only have -lquadmath in any form only in
the case when using libquadmath for everything.  In the Fortran case
it is for backwards compatibility purposes, if something has been
compiled with older gfortran which used say sinq and link is done by
gfortran which has been configured against new glibc with *f128, linking
would fail otherwise.

2025-04-15  Jakub Jelinek  <jakub@redhat.com>
	    Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR cobol/119244
	* acinclude.m4 (LIBGCOBOL_CHECK_FLOAT128): Ensure
	libgcob_cv_have_float128 is not yes on targets with IEEE quad
	long double.  Don't check for --as-needed nor set LIBQUADSPEC
	on targets which USE_IEC_60559.
	* libgcobol-fp.h (FP128_FMT, strtofp128, strfromfp128): Define.
	* intrinsic.cc (strtof128): Don't redefine.
	(WEIRD_TRANSCENDENT_RETURN_VALUE): Use GCOB_FP128_LITERAL macro.
	(__gg__numval_f): Use strtofp128 instead of strtof128.
	* libgcobol.cc (strtof128): Don't redefine.
	(format_for_display_internal): Use strfromfp128 instead of
	strfromf128 or quadmath_snprintf and use FP128_FMT in the format
	string.
	(get_float128, __gg__compare_2, __gg__move, __gg__move_literala):
	Use strtofp128 instead of strtof128.
	* configure: Regenerate.
2025-04-15 07:55:55 +02:00
2025-01-02 11:59:57 +01:00
2024-11-26 00:19:26 +00:00
2025-04-12 00:17:42 +00:00
2025-04-02 00:18:25 +00:00
2025-03-30 00:16:46 +00:00
2025-01-02 11:59:57 +01:00
2025-01-11 00:19:49 +00:00
2025-04-11 00:17:32 +00:00
2025-01-02 11:59:57 +01:00
2025-04-10 00:18:06 +00:00
2025-01-02 11:59:57 +01:00
2025-04-15 00:19:09 +00:00
2025-04-14 00:16:58 +00:00
2025-03-29 00:17:59 +00:00
2025-04-15 00:19:09 +00:00
2025-04-01 00:19:09 +00:00
2025-03-30 00:16:46 +00:00
2025-01-03 00:17:15 +00:00
2025-01-02 11:59:57 +01:00
2025-04-13 00:17:09 +00:00
2025-04-10 00:18:06 +00:00
2025-01-07 00:18:08 +00:00
2025-01-02 11:59:57 +01:00
2025-04-15 00:19:09 +00:00
2025-01-02 11:59:57 +01:00
2025-03-07 00:17:19 +00:00
2025-04-08 00:17:33 +00:00
2025-04-03 00:18:15 +00:00
2025-03-31 23:35:29 +01:00
2024-11-19 12:27:33 +01:00

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the files whose
names start with COPYING for copying permission.  The manuals, and
some of the runtime libraries, are under different terms; see the
individual source files for details.

The directory INSTALL contains copies of the installation information
as HTML and plain text.  The source of this information is
gcc/doc/install.texi.  The installation information includes details
of what is included in the GCC sources and what files GCC installs.

See the file gcc/doc/gcc.texi (together with other files that it
includes) for usage and porting information.  An online readable
version of the manual is in the files gcc/doc/gcc.info*.

See http://gcc.gnu.org/bugs/ for how to report bugs usefully.

Copyright years on GCC source files may be listed using range
notation, e.g., 1987-2012, indicating that every year in the range,
inclusive, is a copyrightable year that could otherwise be listed
individually.
Description
No description provided
Readme 4.2 GiB
Languages
C++ 30.7%
C 30.2%
Ada 14.4%
D 6.1%
Go 5.7%
Other 12.4%