aboutsummaryrefslogtreecommitdiff
path: root/libgm2/libm2pim
diff options
context:
space:
mode:
authorGaius Mulley <gaiusmod2@gmail.com>2024-01-18 13:06:30 +0000
committerGaius Mulley <gaiusmod2@gmail.com>2024-01-18 13:06:30 +0000
commitf2872e00f61a5a333fa22e651d37d3b2035ac41f (patch)
treed2c9fabd7690d9e0efaf3e26c28032ed817cefc1 /libgm2/libm2pim
parentaf66955000e38eeba5992641f98a4749cfeb8854 (diff)
downloadgcc-f2872e00f61a5a333fa22e651d37d3b2035ac41f.zip
gcc-f2872e00f61a5a333fa22e651d37d3b2035ac41f.tar.gz
gcc-f2872e00f61a5a333fa22e651d37d3b2035ac41f.tar.bz2
PR modula2/111956 Many powerpc platforms do _not_ have support for IEEE754
This patch corrects commit r14-4149-g81d5ca0b9b8431f1bd7a5ec8a2c94f04bb0cf032 which assummed all powerpc platforms would have IEEE754 long double. The patch ensures that cc1gm2 obtains the default IEEE754 long double availability from the configure generated tm_defines. The user command line switches -mabi=ibmlongdouble and -mabi=ieeelongdouble are implemented to override the configuration defaults. Bootstrapped on power8 and power9 machines. gcc/m2/ChangeLog: PR modula2/111956 * Make-lang.in (host_mc_longreal): Remove. * configure: Regenerate. * configure.ac (M2C_LONGREAL_FLOAT128): Remove. (M2C_LONGREAL_PPC64LE): Remove. * gm2-compiler/M2Options.def (SetIBMLongDouble): New procedure. (GetIBMLongDouble): New procedure function. (SetIEEELongDouble): New procedure. (GetIEEELongDouble): New procedure function. * gm2-compiler/M2Options.mod (SetIBMLongDouble): New procedure. (GetIBMLongDouble): New procedure function. (SetIEEELongDouble): New procedure. (GetIEEELongDouble): New procedure function. (InitializeLongDoubleFlags): New procedure called during module block initialization. * gm2-gcc/m2configure.cc: Remove duplicate includes. (m2configure_M2CLongRealFloat128): Remove. (m2configure_M2CLongRealIBM128): Remove. (m2configure_M2CLongRealLongDouble): Remove. (m2configure_M2CLongRealLongDoublePPC64LE): Remove. (m2configure_TargetIEEEQuadDefault): New function. * gm2-gcc/m2configure.def (M2CLongRealFloat128): Remove. (M2CLongRealIBM128): Remove. (M2CLongRealLongDouble): Remove. (M2CLongRealLongDoublePPC64LE): Remove. (TargetIEEEQuadDefault): New function. * gm2-gcc/m2configure.h (m2configure_M2CLongRealFloat128): Remove. (m2configure_M2CLongRealIBM128): Remove. (m2configure_M2CLongRealLongDouble): Remove. (m2configure_M2CLongRealLongDoublePPC64LE): Remove. (m2configure_TargetIEEEQuadDefault): New function. * gm2-gcc/m2options.h (M2Options_SetIBMLongDouble): New prototype. (M2Options_GetIBMLongDouble): New prototype. (M2Options_SetIEEELongDouble): New prototype. (M2Options_GetIEEELongDouble): New prototype. * gm2-gcc/m2type.cc (build_m2_long_real_node): Re-implement using results of M2Options_GetIBMLongDouble and M2Options_GetIEEELongDouble. * gm2-lang.cc (gm2_langhook_handle_option): Add case OPT_mabi_ibmlongdouble and call M2Options_SetIBMLongDouble. Add case OPT_mabi_ieeelongdouble and call M2Options_SetIEEELongDouble. * gm2config.aci.in: Regenerate. * gm2spec.cc (lang_specific_driver): Remove block defined by M2C_LONGREAL_PPC64LE. Remove case OPT_mabi_ibmlongdouble. Remove case OPT_mabi_ieeelongdouble. libgm2/ChangeLog: PR modula2/111956 * Makefile.am (TARGET_LONGDOUBLE_ABI): Remove. * Makefile.in: Regenerate. * libm2cor/Makefile.am (TARGET_LONGDOUBLE_ABI): Remove. * libm2cor/Makefile.in: Regenerate. * libm2iso/Makefile.am (TARGET_LONGDOUBLE_ABI): Remove. * libm2iso/Makefile.in: Regenerate. * libm2log/Makefile.am (TARGET_LONGDOUBLE_ABI): Remove. * libm2log/Makefile.in: Regenerate. * libm2min/Makefile.am (TARGET_LONGDOUBLE_ABI): Remove. * libm2min/Makefile.in: Regenerate. * libm2pim/Makefile.am (TARGET_LONGDOUBLE_ABI): Remove. * libm2pim/Makefile.in: Regenerate. Signed-off-by: Gaius Mulley <gaiusmod2@gmail.com>
Diffstat (limited to 'libgm2/libm2pim')
-rw-r--r--libgm2/libm2pim/Makefile.am9
-rw-r--r--libgm2/libm2pim/Makefile.in7
2 files changed, 6 insertions, 10 deletions
diff --git a/libgm2/libm2pim/Makefile.am b/libgm2/libm2pim/Makefile.am
index 4c5e046..b575cab 100644
--- a/libgm2/libm2pim/Makefile.am
+++ b/libgm2/libm2pim/Makefile.am
@@ -88,7 +88,6 @@ AM_MAKEFLAGS = \
"NM_FOR_TARGET=$(NM_FOR_TARGET)" \
"DESTDIR=$(DESTDIR)" \
"WERROR=$(WERROR)" \
- "TARGET_LONGDOUBLE_ABI=$(TARGET_LONGDOUBLE_ABI)" \
"TARGET_LIB_PATH_libgm2=$(TARGET_LIB_PATH_libgm2)"
# Subdir rules rely on $(FLAGS_TO_PASS)
@@ -168,14 +167,14 @@ libm2pimdir = libm2pim
libm2pim_la_DEPENDENCIES = SYSTEM.def $(addsuffix .lo, $(basename $(libm2pim_la_SOURCES)))
libm2pim_la_CFLAGS = \
-I. -I.. -I$(GM2_SRC)/gm2-libs -I$(GM2_SRC)/gm2-libs-iso \
- -DBUILD_GM2_LIBS -I@srcdir@/../ -I@srcdir@/../libm2iso \
- $(TARGET_LONGDOUBLE_ABI)
+ -DBUILD_GM2_LIBS -I@srcdir@/../ -I@srcdir@/../libm2iso
+
libm2pim_la_M2FLAGS = \
-fm2-pathname=m2pim -I. -I$(GM2_SRC)/gm2-libs \
-fm2-pathname=m2iso -I$(GM2_SRC)/gm2-libs-iso \
-fm2-g -g -Wcase-enum -Wreturn-type \
- -fcase -fm2-prefix=m2pim \
- $(TARGET_LONGDOUBLE_ABI)
+ -fcase -fm2-prefix=m2pim
+
if TARGET_DARWIN
libm2pim_la_link_flags = -Wl,-undefined,dynamic_lookup
else
diff --git a/libgm2/libm2pim/Makefile.in b/libgm2/libm2pim/Makefile.in
index eca7e85..85623d0 100644
--- a/libgm2/libm2pim/Makefile.in
+++ b/libgm2/libm2pim/Makefile.in
@@ -467,7 +467,6 @@ AM_MAKEFLAGS = \
"NM_FOR_TARGET=$(NM_FOR_TARGET)" \
"DESTDIR=$(DESTDIR)" \
"WERROR=$(WERROR)" \
- "TARGET_LONGDOUBLE_ABI=$(TARGET_LONGDOUBLE_ABI)" \
"TARGET_LIB_PATH_libgm2=$(TARGET_LIB_PATH_libgm2)"
@@ -545,15 +544,13 @@ FLAGS_TO_PASS = $(AM_MAKEFLAGS)
@BUILD_PIMLIB_TRUE@libm2pim_la_DEPENDENCIES = SYSTEM.def $(addsuffix .lo, $(basename $(libm2pim_la_SOURCES)))
@BUILD_PIMLIB_TRUE@libm2pim_la_CFLAGS = \
@BUILD_PIMLIB_TRUE@ -I. -I.. -I$(GM2_SRC)/gm2-libs -I$(GM2_SRC)/gm2-libs-iso \
-@BUILD_PIMLIB_TRUE@ -DBUILD_GM2_LIBS -I@srcdir@/../ -I@srcdir@/../libm2iso \
-@BUILD_PIMLIB_TRUE@ $(TARGET_LONGDOUBLE_ABI)
+@BUILD_PIMLIB_TRUE@ -DBUILD_GM2_LIBS -I@srcdir@/../ -I@srcdir@/../libm2iso
@BUILD_PIMLIB_TRUE@libm2pim_la_M2FLAGS = \
@BUILD_PIMLIB_TRUE@ -fm2-pathname=m2pim -I. -I$(GM2_SRC)/gm2-libs \
@BUILD_PIMLIB_TRUE@ -fm2-pathname=m2iso -I$(GM2_SRC)/gm2-libs-iso \
@BUILD_PIMLIB_TRUE@ -fm2-g -g -Wcase-enum -Wreturn-type \
-@BUILD_PIMLIB_TRUE@ -fcase -fm2-prefix=m2pim \
-@BUILD_PIMLIB_TRUE@ $(TARGET_LONGDOUBLE_ABI)
+@BUILD_PIMLIB_TRUE@ -fcase -fm2-prefix=m2pim
@BUILD_PIMLIB_TRUE@@TARGET_DARWIN_FALSE@libm2pim_la_link_flags = \
@BUILD_PIMLIB_TRUE@@TARGET_DARWIN_FALSE@ $(am__append_1)