gcc/libgcobol
Iain Sandoe 95f10974a9 libgcobol: Allow libgcobol to use libquadmath [PR119244].
Many of the changes are mechanical:
 1. 'GCOB_FP128' in place of _Float128.
 2. Using FP128_FUNC to represent the spelling of intrinsics.
 3. Using GCOB_FP128_LITERAL() to choose the suffix for literals.

This allows for:
  __float128 and 'q' as the suffix when libquadmath is configured.
   _Float128 / 'f128' when IEC-60559 is available in libc
 long double / 'l' when long double is ieee753 128b.

Add libquadmath to libgcobol.spec and its dependencies  where the
platform needs it.

	PR cobol/119244

libgcobol/ChangeLog:

	* Makefile.am: Add support for libquadmath.
	* Makefile.in: Regenerate.
	* acinclude.m4: Add support for libquadmath.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* configure.ac: Configure libquadmath support.
	* gmath.cc: Use GCOB_FP128 to represent the configured
	128b floating point type.  Use FP128_FUNC to represent
	the naming of intrinsics in the configure 128b floating
	point type. Render literals with GCOB_FP128_LITERAL.
	* intrinsic.cc: Likewise.
	* libgcobol.cc: Likewise.
	* libgcobol.h: Likewise.
	* libgcobol-fp.h: New file.
	* gfileio.cc: Include libgcobol-fp.h.
	* libgcobol.spec.in: Add libquadmath configure output.

Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
2025-04-10 11:05:07 +01:00
..
acinclude.m4 libgcobol: Allow libgcobol to use libquadmath [PR119244]. 2025-04-10 11:05:07 +01:00
aclocal.m4 libgcobol: C++-ify the configuration steps. 2025-04-05 14:22:53 +01:00
ChangeLog Daily bump. 2025-04-10 00:18:06 +00:00
charmaps.cc cobol: Confine all __int128/_Float128 references to libgcobol. 2025-03-28 12:21:05 -04:00
charmaps.h cobol: Eliminate cobolworx UAT errors when compiling with -Os 2025-04-04 14:09:09 -04:00
common-defs.h cobol: Proper comparison of alphanumeric to refmoded numeric-display [PR119682] 2025-04-09 17:10:54 -04:00
config.h.in libgcobol: Allow libgcobol to use libquadmath [PR119244]. 2025-04-10 11:05:07 +01:00
configure libgcobol: Allow libgcobol to use libquadmath [PR119244]. 2025-04-10 11:05:07 +01:00
configure.ac libgcobol: Allow libgcobol to use libquadmath [PR119244]. 2025-04-10 11:05:07 +01:00
configure.tgt cobol: Fix up libgcobol configure [PR119216] 2025-03-11 14:36:53 +01:00
constants.cc cobol: Eliminate cobolworx UAT errors when compiling with -Os 2025-04-04 14:09:09 -04:00
ec.h cobol: Confine all __int128/_Float128 references to libgcobol. 2025-03-28 12:21:05 -04:00
exceptl.h
gcobolio.h cobol: Confine all __int128/_Float128 references to libgcobol. 2025-03-28 12:21:05 -04:00
gfileio.cc libgcobol: Allow libgcobol to use libquadmath [PR119244]. 2025-04-10 11:05:07 +01:00
gfileio.h cobol: Confine all __int128/_Float128 references to libgcobol. 2025-03-28 12:21:05 -04:00
gmath.cc libgcobol: Allow libgcobol to use libquadmath [PR119244]. 2025-04-10 11:05:07 +01:00
gmath.h
intrinsic.cc libgcobol: Allow libgcobol to use libquadmath [PR119244]. 2025-04-10 11:05:07 +01:00
io.cc libgcobol: Ensure that config.h is included where needed. 2025-04-03 14:32:27 +01:00
io.h
libgcobol-fp.h libgcobol: Allow libgcobol to use libquadmath [PR119244]. 2025-04-10 11:05:07 +01:00
libgcobol.cc libgcobol: Allow libgcobol to use libquadmath [PR119244]. 2025-04-10 11:05:07 +01:00
libgcobol.h libgcobol: Allow libgcobol to use libquadmath [PR119244]. 2025-04-10 11:05:07 +01:00
libgcobol.spec.in libgcobol: Allow libgcobol to use libquadmath [PR119244]. 2025-04-10 11:05:07 +01:00
Makefile.am libgcobol: Allow libgcobol to use libquadmath [PR119244]. 2025-04-10 11:05:07 +01:00
Makefile.in libgcobol: Allow libgcobol to use libquadmath [PR119244]. 2025-04-10 11:05:07 +01:00
README
valconv.cc libgcobol: Fix uses of tolower and toupper with std::transform 2025-03-26 16:49:11 -04:00
valconv.h

The libgcobol is intended for use entirely and solely by executables created
from COBOL source code by the GCOBOL "COBOL for GCC" front end.

libgcobol.a can be staticly linked in, but it makes for very large binaries. We
tend to use that for debugging the GCOBOL compiler, and not much else

Many of the functions in the library are called by the executable code generated
by the GCOBOL compiler through GIMPLE tags, and thus prototypes -- which are 
part of the C/C++ programming paradigm -- are not used.  Both the calling
program and the called program use the extern "C" construction so that the
linker can find the functions, and they need to agree ahead of time about the
meaning of passed parameters.