https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117203
--- Comment #2 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:d1c3cfa3296ae5010c514d67f57acf144a299c7a commit r16-1277-gd1c3cfa3296ae5010c514d67f57acf144a299c7a Author: Gaius Mulley <gaiusm...@gmail.com> Date: Sat Jun 7 16:25:19 2025 +0100 [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 <gaiusm...@gmail.com>