https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111956

--- Comment #21 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Gaius Mulley <ga...@gcc.gnu.org>:

https://gcc.gnu.org/g:f2872e00f61a5a333fa22e651d37d3b2035ac41f

commit r14-8227-gf2872e00f61a5a333fa22e651d37d3b2035ac41f
Author: Gaius Mulley <gaiusm...@gmail.com>
Date:   Thu Jan 18 13:06:30 2024 +0000

    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 <gaiusm...@gmail.com>
  • [Bug modula2/111956] [14 Regres... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to