[PR modula2/117203] Followup add Delete procedure function

This patch provides GetFileName procedure function for
FIO.File, FileSystem.File and IOChan.ChanId.  The
return result from these procedures can be passed into
StringFileSysOp.Unlink to complete the required delete.

gcc/m2/ChangeLog:

	PR modula2/117203
	* gm2-libs-log/FileSystem.def (GetFileName): New
	procedure function.
	(WriteString): New procedure.
	* gm2-libs-log/FileSystem.mod (GetFileName): New
	procedure function.
	(WriteString): New procedure.
	* gm2-libs/SFIO.def (GetFileName): New procedure function.
	* gm2-libs/SFIO.mod (GetFileName): New procedure function.
	* gm2-libs-iso/IOChanUtils.def: New file.
	* gm2-libs-iso/IOChanUtils.mod: New file.

libgm2/ChangeLog:

	PR modula2/117203
	* libm2iso/Makefile.am (M2DEFS): Add IOChanUtils.def.
	(M2MODS): Add IOChanUtils.mod.
	* libm2iso/Makefile.in: Regenerate.

gcc/testsuite/ChangeLog:

	PR modula2/117203
	* gm2/isolib/run/pass/testdelete2.mod: New test.
	* gm2/pimlib/logitech/run/pass/testdelete2.mod: New test.
	* gm2/pimlib/run/pass/testdelete.mod: New test.

Signed-off-by: Gaius Mulley <gaiusmod2@gmail.com>
This commit is contained in:
Gaius Mulley
2025-06-30 00:26:03 +01:00
parent 0cd06c1da7
commit 620a40fa88
11 changed files with 445 additions and 25 deletions

View File

@@ -104,6 +104,7 @@ M2DEFS = ChanConsts.def CharClass.def \
ConvTypes.def COROUTINES.def \
ErrnoCategory.def EXCEPTIONS.def \
GeneralUserExceptions.def IOChan.def \
IOChanUtils.def \
IOConsts.def IOLink.def \
IOResult.def LongComplexMath.def \
LongConv.def LongIO.def \
@@ -149,7 +150,8 @@ M2MODS = ChanConsts.mod CharClass.mod \
ConvStringShort.mod \
ConvTypes.mod COROUTINES.mod \
EXCEPTIONS.mod GeneralUserExceptions.mod \
IOChan.mod IOConsts.mod \
IOChan.mod IOChanUtils.mod \
IOConsts.mod \
IOLink.mod IOResult.mod \
LongComplexMath.mod LongConv.mod \
LongIO.mod LongMath.mod \

View File

@@ -163,16 +163,17 @@ libm2iso_la_LIBADD =
@BUILD_ISOLIB_TRUE@ ConvStringShort.lo ConvTypes.lo \
@BUILD_ISOLIB_TRUE@ COROUTINES.lo EXCEPTIONS.lo \
@BUILD_ISOLIB_TRUE@ GeneralUserExceptions.lo IOChan.lo \
@BUILD_ISOLIB_TRUE@ IOConsts.lo IOLink.lo IOResult.lo \
@BUILD_ISOLIB_TRUE@ LongComplexMath.lo LongConv.lo LongIO.lo \
@BUILD_ISOLIB_TRUE@ LongMath.lo LongStr.lo LongWholeIO.lo \
@BUILD_ISOLIB_TRUE@ LowLong.lo LowReal.lo LowShort.lo \
@BUILD_ISOLIB_TRUE@ M2EXCEPTION.lo M2RTS.lo MemStream.lo \
@BUILD_ISOLIB_TRUE@ Preemptive.lo Processes.lo ProgramArgs.lo \
@BUILD_ISOLIB_TRUE@ RandomNumber.lo RawIO.lo RealConv.lo \
@BUILD_ISOLIB_TRUE@ RealIO.lo RealMath.lo RealStr.lo RndFile.lo \
@BUILD_ISOLIB_TRUE@ RTdata.lo RTentity.lo RTfio.lo RTgenif.lo \
@BUILD_ISOLIB_TRUE@ RTgen.lo RTio.lo Semaphores.lo SeqFile.lo \
@BUILD_ISOLIB_TRUE@ IOChanUtils.lo IOConsts.lo IOLink.lo \
@BUILD_ISOLIB_TRUE@ IOResult.lo LongComplexMath.lo LongConv.lo \
@BUILD_ISOLIB_TRUE@ LongIO.lo LongMath.lo LongStr.lo \
@BUILD_ISOLIB_TRUE@ LongWholeIO.lo LowLong.lo LowReal.lo \
@BUILD_ISOLIB_TRUE@ LowShort.lo M2EXCEPTION.lo M2RTS.lo \
@BUILD_ISOLIB_TRUE@ MemStream.lo Preemptive.lo Processes.lo \
@BUILD_ISOLIB_TRUE@ ProgramArgs.lo RandomNumber.lo RawIO.lo \
@BUILD_ISOLIB_TRUE@ RealConv.lo RealIO.lo RealMath.lo \
@BUILD_ISOLIB_TRUE@ RealStr.lo RndFile.lo RTdata.lo RTentity.lo \
@BUILD_ISOLIB_TRUE@ RTfio.lo RTgenif.lo RTgen.lo RTio.lo \
@BUILD_ISOLIB_TRUE@ Semaphores.lo SeqFile.lo \
@BUILD_ISOLIB_TRUE@ ShortComplexMath.lo ShortConv.lo ShortIO.lo \
@BUILD_ISOLIB_TRUE@ ShortMath.lo ShortStr.lo ShortWholeIO.lo \
@BUILD_ISOLIB_TRUE@ SimpleCipher.lo SIOResult.lo SLongIO.lo \
@@ -492,6 +493,7 @@ FLAGS_TO_PASS = $(AM_MAKEFLAGS)
@BUILD_ISOLIB_TRUE@ ConvTypes.def COROUTINES.def \
@BUILD_ISOLIB_TRUE@ ErrnoCategory.def EXCEPTIONS.def \
@BUILD_ISOLIB_TRUE@ GeneralUserExceptions.def IOChan.def \
@BUILD_ISOLIB_TRUE@ IOChanUtils.def \
@BUILD_ISOLIB_TRUE@ IOConsts.def IOLink.def \
@BUILD_ISOLIB_TRUE@ IOResult.def LongComplexMath.def \
@BUILD_ISOLIB_TRUE@ LongConv.def LongIO.def \
@@ -537,7 +539,8 @@ FLAGS_TO_PASS = $(AM_MAKEFLAGS)
@BUILD_ISOLIB_TRUE@ ConvStringShort.mod \
@BUILD_ISOLIB_TRUE@ ConvTypes.mod COROUTINES.mod \
@BUILD_ISOLIB_TRUE@ EXCEPTIONS.mod GeneralUserExceptions.mod \
@BUILD_ISOLIB_TRUE@ IOChan.mod IOConsts.mod \
@BUILD_ISOLIB_TRUE@ IOChan.mod IOChanUtils.mod \
@BUILD_ISOLIB_TRUE@ IOConsts.mod \
@BUILD_ISOLIB_TRUE@ IOLink.mod IOResult.mod \
@BUILD_ISOLIB_TRUE@ LongComplexMath.mod LongConv.mod \
@BUILD_ISOLIB_TRUE@ LongIO.mod LongMath.mod \