gcc/libgm2/libm2pim
Gaius Mulley d1c3cfa329 [PR modula2/119650, PR modula2/117203]: WriteString and Delete are missing from base libraries
This patch introduces a Write procedure for an array of char,
the string and char datatype.  It uses the m2r10 style of
naming the module on the datatype.  This uncovered a bug
in the import handling inside Quadident.  It also includes
an Unlink procedure from a new module FileSysOp and a String
interface to this module.

gcc/m2/ChangeLog:

	PR modula2/119650
	PR modula2/117203
	* gm2-compiler/P2Build.bnf (CheckModuleQualident): New
	procedure.
	(Qualident): Rewrite.
	* gm2-compiler/P3Build.bnf (PushTFQualident): New procedure.
	(CheckModuleQualident): Ditto.
	(Qualident): Rewrite.
	* gm2-compiler/PCBuild.bnf (PushTFQualident): New procedure.
	(CheckModuleQualident): Ditto.
	(Qualident): Rewrite.
	* gm2-compiler/PHBuild.bnf (PushTFQualident): New procedure.
	(CheckModuleQualident): Ditto.
	(Qualident): Rewrite.
	* gm2-libs/ARRAYOFCHAR.def: New file.
	* gm2-libs/ARRAYOFCHAR.mod: New file.
	* gm2-libs/CFileSysOp.def: New file.
	* gm2-libs/CHAR.def: New file.
	* gm2-libs/CHAR.mod: New file.
	* gm2-libs/FileSysOp.def: New file.
	* gm2-libs/FileSysOp.mod: New file.
	* gm2-libs/String.def: New file.
	* gm2-libs/String.mod: New file.
	* gm2-libs/StringFileSysOp.def: New file.
	* gm2-libs/StringFileSysOp.mod: New file.

libgm2/ChangeLog:

	PR modula2/119650
	PR modula2/117203
	* libm2pim/Makefile.am (M2MODS): Add ARRAYOFCHAR,
	CHAR.mod, StringFileSysOp.mod and String.mod.
	(M2DEFS): Add ARRAYOFCHAR, CHAR.mod,
	StringFileSysOp.mod and String.mod.
	(libm2pim_la_SOURCES): Add CFileSysOp.c.
	* libm2pim/Makefile.in: Regenerate.
	* libm2pim/CFileSysOp.cc: New file.

gcc/testsuite/ChangeLog:

	PR modula2/119650
	* gm2/iso/fail/CHAR.mod: New test.
	* gm2/iso/run/pass/CHAR.mod: New test.
	* gm2/iso/run/pass/importself.mod: New test.
	* gm2/pimlib/run/pass/testwrite.mod: New test.
	* gm2/pimlib/run/pass/testwritechar.mod: New test.

Signed-off-by: Gaius Mulley <gaiusmod2@gmail.com>
2025-06-07 16:25:19 +01:00
..
CFileSysOp.cc [PR modula2/119650, PR modula2/117203]: WriteString and Delete are missing from base libraries 2025-06-07 16:25:19 +01:00
cgetopt.cc
dtoa.cc libgm2: Define missing configure macros [PR113888] 2024-02-12 14:01:41 +01:00
errno.cc
ldtoa.cc libgm2: Define missing configure macros [PR113888] 2024-02-12 14:01:41 +01:00
Makefile.am [PR modula2/119650, PR modula2/117203]: WriteString and Delete are missing from base libraries 2025-06-07 16:25:19 +01:00
Makefile.in [PR modula2/119650, PR modula2/117203]: WriteString and Delete are missing from base libraries 2025-06-07 16:25:19 +01:00
sckt.cc
Selective.cc
SysExceptions.cc
target.c
termios.cc
UnixArgs.cc
wrapc.cc PR modula2/113749 m2 enabled build times out on i686-gnu-hurd 2024-02-25 11:08:37 +00:00