]> gcc.gnu.org Git - gcc.git/commit
PR modula2/114227 InstallTerminationProcedure does not work with -fiso
authorGaius Mulley <gaiusmod2@gmail.com>
Mon, 4 Mar 2024 21:46:32 +0000 (21:46 +0000)
committerGaius Mulley <gaiusmod2@gmail.com>
Mon, 4 Mar 2024 21:46:32 +0000 (21:46 +0000)
commitd646db0e35ad9d235635b204349f5d960072f9fe
treea475a9d50291b63cd6dbbcb9b8873381b4ad07ef
parent0a545ac7000501844670add0b3560ebdbcb123c6
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 <gaiusmod2@gmail.com>
gcc/m2/gm2-libs-iso/M2RTS.mod
gcc/m2/gm2-libs/M2Dependent.def
gcc/m2/gm2-libs/M2Dependent.mod
gcc/m2/gm2-libs/M2RTS.mod
This page took 0.062104 seconds and 6 git commands to generate.