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

--- Comment #3 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:d646db0e35ad9d235635b204349f5d960072f9fe

commit r14-9308-gd646db0e35ad9d235635b204349f5d960072f9fe
Author: Gaius Mulley <gaiusm...@gmail.com>
Date:   Mon Mar 4 21:46:32 2024 +0000

    PR modula2/114227 InstallTerminationProcedure does not work with -fiso

    This patch moves the initial/termination user procedure functionality in
    pim and iso versions of M2RTS into M2Dependent.  This ensures that
    finalization/initialization procedures will always be invoked for both
-fiso
    and -fpim.  Prior to this patch M2Dependent called M2RTS for
    termination procedure cleanup and always invoked the pim M2RTS.

    gcc/m2/ChangeLog:

            PR modula2/114227
            * gm2-libs-iso/M2RTS.mod (ProcedureChain): Remove.
            (ProcedureList): Remove.
            (ExecuteReverse): Remove.
            (ExecuteTerminationProcedures): Rewrite.
            (ExecuteInitialProcedures): Rewrite.
            (AppendProc): Remove.
            (InstallTerminationProcedure): Rewrite.
            (InstallInitialProcedure): Rewrite.
            (InitProcList): Remove.
            * gm2-libs/M2Dependent.def (InstallTerminationProcedure):
            New procedure.
            (ExecuteTerminationProcedures): New procedure.
            (InstallInitialProcedure): New procedure.
            (ExecuteInitialProcedures): New procedure.
            * gm2-libs/M2Dependent.mod (ProcedureChain): New type.
            (ProcedureList): New type.
            (ExecuteReverse): New procedure.
            (ExecuteTerminationProcedures): New procedure.
            (ExecuteInitialProcedures): New procedure.
            (AppendProc): New procedure.
            (InstallTerminationProcedure): New procedure.
            (InstallInitialProcedure): New procedure.
            (InitProcList): New procedure.
            * gm2-libs/M2RTS.mod (ProcedureChain): Remove.
            (ProcedureList): Remove.
            (ExecuteReverse): Remove.
            (ExecuteTerminationProcedures): Rewrite.
            (ExecuteInitialProcedures): Rewrite.
            (AppendProc): Remove.
            (InstallTerminationProcedure): Rewrite.
            (InstallInitialProcedure): Rewrite.
            (InitProcList): Remove.

    Signed-off-by: Gaius Mulley <gaiusm...@gmail.com>

Reply via email to