gcc/libgm2/libm2pim
Gaius Mulley 7e4c25e375 [PATCH] [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.

(cherry picked from commit d1c3cfa329)

Signed-off-by: Gaius Mulley <gaiusmod2@gmail.com>
2025-07-17 17:51:03 +01:00
..
CFileSysOp.cc [PATCH] [PR modula2/119650, PR modula2/117203]: WriteString and Delete are missing from base libraries 2025-07-17 17:51:03 +01:00
Makefile.am [PATCH] [PR modula2/119650, PR modula2/117203]: WriteString and Delete are missing from base libraries 2025-07-17 17:51:03 +01:00
Makefile.in [PATCH] [PR modula2/119650, PR modula2/117203]: WriteString and Delete are missing from base libraries 2025-07-17 17:51:03 +01:00
Selective.cc modula-2 module registration process seems to fail with shared libraries [PR108261] 2023-02-25 16:28:19 +00:00
SysExceptions.cc modula-2 module registration process seems to fail with shared libraries [PR108261] 2023-02-25 16:28:19 +00:00
UnixArgs.cc modula-2 module registration process seems to fail with shared libraries [PR108261] 2023-02-25 16:28:19 +00:00
cgetopt.cc PR modula2/111530: Build failure on BSD due to getopt_long_only GNU extension dependency 2023-10-27 15:54:48 +01:00
dtoa.cc libgm2: Define missing configure macros [PR113888] 2024-02-12 14:01:41 +01:00
errno.cc modula-2 module registration process seems to fail with shared libraries [PR108261] 2023-02-25 16:28:19 +00:00
ldtoa.cc libgm2: Define missing configure macros [PR113888] 2024-02-12 14:01:41 +01:00
sckt.cc Replace bool as boolean instead of int in libgm2 2023-05-13 15:49:50 +01:00
target.c
termios.cc PR 109125 Modula2 SIGBUS in m2pim_ldtoa_ldtoa 2023-03-14 19:52:11 +00:00
wrapc.cc PR modula2/113749 m2 enabled build times out on i686-gnu-hurd 2024-02-25 11:08:37 +00:00