2023-06-12 Gaius Mulley PR modula2/110189 * gm2-compiler/M2Quads.mod (BuildAbsFunction): Replace abort format specifier. (BuildValFunction): Replace abort format specifier. (BuildCastFunction): Replace abort format specifier. (BuildMinFunction): Replace abort format specifier. (BuildMaxFunction): Replace abort format specifier. (BuildTruncFunction): Replace abort format specifier. * gm2-compiler/P3Build.bnf (Pass1): Remove. (Pass2): Remove. (Pass3): Remove. (Expect): Add Pass1. (AsmStatement): Remove Pass3. (AsmOperands): Remove Pass3. (AsmOperandSpec): Remove Pass3. (AsmInputElement): Remove Pass3. (AsmOutputElement): Remove Pass3. (AsmTrashList): Remove Pass3. 2023-06-12 Gaius Mulley PR modula2/110126 * gm2-compiler/M2Quads.def (BuildAsmElement): Remove trash parameter. (BuildAsmTrash): New procedure. * gm2-compiler/M2Quads.mod (BuildAsmTrash): New procedure. (BuildAsmElement): Remove trash parameter. * gm2-compiler/P3Build.bnf (AsmTrashList): Rewrite. 2023-06-08 Gaius Mulley PR modula2/110126 * gm2-compiler/M2GenGCC.mod (BuildTreeFromInterface): Remove tokenno parameter. Use object tok instead of tokenno. (BuildTrashTreeFromInterface): Use object tok instead of GetDeclaredMod. (CodeInline): Remove tokenno from parameter list to BuildTreeFromInterface. * gm2-compiler/M2Quads.def (BuildAsmElement): Exported and defined. * gm2-compiler/M2Quads.mod (BuildOptimizeOff): Reformatted. (BuildInline): Reformatted. (BuildLineNo): Reformatted. (UseLineNote): Reformatted. (BuildAsmElement): New procedure. * gm2-compiler/P0SyntaxCheck.bnf (AsmOperands): Use ConstExpression instead of string. (AsmElement): Use ConstExpression instead of string. (TrashList): Use ConstExpression instead of string. * gm2-compiler/P1Build.bnf (AsmOperands): Use ConstExpression instead of string. (AsmElement): Use ConstExpression instead of string. (TrashList): Use ConstExpression instead of string. * gm2-compiler/P2Build.bnf (AsmOperands): Use ConstExpression instead of string. (AsmElement): Use ConstExpression instead of string. (TrashList): Use ConstExpression instead of string. * gm2-compiler/P3Build.bnf (AsmOperands): Rewrite. (AsmOperandSpec): Rewrite. (AsmOutputList): New rule. (AsmInputList): New rule. (TrashList): Rewrite. * gm2-compiler/PCBuild.bnf (AsmOperands): Use ConstExpression instead of string. (AsmElement): Use ConstExpression instead of string. (TrashList): Use ConstExpression instead of string. * gm2-compiler/PHBuild.bnf (AsmOperands): Use ConstExpression instead of string. (AsmElement): Use ConstExpression instead of string. (TrashList): Use ConstExpression instead of string. * gm2-compiler/SymbolTable.def (PutRegInterface): Rewrite interface. (GetRegInterface): Rewrite interface. * gm2-compiler/SymbolTable.mod (SetFirstUsed): New procedure. (PutFirstUsed): New procedure. (PutRegInterface): Rewrite. (GetRegInterface): Rewrite. 2023-06-07 Jakub Jelinek * Make-lang.in: Build $(generated_files) before building all $(GM2_C_OBJS). 2023-06-07 Gaius Mulley PR modula2/110019 * gm2-compiler/SymbolKey.mod (SearchAndDo): Reformatted. (ForeachNodeDo): Reformatted. * gm2-compiler/SymbolTable.mod (AddListify): Join list with "," or "and" if more than one word is in the list. * m2.flex: Remove -1 from atoi(yytext) line number. 2023-06-03 Gaius Mulley PR modula2/110003 * gm2-compiler/P2SymBuild.mod (GetParameterShadowVar): Import. (CheckFormalParameterSection): Call PutDeclared for the shadow variable associated with the parameter. 2023-05-24 Gaius Mulley PR modula2/109952 * Make-maintainer.in: Change header to include emacs file mode. * gm2-compiler/M2GenGCC.mod (BuildHighFromChar): Check whether operand is a constant string and is nul terminated then return one. * gm2-compiler/PCSymBuild.mod (WalkFunction): Add default return TRUE. Static analysis missing return path fix. * gm2-libs/IO.mod (Init): Rewrite to help static analysis. * target-independent/m2/gm2-libs.texi: Rebuild. 2023-05-19 Gaius Mulley PR modula2/109908 * gm2-libs-iso/Strings.mod (Delete): Re-implement. 2023-05-18 Bernhard Reutner-Fischer * gm2-gcc/m2builtins.cc (doradix): Use _P defines from tree.h. (doplaces): Ditto. (doexponentmin): Ditto. (doexponentmax): Ditto. (dolarge): Ditto. (dosmall): Ditto. (dogUnderflow): Ditto. * gm2-gcc/m2convert.cc (unsafe_conversion_p): Ditto. * gm2-gcc/m2expr.cc (m2expr_build_unary_op_check): Ditto. (m2expr_build_binary_op_check): Ditto. * gm2-gcc/m2tree.cc (m2tree_is_var): Ditto. * gm2-gcc/m2treelib.cc (build_modify_expr): Ditto. * gm2-gcc/m2type.cc (gm2_finish_decl): Ditto. * m2pp.cc (hextree): Ditto. (m2pp_call_expr): Ditto. 2023-05-17 Gaius Mulley * gm2-libs-iso/LongWholeIO.mod (WriteInt): Only request a sign if the value is < 0. * gm2-libs-iso/ShortWholeIO.mod (WriteInt): Only request a sign if the value is < 0. * gm2-libs-iso/WholeIO.mod (WriteInt): Only request a sign if the value is < 0. * gm2-libs-iso/WholeStr.mod (WriteInt): Only request a sign if the value is < 0. 2023-05-16 Gaius Mulley PR modula2/109879 * gm2-libs-iso/LongIO.mod (ReadReal): Call SkipSpaces. * gm2-libs-iso/LongWholeIO.mod (ReadInt): Call SkipSpaces. (ReadCard): Call SkipSpaces. * gm2-libs-iso/RealIO.mod (ReadReal): Call SkipSpaces. * gm2-libs-iso/ShortWholeIO.mod: (ReadInt): Call SkipSpaces. (ReadCard): Call SkipSpaces. * gm2-libs-iso/TextIO.mod: Import SkipSpaces. * gm2-libs-iso/WholeIO.mod (ReadInt): Call SkipSpaces. (ReadCard): Call SkipSpaces. * gm2-libs-iso/TextUtil.def: New file. * gm2-libs-iso/TextUtil.mod: New file. 2023-05-16 Gaius Mulley PR modula2/108344 * gm2-libs-coroutines/TimerHandler.mod (EnableLED): New constant. (Timer): Test EnableLED before switching on the scroll LED. 2023-05-12 Gaius Mulley PR modula2/109830 * gm2-libs-iso/SeqFile.mod (newCid): New parameter toAppend used to select FIO.OpenForRandom. (OpenRead): Pass extra parameter to newCid. (OpenWrite): Pass extra parameter to newCid. (OpenAppend): Pass extra parameter to newCid. 2023-05-11 Gaius Mulley PR modula2/109810 * gm2-compiler/M2ALU.mod (ConvertConstToType): Use PrepareCopyString in place of DoCopyString. * gm2-compiler/M2GenGCC.def (DoCopyString): Rename to ... (PrepareCopyString): ... this. * gm2-compiler/M2GenGCC.mod (CodeStatement): Call CodeReturnValue with a single parameter. Call CodeXIndr with a single parameter. (CodeReturnValue): Remove parameters and replace with a single quadno. Reimplement using PrepareCopyString. Issue error if the string exceeds designator space. (DoCopyString): Reimplement and rename to ... (PrepareCopyString): ... this. (CodeXIndr): Remove parameters and replace with a single quadno. Reimplement using PrepareCopyString. Issue error if the string exceeds designator space. (CodeBecomes): Remove parameters and replace with a single quadno. Reimplement using PrepareCopyString. Issue error if the string exceeds designator space. * gm2-compiler/M2Quads.def (BuildReturn): Rename parameter to tokreturn. * gm2-compiler/M2Quads.mod (BuildReturn): Rename parameter to tokreturn. Rename tokno to tokcombined. 2023-05-09 Gaius Mulley PR modula2/109779 * gm2-libs-iso/RTgen.mod (doLook): Remove old. Remove re-assignment of result. * gm2-libs-iso/TextIO.mod (CanRead): Rename into ... (CharAvailable): ... this. (DumpState): New procedure. (SetResult): Rename as SetNul. (WasGoodChar): Rename into ... (EofOrEoln): ... this. (SkipLine): Skip over the newline. (ReadString): Flip THEN ELSE statements after testing for EofOrEoln. (ReadRestLine): Flip THEN ELSE statements after testing for EofOrEoln. 2023-05-04 Gaius Mulley PR modula2/109729 * gm2-compiler/M2GenGCC.mod (CodeStatement): Detect ArithAddOp and call CodeAddChecked. (ResolveConstantExpressions): Detect ArithAddOp and call FoldArithAdd. (FoldArithAdd): New procedure. (FoldAdd): Refactor to use FoldArithAdd. * gm2-compiler/M2Quads.def (QuadOperator): Add ArithAddOp. * gm2-compiler/M2Quads.mod: Remove commented imports. (QuadFrame): Changed comments to use GNU coding standards. (ArithPlusTok): New global variable. (BuildForToByDo): Use ArithPlusTok instead of PlusTok. (MakeOp): Detect ArithPlusTok and return ArithAddOp. (WriteQuad): Add ArithAddOp clause. (WriteOperator): Add ArithAddOp clause. (Init): Initialize ArithPlusTok. 2023-05-04 Gaius Mulley PR modula2/109675 * Make-lang.in (MC-LIB-DEFS): Remove M2LINK.def. (BUILD-PGE-O): Remove GM2LINK.o. * Make-maintainer.in (PPG-DEFS): New define. (PPG-LIB-DEFS): Remove M2LINK.def. (BUILD-BOOT-PPG-H): Add PPGDEF .h files. (m2/ppg$(exeext)): Remove M2LINK.o (PGE-DEPS): New define. (m2/pg$(exeext)): Remove M2LINK.o. (m2/gm2-pge-boot/$(SRC_PREFIX)%.o): Add -Im2/gm2-pge-boot. (m2/pge$(exeext)): Remove M2LINK.o. (pge-maintainer): Re-implement. (pge-libs-push): Re-implement. (m2/m2obj3/cc1gm2$(exeext)): Remove M2LINK.o. * gm2-libs/DynamicStrings.mod (writeAddress): Re-implement using snprintf. * gm2-libs/M2Dependent.mod: Remove commented out imports. * mc-boot/GDynamicStrings.cc: Rebuild. * mc-boot/GFIO.cc: Rebuild. * mc-boot/GFormatStrings.cc: Rebuild. * mc-boot/GM2Dependent.cc: Rebuild. * mc-boot/GM2Dependent.h: Rebuild. * mc-boot/GM2RTS.cc: Rebuild. * mc-boot/GM2RTS.h: Rebuild. * mc-boot/GRTExceptions.cc: Rebuild. * mc-boot/GRTint.cc: Rebuild. * mc-boot/GSFIO.cc: Rebuild. * mc-boot/GStringConvert.cc: Rebuild. * mc-boot/Gdecl.cc: Rebuild. * pge-boot/GASCII.cc: Rebuild. * pge-boot/GASCII.h: Rebuild. * pge-boot/GArgs.cc: Rebuild. * pge-boot/GArgs.h: Rebuild. * pge-boot/GAssertion.cc: Rebuild. * pge-boot/GAssertion.h: Rebuild. * pge-boot/GBreak.h: Rebuild. * pge-boot/GCmdArgs.h: Rebuild. * pge-boot/GDebug.cc: Rebuild. * pge-boot/GDebug.h: Rebuild. * pge-boot/GDynamicStrings.cc: Rebuild. * pge-boot/GDynamicStrings.h: Rebuild. * pge-boot/GEnvironment.h: Rebuild. * pge-boot/GFIO.cc: Rebuild. * pge-boot/GFIO.h: Rebuild. * pge-boot/GFormatStrings.h:: Rebuild. * pge-boot/GFpuIO.h:: Rebuild. * pge-boot/GIO.cc: Rebuild. * pge-boot/GIO.h: Rebuild. * pge-boot/GIndexing.cc: Rebuild. * pge-boot/GIndexing.h: Rebuild. * pge-boot/GLists.cc: Rebuild. * pge-boot/GLists.h: Rebuild. * pge-boot/GM2Dependent.cc: Rebuild. * pge-boot/GM2Dependent.h: Rebuild. * pge-boot/GM2EXCEPTION.cc: Rebuild. * pge-boot/GM2EXCEPTION.h: Rebuild. * pge-boot/GM2RTS.cc: Rebuild. * pge-boot/GM2RTS.h: Rebuild. * pge-boot/GNameKey.cc: Rebuild. * pge-boot/GNameKey.h: Rebuild. * pge-boot/GNumberIO.cc: Rebuild. * pge-boot/GNumberIO.h: Rebuild. * pge-boot/GOutput.cc: Rebuild. * pge-boot/GOutput.h: Rebuild. * pge-boot/GPushBackInput.cc: Rebuild. * pge-boot/GPushBackInput.h: Rebuild. * pge-boot/GRTExceptions.cc: Rebuild. * pge-boot/GRTExceptions.h: Rebuild. * pge-boot/GSArgs.h: Rebuild. * pge-boot/GSEnvironment.h: Rebuild. * pge-boot/GSFIO.cc: Rebuild. * pge-boot/GSFIO.h: Rebuild. * pge-boot/GSYSTEM.h: Rebuild. * pge-boot/GScan.h: Rebuild. * pge-boot/GStdIO.cc: Rebuild. * pge-boot/GStdIO.h: Rebuild. * pge-boot/GStorage.cc: Rebuild. * pge-boot/GStorage.h: Rebuild. * pge-boot/GStrCase.cc: Rebuild. * pge-boot/GStrCase.h: Rebuild. * pge-boot/GStrIO.cc: Rebuild. * pge-boot/GStrIO.h: Rebuild. * pge-boot/GStrLib.cc: Rebuild. * pge-boot/GStrLib.h: Rebuild. * pge-boot/GStringConvert.h: Rebuild. * pge-boot/GSymbolKey.cc: Rebuild. * pge-boot/GSymbolKey.h: Rebuild. * pge-boot/GSysExceptions.h: Rebuild. * pge-boot/GSysStorage.cc: Rebuild. * pge-boot/GSysStorage.h: Rebuild. * pge-boot/GTimeString.h: Rebuild. * pge-boot/GUnixArgs.h: Rebuild. * pge-boot/Gbnflex.cc: Rebuild. * pge-boot/Gbnflex.h: Rebuild. * pge-boot/Gdtoa.h: Rebuild. * pge-boot/Gerrno.h: Rebuild. * pge-boot/Gldtoa.h: Rebuild. * pge-boot/Glibc.h: Rebuild. * pge-boot/Glibm.h: Rebuild. * pge-boot/Gpge.cc: Rebuild. * pge-boot/Gtermios.h: Rebuild. * pge-boot/Gwrapc.h: Rebuild. * mc-boot/GM2LINK.h: Removed. * pge-boot/GM2LINK.cc: Removed. * pge-boot/GM2LINK.h: Removed. 2023-04-30 Gaius Mulley * gm2-compiler/SymbolTable.mod (ConstLitPoolEntry): New pointer to record. (ConstLitSym): New field RangeError. (ConstLitPoolTree): New SymbolTree representing name to index. (ConstLitArray): New dynamic array containing pointers to a ConstLitPoolEntry. (CreateConstLit): New procedure function. (LookupConstLitPoolEntry): New procedure function. (AddConstLitPoolEntry): New procedure function. (MakeConstLit): Re-implemented to check the constant lit pool before calling CreateConstLit. * m2.flex: Add ability to decode binary constant literals. 2023-04-26 Gaius Mulley PR modula2/108121 * gm2-compiler/M2ALU.mod (Less): Reformatted. * gm2-compiler/SymbolTable.mod (DetermineSizeOfConstant): Remove from import. (ConstantStringExceedsZType): Import. (GetConstLitType): Re-implement using ConstantStringExceedsZType. * gm2-gcc/m2decl.cc (m2decl_DetermineSizeOfConstant): Remove. (m2decl_ConstantStringExceedsZType): New function. (m2decl_BuildConstLiteralNumber): Re-implement. * gm2-gcc/m2decl.def (DetermineSizeOfConstant): Remove. (ConstantStringExceedsZType): New function. * gm2-gcc/m2decl.h (m2decl_DetermineSizeOfConstant): Remove. (m2decl_ConstantStringExceedsZType): New function. * gm2-gcc/m2expr.cc (append_digit): Remove. (m2expr_interpret_integer): Remove. (append_m2_digit): Remove. (m2expr_StrToWideInt): New function. (m2expr_interpret_m2_integer): Remove. * gm2-gcc/m2expr.def (CheckConstStrZtypeRange): New function. * gm2-gcc/m2expr.h (m2expr_StrToWideInt): New function. * gm2-gcc/m2type.cc (build_m2_word64_type_node): New function. (build_m2_ztype_node): New function. (m2type_InitBaseTypes): Call build_m2_ztype_node. * gm2-lang.cc (gm2_type_for_size): Re-write using early returns. 2023-04-21 Arsen Arsenović * Make-lang.in: Remove references to $(P). * Make-maintainer.in: Ditto. 2023-04-21 Gaius Mulley PR modula2/109586 * gm2-gcc/m2tree.cc (m2tree_IsAConstant): Add (TREE_CODE (t) == CONSTRUCTOR) to expression. 2023-04-13 Gaius Mulley PR modula2/109488 * lang.opt: Fix typo "maybe" to "may be". 2023-04-13 Gaius Mulley * gm2-compiler/M2ALU.def (PopChar): New procedure function. * gm2-compiler/M2ALU.mod (PopChar): New procedure function. * gm2-compiler/M2GCCDeclare.mod (PromoteToString): Detect a single constant char and build a C string. * gm2-compiler/M2GenGCC.mod (IsConstStr): New procedure function. (GetStr): New procedure function. (FoldAdd): Use IsConstStr. * gm2-compiler/M2Quads.mod: Formatting changes. * gm2-gcc/m2expr.cc (m2expr_GetCstInteger): New function. * gm2-gcc/m2expr.def (GetCstInteger): New procedure function. * gm2-gcc/m2expr.h (m2expr_GetCstInteger): New prototype. 2023-04-05 Gaius Mulley PR modula2/109423 * gm2-compiler/M2Base.def (Unbounded): Remove. * gm2-compiler/M2Error.def (ErrorAbort0): Add noreturn attribute. * gm2-compiler/M2Quads.mod (BuildInclProcedure): Correct error format string. (BuildExceptProcedure): Correct error format string. (BuildAdrFunction): Call PutWriteQuad when taking the address of a variable. * gm2-libs-ch/SysExceptions.c (_M2_SysExceptions_init): Add parameters. * gm2-libs-ch/wrapc.c (_M2_wrapc_init): Add parameters. * gm2-libs/DynamicStrings.mod (DumpStringInfo): Remove t. (PopAllocationExemption): Remove f. * gm2-libs/FIO.mod (BufferedWrite): Remove result. * gm2-libs/FormatStrings.mod (Copy): Remove endpos and afterperc. (HandlePercent): Remove result. * gm2-libs/Indexing.mod (RemoveIndiceFromIndex): Remove k. * gm2-libs/M2Dependent.mod (CreateModule): Remove p0 and p1. (DumpModuleData): Remove mptr. (ConstructModules): Remove nulp. * gm2-libs/RTExceptions.mod (PopHandler): Remove i. * gm2-libs/RTint.mod (Listen): Remove b4s, b4m, afs and afm. * gm2-libs/SFIO.mod (ReadS): Remove c. * gm2-libs/StringConvert.mod (doDecimalPlaces): Remove whole and fraction. 2023-04-03 Gaius Mulley PR modula2/109388 * gm2-compiler/M2GCCDeclare.mod (DoVariableDeclaration): Remove second parameter module. Adjust all callers to remove the second parameter. * gm2-compiler/PHBuild.bnf (CheckAndInsert): Remove. (InStopSet): Remove. (PeepToken): Remove. (PushQualident): Remove. (SimpleDes): Remove. (ActualParameters): Remove. 2023-04-02 Gaius Mulley PR modula2/109336 * Make-lang.in (GM2_O): Set to -O0. (GM2_LIBS): Remove target libraries and replace with build libs. (BUILD-LIBS): New declaration. (m2/gm2-libs/libgm2.a): New rule. (m2/gm2-libs/%.o): New rule. (m2/gm2-libs/choosetemp.o): New rule. * gm2-compiler/M2ColorString.mod (append): Use ADR rather than implicit conversion. * gm2-compiler/M2Comp.mod (Compile): Add qprintf messages for when a source file is not found. Improve comments and formatting. * gm2-libs-ch/cgetopt.c (cgetopt_cgetopt_long): Remove ansi-decl.h. Add getopt.h. (cgetopt_cgetopt_long_only): Change cgetopt_ to getopt_. * gm2spec.cc (lang_specific_driver): Do not skip -fmod=. Remove comment. 2023-03-29 Gaius Mulley PR modula2/109336 PR modula2/109315 * gm2-compiler/M2FileName.mod (CalculateFileName): Simplified by ensuring the extension contains the ".". (CalculateStemName): Re-formatted. (ExtractExtension): Re-formatted. (ExtractModule): Re-formatted. * gm2-compiler/M2Options.def (setdefextension): Add block comment. (setmodextension): Add block comment. Re-formatted. * gm2-compiler/M2Options.mod (setdefextension): Add block comment. (setmodextension): Add block comment. Re-formatted. * gm2-compiler/M2Search.mod (FindSourceDefFile): Use DefaultDefExt. (DefaultDefExt): New constant. (DefaultModExt): New constant. (FindSourceModFile): Use DefaultModExt. * gm2-gcc/m2decl.cc (m2decl_DeclareKnownVariable): Correct spelling. * gm2spec.cc (M2SOURCE): New constant. (LANGSPEC): New value. (MATHLIB): New value. (WITHLIBC): New value. (SKIPOPT): New value. (lang_specific_driver): Replace seen_module_extension bool with module_extension char *. Detect -fmod= and remember extension. Use the extension to detect modula-2 source and mark it as such. 2023-03-23 Gaius Mulley PR modula2/109264 * gm2-compiler/M2Quads.mod (BuildConstFunctionCall): Comment out ErrorString in debugging block. (BuildConstructorStart): Replace Assert with a call to MetaErrorT3. Import MetaErrorT3. * gm2-compiler/PCSymBuild.mod (buildConstFunction): Rename local variables. (WalkFunctionParam): Remove test for IsEnumeration when resolving MIN or MAX parameters. * gm2-compiler/PHBuild.bnf (BlockAssert): New procedure. (ErrorArrayat): New procedure. (Expect): Renamed parameter t to tok. (PushQualident): New rule. (ConstSetOrQualidentOrFunction): Force AutoOn. (TypeDeclaration): Add debugging assert. (SimpleType): Add debugging assert. (DefaultRecordAttributes): New rule (and bugfix). (FieldPragmaExpression): New rule (and bugfix). (PragmaConstExpression): New rule (and bugfix). (SetOrDesignatorOrFunction): Add debugging assert. (Block): Add debugging assert. * gm2-gcc/m2expr.cc (m2expr_ConstantExpressionWarning): int to bool. * gm2-gcc/m2expr.h (m2expr_TreeOverflow): int to bool. (m2expr_GetBooleanTrue): Remove. (m2expr_GetBooleanFalse): Remove. * gm2-gcc/m2options.h (M2Options_SetStatistics): Replace int with bool. 2023-03-22 Gaius Mulley PR modula2/109248 * Make-lang.in (m2/pge-boot/%.o): Add CFLAGS and CXXFLAGS for C and C++ compiles. * gm2spec.cc (add_m2_I_path): Indentation. (lang_specific_driver): New variable seen_pathname. Detect -fm2-pathname. If not seen then push_back_Ipath ("."). Change non iso library path to "m2cor,m2log,m2pim,m2iso". 2023-03-22 Gaius Mulley PR modula2/107630 * Make-lang.in (m2/stage2/cc1gm2$(exeext)): Remove m2/gm2-libs-boot/M2LINK.o. (m2/stage1/cc1gm2$(exeext)): Ditto. (GM2-LIBS-BOOT-DEFS): Remove M2LINK.def. (GM2-LIBS-DEFS): Ditto. (m2/mc-boot/$(SRC_PREFIX)%.o): Replace CXX_FLAGS with CXXFLAGS. (m2/mc-boot-ch/$(SRC_PREFIX)%.o): Ditto. (m2/mc-boot/main.o): Ditto. (mcflex.o): Add $(CFLAGS). (m2/gm2-libs-boot/M2LINK.o): Remove rule. * gm2-compiler/M2GCCDeclare.def (DeclareM2linkGlobals): Remove. * gm2-compiler/M2GCCDeclare.mod: (M2LinkEntry): Remove. (M2LinkIndex): Remove. (DoVariableDeclaration): Remove initial and call to AddEntryM2Link. (AddEntryM2Link): Remove. (GetEntryM2Link): Remove. (DeclareM2linkGlobals): Remove. (DetectM2LinkInitial): Remove. (InitM2LinkModule): Remove. * gm2-compiler/M2GenGCC.mod (CodeFinallyEnd): Remove call to DeclareM2linkGlobals. * gm2-compiler/M2Quads.mod (BuildM2InitFunction): Add extra parameter containing runtime module override to ConstructModules. * gm2-compiler/M2Scaffold.mod: Update comment describing ConstructModules. * gm2-gcc/m2decl.cc (m2decl_DeclareM2linkForcedModuleInitOrder): Remove. * gm2-libs-iso/M2RTS.def (ConstructModules): Add overrideliborder parameter. * gm2-libs-iso/M2RTS.mod: Add overrideliborder parameter. * gm2-libs/M2Dependent.def (ConstructModules): Add overrideliborder parameter. * gm2-libs/M2Dependent.mod (ConstructModules): Add overrideliborder parameter. * gm2-libs/M2RTS.def (ConstructModules): Add overrideliborder parameter. * gm2-libs/M2RTS.mod (ConstructModules): Add overrideliborder parameter. * gm2-libs/M2LINK.def: Removed. 2023-03-21 Gaius Mulley * Make-lang.in (m2/mc-boot/$(SRC_PREFIX)%.o): Add $(CXXFLAGS). (m2/mc-boot-ch/$(SRC_PREFIX)%.o): Add $(CXXFLAGS). (m2/mc-boot-ch/$(SRC_PREFIX)%.o): Add $(CXXFLAGS). (m2/mc-boot/main.o): Add $(CXXFLAGS). 2023-03-19 Gaius Mulley * Make-maintainer.in (gm2.maintainer-clean): Remove. (gm2.maintainer-help): Add gm2.maintainer-tools, gm2.maintainer-doc. Remove gm2.maintainer-clean. Change target-independent directory to target-independent/m2. * gm2-compiler/ppg.mod: Correct __FILE_ typo to __FILE__. * gm2-compiler/M2Options.def (SetAutoInit): Update comment. * gm2-compiler/M2Options.mod (SetAutoInit): Update comment. * gm2-gcc/m2color.cc (m2color_colorize_start): Rename name_len to _name_high. * gm2-gcc/m2color.def (colorize_start): change ARRAY OF CHAR to ADDRESS and add _name_high. * gm2-gcc/m2decl.cc (m2decl_BuildStartFunctionDeclaration): Change int to bool. * gm2-gcc/m2decl.h (m2decl_BuildStartFunctionDeclaration): Change int to bool. * gm2-gcc/m2expr.cc (m2expr_BuildBinarySetDo): Change int to bool. (m2expr_BuildIfConstInVar): Change int to bool. (m2expr_BuildIfNotConstInVar): Change int to bool. (m2expr_BuildIfVarInVar): Change int to bool. (m2expr_BuildIfNotVarInVar): Change int to bool. (m2expr_BuildForeachWordInSetDoIfExpr): Change int to bool. * gm2-gcc/m2expr.h (m2expr_BuildIfNotVarInVar): Change int to bool. (m2expr_BuildIfVarInVar): Change int to bool. (m2expr_BuildIfNotConstInVar): Change int to bool. (m2expr_BuildIfConstInVar): Change int to bool. * gm2-gcc/m2options.h (M2Options_SetAutoInit): Change int to bool. (M2Options_SetNilCheck): Change int to bool. (M2Options_SetReturnCheck): Change int to bool. (M2Options_SetCaseCheck): Change int to bool. (M2Options_SetCheckAll): Change int to bool. (M2Options_SetVerboseUnbounded): Change int to bool. (M2Options_SetUnboundedByReference): Change int to bool. (M2Options_SetOptimizing): Change int to bool. (M2Options_SetQuiet): Change int to bool. (M2Options_SetCpp): Change int to bool. (M2Options_SetM2g): Change int to bool. (M2Options_SetLowerCaseKeywords): Change int to bool. (M2Options_SetVerbose): Change int to bool. * gm2-gcc/m2treelib.cc (m2treelib_get_rvalue): Change int to bool. (m2treelib_get_field_no): Change int to bool. (m2treelib_get_set_value): Change int to bool. (m2treelib_get_set_address): Change int to bool. (m2treelib_get_set_address_if_var): Change int to bool. * gm2-gcc/m2treelib.def (get_set_address_if_var): Change int to bool. (get_set_address): Change int to bool. (get_set_value): Change int to bool. (get_field_no): Change int to bool. (get_rvalue): Change int to bool. * gm2-gcc/m2treelib.h (m2treelib_get_field_no): Change int to bool. (m2treelib_get_set_value): Change int to bool. (m2treelib_get_set_address): Change int to bool. (m2treelib_get_set_address_if_var): Change int to bool. * gm2-gcc/m2type.cc (m2type_BuildEndFunctionType): Change int to bool. * gm2-gcc/m2type.h (m2type_BuildEndFunctionType): Change int to bool. * gm2-libs-ch/dtoa.cc (dtoa_calcsign): Change int to bool. * gm2-libs-ch/ldtoa.cc (dtoa_calcsign): Change int to bool. (ldtoa_ldtoa): Change int to bool. * m2.flex (functionInfo): Change int to bool. (pushFunction): Change parameter from int to bool. * mc-boot/GDebug.cc (Debug_Halt): Rebuild. * mc-boot/GDebug.h (Debug_Halt): Rebuild. * mc-boot/GDynamicStrings.cc: Rebuild. * mc-boot/GDynamicStrings.h: Rebuild. * mc-boot/GFIO.cc: Rebuild. * mc-boot/GM2RTS.cc: Rebuild. * mc-boot/GM2RTS.h: Rebuild. * mc-boot/GPushBackInput.cc: Rebuild. * mc-boot/GRTExceptions.cc: Rebuild. * mc-boot/GRTint.cc: Rebuild. * mc-boot/GSysStorage.cc: Rebuild. * mc-boot/Gdecl.cc: Rebuild. * mc-boot/GsymbolKey.cc: Rebuild. * mc/symbolKey.mod: Rebuild. * target-independent/m2/Builtins.texi: Rebuild. * target-independent/m2/SYSTEM-iso.texi: Rebuild. * target-independent/m2/SYSTEM-pim.texi: Rebuild. * target-independent/m2/gm2-libs.texi: Rebuild. * tools-src/def2doc.py (PIM_Log): Change gm2-libs-pim to gm2-lib-log. 2023-03-17 Gaius Mulley PR modula2/109032 * gm2-gcc/m2expr.cc: Correct ? : order in comments. (m2expr_BuildDivM2): Improve comment. * lang.opt: Improve option descriptions. 2023-03-17 Gaius Mulley PR modula2/109102 * gm2-gcc/m2builtins.cc (ASSERT): Change format specifier to use %qs rather than quotes. 2023-03-17 Gaius Mulley * gm2-compiler/M2AsmUtil.mod (SymNeedsModulePrefix): Re-implemented. * gm2-libs/SysStorage.mod (enableTrace): Disable tracing. 2023-03-16 Gaius Mulley * gm2-compiler/SymbolKey.mod (PutSymKey): Halt parameters reordered. (DelSymKey): Ditto. * gm2-compiler/ppg.mod (GetEpsilon): Ditto. (GetReachEnd): Ditto. (GetFollow): Ditto. (CodeCondition): Ditto. (CodeThenDo): Ditto. (CodeEnd): Ditto. (RecoverCondition): Ditto. (ConditionIndent): Ditto. * gm2-libs-ch/m2rts.h (M2RTS_Halt): Ditto. * gm2-libs-coroutines/Executive.mod (Assert): Ditto. (Resume): Remove redundant comments. (Wait): Remove redundant comments. * gm2-libs-coroutines/SYSTEM.mod (TRANSFER): Halt parameters reordered. (IOTransferHandler): Ditto. (Finished): Ditto. (localInit): Ditto. * gm2-libs-coroutines/TimerHandler.mod (WaitOn): Halt parameters reordered. (Cancel): Ditto. (ReArmEvent): Ditto. (OnActiveQueue): Ditto. * gm2-libs-iso/COROUTINES.mod (NEWCOROUTINE): Ditto. (Transfer): Ditto. (IOTRANSFER): Ditto. * gm2-libs-iso/EXCEPTIONS.mod (RAISE): Correct Halt parameters. * gm2-libs-iso/M2RTS.def (Halt): Halt parameters reordered. (HaltC): Ditto. * gm2-libs-iso/M2RTS.mod: Ditto. * gm2-libs-iso/RTentity.mod (PutKey): Ditto. (DelKey): Ditto. (findChildAndParent): Ditto. (assert): Ditto. * gm2-libs-iso/Storage.mod (ALLOCATE): Add DebugTrace. Add UseMallocFree test. (DEALLOCATE): Add DebugTrace. Add UseMallocFree test. (assert): Halt parameters reordered. * gm2-libs-log/Termbase.mod (Read): Ditto. (KeyPressed): Ditto. (Write): Ditto. (Init): Ditto. * gm2-libs/Debug.def (Halt): Halt parameters reordered. * gm2-libs/Debug.mod (Halt): Ditto. * gm2-libs/DynamicStrings.def (PopAllocation): Improve comment. * gm2-libs/DynamicStrings.mod (PopAllocation): Improve comment. Halt parameters reordered. * gm2-libs/M2RTS.def (Halt): Ditto. (HaltC): Ditto. * gm2-libs/M2RTS.mod (Halt): Ditto. (HaltC): Ditto. * gm2-libs/PushBackInput.mod (PutStr): Ditto. (PutString): Ditto. (PutCh): Ditto. * gm2-libs/RTExceptions.mod (GetBaseExceptionBlock): Ditto. * gm2-libs/RTint.mod (ReArmTimeVector): Ditto. (GetTimeVector): Ditto. (AttachVector): Ditto. (IncludeVector): Ditto. (Listen): Ditto. * gm2-libs/SysStorage.mod (ALLOCATE): Ditto. (DEALLOCATE): Ditto. (REALLOCATE): Ditto. * gm2-libs-coroutines/Debug.def: Removed. * gm2-libs-coroutines/Debug.mod: Removed. 2023-03-16 Gaius Mulley * Make-lang.in: Rename target-independent to target-independent/m2. * target-independent/readme.txt: Update. * target-independent/m2/gm2-ebnf.texi: New file. * target-independent/m2/gpl_v3_without_node.texi: New file. * target-independent/Builtins.texi: Rename ... * target-independent/m2/Builtins.texi: ... to this. * target-independent/SYSTEM-iso.texi: Rename ... * target-independent/m2/SYSTEM-iso.texi: ... to this. * target-independent/SYSTEM-pim.texi: Rename ... * target-independent/m2/SYSTEM-pim.texi: ... to this. * target-independent/gm2-libs.texi: Rename ... * target-independent/m2/gm2-libs.texi: ... to this. 2023-03-15 Gaius Mulley PR modula2/109125 * gm2-libs-ch/dtoa.cc (dtoa_strtod): Replace int with bool. * gm2-libs-ch/ldtoa.cc (ldtoa_strtold): Replace int with bool. 2023-03-14 Gaius Mulley PR modula2/109125 * gm2-libs-ch/cgetopt.c (cgetopt_SetOption): Replace int for bool. * gm2-libs-ch/termios.c (doSetUnset): Replace int for bool. * gm2-libs/Builtins.mod (isfinitef): Correct typo in return statement. 2023-03-13 Gaius Mulley PR modula2/109103 * gm2-compiler/M2ALU.def (PushString): New parameter issueError. * gm2-compiler/M2ALU.mod (PushString): New parameter issueError. * gm2-compiler/SymbolTable.mod (PushString): New parameter issueError. * gm2-gcc/m2decl.cc (m2decl_DetermineSizeOfConstant): Pass location to interpret_m2_integer. (m2decl_BuildConstLiteralNumber): New parameter issueError. * gm2-gcc/m2expr.cc (m2expr_IsTrue): Replace int with bool. (m2expr_IsFalse): Replace int with bool. (m2expr_AreConstantsEqual): Replace int with bool. (m2expr_BuildBinaryForeachWordDo): Call m2linemap_internal_error_at. (append_digit): Ditto. (m2expr_interpret_integer): Add location parameter. (append_m2_digit): Call m2linemap_internal_error_at. (m2expr_interpret_m2_integer): Add location parameter. (m2expr_GetSizeOf): Replace sizeof with SIZE in error message. * gm2-gcc/m2expr.h (m2expr_AreRealOrComplexConstantsEqual): Replace int with bool. (m2expr_AreConstantsEqual): Ditto. (m2expr_IsFalse): Ditto. (m2expr_IsTrue): Ditto. (m2expr_interpret_integer): Add location parameter. (m2expr_interpret_m2_integer): Add location parameter. * gm2-gcc/m2linemap.cc (mformat_value): New function. (expand_format): New function. (expand_message): New function. (gm2_internal_error_at): New function. (m2linemap_internal_error_at): New function. * gm2-gcc/m2linemap.h (m2linemap_internal_error_at): New function. * gm2-gcc/m2options.h (M2Options_SetISO): Replace int with bool. (M2Options_SetPIM): Ditto. (M2Options_SetPIM2): Ditto. (M2Options_SetPIM3): Ditto. (M2Options_SetPIM4): Ditto. (M2Options_SetFloatValueCheck): Ditto. (M2Options_SetWholeValueCheck): Ditto. (M2Options_GetISO): Ditto. (M2Options_GetPIM): Ditto. (M2Options_GetPIM2): Ditto. (M2Options_GetPIM3): Ditto. (M2Options_GetPIM4): Ditto. (M2Options_GetPositiveModFloor): Ditto. (M2Options_GetFloatValueCheck): Ditto. (M2Options_GetWholeValueCheck): Ditto. (M2Options_Setc): Ditto. (M2Options_Getc): Ditto. (M2Options_SetPPOnly): Ditto. (M2Options_GetPPOnly): Ditto. (M2Options_SetUselist): Ditto. (M2Options_SetAutoInit): Ditto. (M2Options_SetPositiveModFloor): Ditto. (M2Options_SetNilCheck): Ditto. (M2Options_SetWholeDiv): Ditto. (M2Options_SetIndex): Ditto. (M2Options_SetRange): Ditto. (M2Options_SetReturnCheck): Ditto. (M2Options_SetCaseCheck): Ditto. (M2Options_SetCheckAll): Ditto. (M2Options_SetExceptions): Ditto. (M2Options_SetStyle): Ditto. (M2Options_SetPedantic): Ditto. (M2Options_SetPedanticParamNames): Ditto. (M2Options_SetPedanticCast): Ditto. (M2Options_SetExtendedOpaque): Ditto. (M2Options_SetVerboseUnbounded): Ditto. (M2Options_SetXCode): Ditto. (M2Options_SetCompilerDebugging): Ditto. (M2Options_SetQuadDebugging): Ditto. (M2Options_SetDebugTraceQuad): Ditto. (M2Options_SetDebugTraceAPI): Ditto. (M2Options_SetSources): Ditto. (M2Options_SetUnboundedByReference): Ditto. (M2Options_SetDumpSystemExports): Ditto. (M2Options_SetOptimizing): Ditto. (M2Options_SetQuiet): Ditto. (M2Options_SetCC1Quiet): Ditto. (M2Options_SetCpp): Ditto. (M2Options_SetSwig): Ditto. (M2Options_SetWholeProgram): Ditto. (M2Options_SetDebugFunctionLineNumbers): Ditto. (M2Options_SetGenerateStatementNote): Ditto. (M2Options_GetCpp): Ditto. (M2Options_GetM2g): Ditto. (M2Options_SetM2g): Ditto. (M2Options_SetLowerCaseKeywords): Ditto. (M2Options_SetVerbose): Ditto. (M2Options_SetUnusedVariableChecking): Ditto. (M2Options_SetUnusedParameterChecking): Ditto. (M2Options_SetStrictTypeChecking): Ditto. (M2Options_SetWall): Ditto. (M2Options_SetSaveTemps): Ditto. (M2Options_GetSaveTemps): Ditto. (M2Options_SetScaffoldStatic): Ditto. (M2Options_SetScaffoldDynamic): Ditto. (M2Options_SetScaffoldMain): Ditto. (M2Options_SetGenModuleList): Ditto. (M2Options_SetShared): Ditto. * gm2-libs-ch/M2LINK.c: Ditto. * gm2-libs-ch/m2rts.h (M2RTS_RequestDependant): Replace const char * with const void *. (M2RTS_RegisterModule): Ditto. (M2RTS_ConstructModules): Ditto. * gm2-gcc/m2decl.def (DetermineSizeOfConstant): New parameter issueError. * gm2-gcc/m2decl.h (DetermineSizeOfConstant): New parameter issueError. 2023-03-12 Gaius Mulley PR modula2/109089 * gm2-compiler/M2GCCDeclare.mod (DeclareKnownType): Import. * gm2-gcc/gcc-consolidation.h (stdbool.h): Include. * gm2-gcc/init.h (defined): Change block start. * gm2-gcc/m2block.cc: Change FALSE to false, change TRUE to true. * gm2-gcc/m2block.h: Change int to bool. * gm2-gcc/m2builtins.cc: Ditto. * gm2-gcc/m2builtins.h: Ditto. * gm2-gcc/m2convert.cc: Change FALSE to false, TRUE to true and int to bool. * gm2-gcc/m2convert.h: Change int to bool. * gm2-gcc/m2decl.cc: Change int to bool. * gm2-gcc/m2decl.h: Change int to bool. * gm2-gcc/m2expr.cc: Change FALSE to false, TRUE to true and int to bool. * gm2-gcc/m2expr.h: Change int to bool. * gm2-gcc/m2statement.cc: Change FALSE to false, TRUE to true and int to bool. * gm2-gcc/m2statement.h: Change int to bool. * gm2-gcc/m2top.cc: Change int to bool. * gm2-gcc/m2top.h: Change int to bool. * gm2-gcc/m2tree.cc: Change int to bool. * gm2-gcc/m2tree.h: Change int to bool. * gm2-gcc/m2type.cc: Change int to bool. * gm2-gcc/m2type.h: Change int to bool. * gm2-lang.cc (convert_loc): Call convert_to_integer for BOOLEAN_TYPE. * gm2-libs/Builtins.def (isfinitef): Change return value from BOOLEAN to INTEGER. (isfinite): Ditto. (isfinitel): Ditto. * gm2-libs/Builtins.mod (isfinitef): Change return value from BOOLEAN to INTEGER. (isfinite): Ditto. (isfinitel): Ditto. * mc-boot/GASCII.cc: Rebuild. * mc-boot/GASCII.h: Rebuild. * mc-boot/GArgs.cc: Rebuild. * mc-boot/GArgs.h: Rebuild. * mc-boot/GAssertion.cc: Rebuild. * mc-boot/GAssertion.h: Rebuild. * mc-boot/GBreak.cc: Rebuild. * mc-boot/GBreak.h: Rebuild. * mc-boot/GCOROUTINES.h: Rebuild. * mc-boot/GCmdArgs.cc: Rebuild. * mc-boot/GCmdArgs.h: Rebuild. * mc-boot/GDebug.cc: Rebuild. * mc-boot/GDebug.h: Rebuild. * mc-boot/GDynamicStrings.cc: Rebuild. * mc-boot/GDynamicStrings.h: Rebuild. * mc-boot/GEnvironment.cc: Rebuild. * mc-boot/GEnvironment.h: Rebuild. * mc-boot/GFIO.cc: Rebuild. * mc-boot/GFIO.h: Rebuild. * mc-boot/GFormatStrings.cc: Rebuild. * mc-boot/GFormatStrings.h: Rebuild. * mc-boot/GFpuIO.cc: Rebuild. * mc-boot/GFpuIO.h: Rebuild. * mc-boot/GIO.cc: Rebuild. * mc-boot/GIO.h: Rebuild. * mc-boot/GIndexing.cc: Rebuild. * mc-boot/GIndexing.h: Rebuild. * mc-boot/GM2Dependent.cc: Rebuild. * mc-boot/GM2Dependent.h: Rebuild. * mc-boot/GM2EXCEPTION.cc: Rebuild. * mc-boot/GM2EXCEPTION.h: Rebuild. * mc-boot/GM2LINK.h: Rebuild. * mc-boot/GM2RTS.cc: Rebuild. * mc-boot/GM2RTS.h: Rebuild. * mc-boot/GMemUtils.cc: Rebuild. * mc-boot/GMemUtils.h: Rebuild. * mc-boot/GNumberIO.cc: Rebuild. * mc-boot/GNumberIO.h: Rebuild. * mc-boot/GPushBackInput.cc: Rebuild. * mc-boot/GPushBackInput.h: Rebuild. * mc-boot/GRTExceptions.cc: Rebuild. * mc-boot/GRTExceptions.h: Rebuild. * mc-boot/GRTco.h: Rebuild. * mc-boot/GRTentity.h: Rebuild. * mc-boot/GRTint.cc: Rebuild. * mc-boot/GRTint.h: Rebuild. * mc-boot/GSArgs.cc: Rebuild. * mc-boot/GSArgs.h: Rebuild. * mc-boot/GSFIO.cc: Rebuild. * mc-boot/GSFIO.h: Rebuild. * mc-boot/GSYSTEM.h: Rebuild. * mc-boot/GSelective.h: Rebuild. * mc-boot/GStdIO.cc: Rebuild. * mc-boot/GStdIO.h: Rebuild. * mc-boot/GStorage.cc: Rebuild. * mc-boot/GStorage.h: Rebuild. * mc-boot/GStrCase.cc: Rebuild. * mc-boot/GStrCase.h: Rebuild. * mc-boot/GStrIO.cc: Rebuild. * mc-boot/GStrIO.h: Rebuild. * mc-boot/GStrLib.cc: Rebuild. * mc-boot/GStrLib.h: Rebuild. * mc-boot/GStringConvert.cc: Rebuild. * mc-boot/GStringConvert.h: Rebuild. * mc-boot/GSysExceptions.h: Rebuild. * mc-boot/GSysStorage.cc: Rebuild. * mc-boot/GSysStorage.h: Rebuild. * mc-boot/GTimeString.cc: Rebuild. * mc-boot/GTimeString.h: Rebuild. * mc-boot/GUnixArgs.h: Rebuild. * mc-boot/Galists.cc: Rebuild. * mc-boot/Galists.h: Rebuild. * mc-boot/Gdecl.cc: Rebuild. * mc-boot/Gdecl.h: Rebuild. * mc-boot/Gdtoa.h: Rebuild. * mc-boot/Gerrno.h: Rebuild. * mc-boot/Gkeyc.cc: Rebuild. * mc-boot/Gkeyc.h: Rebuild. * mc-boot/Gldtoa.h: Rebuild. * mc-boot/Glibc.h: Rebuild. * mc-boot/Glibm.h: Rebuild. * mc-boot/Glists.cc: Rebuild. * mc-boot/Glists.h: Rebuild. * mc-boot/GmcComment.cc: Rebuild. * mc-boot/GmcComment.h: Rebuild. * mc-boot/GmcComp.cc: Rebuild. * mc-boot/GmcComp.h: Rebuild. * mc-boot/GmcDebug.cc: Rebuild. * mc-boot/GmcDebug.h: Rebuild. * mc-boot/GmcError.cc: Rebuild. * mc-boot/GmcError.h: Rebuild. * mc-boot/GmcFileName.cc: Rebuild. * mc-boot/GmcFileName.h: Rebuild. * mc-boot/GmcLexBuf.cc: Rebuild. * mc-boot/GmcLexBuf.h: Rebuild. * mc-boot/GmcMetaError.cc: Rebuild. * mc-boot/GmcMetaError.h: Rebuild. * mc-boot/GmcOptions.cc: Rebuild. * mc-boot/GmcOptions.h: Rebuild. * mc-boot/GmcPreprocess.cc: Rebuild. * mc-boot/GmcPreprocess.h: Rebuild. * mc-boot/GmcPretty.cc: Rebuild. * mc-boot/GmcPretty.h: Rebuild. * mc-boot/GmcPrintf.cc: Rebuild. * mc-boot/GmcPrintf.h: Rebuild. * mc-boot/GmcQuiet.cc: Rebuild. * mc-boot/GmcQuiet.h: Rebuild. * mc-boot/GmcReserved.cc: Rebuild. * mc-boot/GmcReserved.h: Rebuild. * mc-boot/GmcSearch.cc: Rebuild. * mc-boot/GmcSearch.h: Rebuild. * mc-boot/GmcStack.cc: Rebuild. * mc-boot/GmcStack.h: Rebuild. * mc-boot/GmcStream.cc: Rebuild. * mc-boot/GmcStream.h: Rebuild. * mc-boot/Gmcflex.h: Rebuild. * mc-boot/Gmcp1.cc: Rebuild. * mc-boot/Gmcp1.h: Rebuild. * mc-boot/Gmcp2.cc: Rebuild. * mc-boot/Gmcp2.h: Rebuild. * mc-boot/Gmcp3.cc: Rebuild. * mc-boot/Gmcp3.h: Rebuild. * mc-boot/Gmcp4.cc: Rebuild. * mc-boot/Gmcp4.h: Rebuild. * mc-boot/Gmcp5.cc: Rebuild. * mc-boot/Gmcp5.h: Rebuild. * mc-boot/GnameKey.cc: Rebuild. * mc-boot/GnameKey.h: Rebuild. * mc-boot/GsymbolKey.cc: Rebuild. * mc-boot/GsymbolKey.h: Rebuild. * mc-boot/Gtermios.h: Rebuild. * mc-boot/Gtop.cc: Rebuild. * mc-boot/Gvarargs.cc: Rebuild. * mc-boot/Gvarargs.h: Rebuild. * mc-boot/Gwlists.cc: Rebuild. * mc-boot/Gwlists.h: Rebuild. * mc-boot/Gwrapc.h: Rebuild. * mc/decl.mod (doBoolC): New procedure. (doBaseC): Call doBoolC. * mc/keyc.mod: Import useBool. (genBool): New procedure. (genDefs): Call genBool. * mc/mcOptions.def (useBool): New procedure. * mc/mcOptions.mod (useBool): New procedure. (useBoolType): New variable. (optionIs): Assign useBoolType to TRUE. 2023-03-04 Gaius Mulley * mc-boot-ch/GBuiltins.cc: New file. * mc-boot-ch/Gdtoa.cc: New file. * mc-boot-ch/Gerrno.cc: New file. * mc-boot-ch/Gldtoa.cc: New file. * mc-boot-ch/Gm2rtsdummy.cc: New file. * mc-boot/GASCII.cc: New file. * mc-boot/GArgs.cc: New file. * mc-boot/GAssertion.cc: New file. * mc-boot/GBreak.cc: New file. * mc-boot/GCmdArgs.cc: New file. * mc-boot/GDebug.cc: New file. * mc-boot/GDynamicStrings.cc: New file. * mc-boot/GEnvironment.cc: New file. * mc-boot/GFIO.cc: New file. * mc-boot/GFormatStrings.cc: New file. * mc-boot/GFpuIO.cc: New file. * mc-boot/GIO.cc: New file. * mc-boot/GIndexing.cc: New file. * mc-boot/GM2Dependent.cc: New file. * mc-boot/GM2EXCEPTION.cc: New file. * mc-boot/GM2RTS.cc: New file. * mc-boot/GMemUtils.cc: New file. * mc-boot/GNumberIO.cc: New file. * mc-boot/GPushBackInput.cc: New file. * mc-boot/GRTExceptions.cc: New file. * mc-boot/GRTint.cc: New file. * mc-boot/GSArgs.cc: New file. * mc-boot/GSFIO.cc: New file. * mc-boot/GStdIO.cc: New file. * mc-boot/GStorage.cc: New file. * mc-boot/GStrCase.cc: New file. * mc-boot/GStrIO.cc: New file. * mc-boot/GStrLib.cc: New file. * mc-boot/GStringConvert.cc: New file. * mc-boot/GSysStorage.cc: New file. * mc-boot/GTimeString.cc: New file. * mc-boot/Galists.cc: New file. * mc-boot/Gdecl.cc: New file. * mc-boot/Gkeyc.cc: New file. * mc-boot/Glists.cc: New file. * mc-boot/GmcComment.cc: New file. * mc-boot/GmcComp.cc: New file. * mc-boot/GmcDebug.cc: New file. * mc-boot/GmcError.cc: New file. * mc-boot/GmcFileName.cc: New file. * mc-boot/GmcLexBuf.cc: New file. * mc-boot/GmcMetaError.cc: New file. * mc-boot/GmcOptions.cc: New file. * mc-boot/GmcPreprocess.cc: New file. * mc-boot/GmcPretty.cc: New file. * mc-boot/GmcPrintf.cc: New file. * mc-boot/GmcQuiet.cc: New file. * mc-boot/GmcReserved.cc: New file. * mc-boot/GmcSearch.cc: New file. * mc-boot/GmcStack.cc: New file. * mc-boot/GmcStream.cc: New file. * mc-boot/Gmcp1.cc: New file. * mc-boot/Gmcp2.cc: New file. * mc-boot/Gmcp3.cc: New file. * mc-boot/Gmcp4.cc: New file. * mc-boot/Gmcp5.cc: New file. * mc-boot/GnameKey.cc: New file. * mc-boot/GsymbolKey.cc: New file. * mc-boot/Gtop.cc: New file. * mc-boot/Gvarargs.cc: New file. * mc-boot/Gwlists.cc: New file. * pge-boot/GASCII.cc: New file. * pge-boot/GArgs.cc: New file. * pge-boot/GAssertion.cc: New file. * pge-boot/GBuiltins.cc: New file. * pge-boot/GDebug.cc: New file. * pge-boot/GDynamicStrings.cc: New file. * pge-boot/GFIO.cc: New file. * pge-boot/GIO.cc: New file. * pge-boot/GIndexing.cc: New file. * pge-boot/GLists.cc: New file. * pge-boot/GM2Dependent.cc: New file. * pge-boot/GM2EXCEPTION.cc: New file. * pge-boot/GM2LINK.cc: New file. * pge-boot/GM2RTS.cc: New file. * pge-boot/GNameKey.cc: New file. * pge-boot/GNumberIO.cc: New file. * pge-boot/GOutput.cc: New file. * pge-boot/GPushBackInput.cc: New file. * pge-boot/GRTExceptions.cc: New file. * pge-boot/GRTco.cc: New file. * pge-boot/GSFIO.cc: New file. * pge-boot/GSYSTEM.cc: New file. * pge-boot/GSelective.cc: New file. * pge-boot/GStdIO.cc: New file. * pge-boot/GStorage.cc: New file. * pge-boot/GStrCase.cc: New file. * pge-boot/GStrIO.cc: New file. * pge-boot/GStrLib.cc: New file. * pge-boot/GSymbolKey.cc: New file. * pge-boot/GSysExceptions.cc: New file. * pge-boot/GSysStorage.cc: New file. * pge-boot/Gabort.cc: New file. * pge-boot/Gbnflex.cc: New file. * pge-boot/Gcbuiltin.cc: New file. * pge-boot/Gdtoa.cc: New file. * pge-boot/Gerrno.cc: New file. * pge-boot/Gldtoa.cc: New file. * pge-boot/Glibc.cc: New file. * pge-boot/Glibm.cc: New file. * pge-boot/Gmcrts.cc: New file. * pge-boot/Gpge.cc: New file. * pge-boot/Gwrapc.cc: New file. * pge-boot/main.cc: New file. * pge-boot/network.cc: New file. 2023-03-04 Gaius Mulley * Make-lang.in (MC-LIB-BOOT-C): Rename to MC-LIB-BOOT-CC. (MC-BOOT-C): Rename to MC-BOOT-CC. (BUILD-MC-BOOT-C): Rename to BUILD-MC-BOOT-CC. (BUILD-MC-BOOT-AUTO-C): Rename to BUILD-MC-BOOT-AUTO-CC. (m2/mc-boot/$(SRC_PREFIX)%.o): Change source file extension to .cc. (m2/mc-boot-ch/$(SRC_PREFIX)%.o): Ditto. * Make-maintainer.in (m2/gm2-ppg-boot/$(SRC_PREFIX)%.o): Change source file extension to .cc. (m2/gm2-ppg-boot/main.o): Ditto. (m2/gm2-ppg-boot/$(SRC_PREFIX)%.o): Ditto. to .cc. (m2/gm2-pg-boot/main.o): Ditto. (m2/gm2-pge-boot/$(SRC_PREFIX)ldtoa.o): Ditto. (m2/gm2-pge-boot/$(SRC_PREFIX)dtoa.o): Ditto. (m2/gm2-pge-boot/$(SRC_PREFIX)errno.o): Ditto. (m2/gm2-pge-boot/$(SRC_PREFIX)M2RTS.o): Ditto. (m2/gm2-pge-boot/$(SRC_PREFIX)%.o): Ditto. (m2/gm2-pge-boot/$(SRC_PREFIX)%.o): Ditto. (m2/gm2-pge-boot/$(SRC_PREFIX)pge.o): Ditto. (m2/gm2-pge-boot/main.o): Ditto. (mc-push): Ditto. (mc-clean): Ditto. (mc-stage2): Ditto. ((objdir)/m2/mc-boot-gen): Ditto. (m2/mc-boot-gen/$(SRC_PREFIX)decl.c): Ditto. (m2/mc-boot-gen/$(SRC_PREFIX)%.c): Ditto. * mc-boot-ch/GBuiltins.c: Correct comment and rename. * mc-boot-ch/Gdtoa.c: Correct comment and rename. * mc-boot-ch/Gldtoa.c: Correct comment and rename * mc-boot-ch/Gtermios.cc: Rename from Gtermios.c. * mc-boot-ch/Gerrno.c: Rename. * mc-boot-ch/GRTco.c: Removed. * mc-boot/GASCII.c: Rename to mc-boot/GASCII.cc. * mc-boot/GArgs.c: Rename to mc-boot/GArgs.cc. * mc-boot/GAssertion.c: Rename to mc-boot/GAssertion.cc. * mc-boot/GBreak.c: Rename to mc-boot/GBreak.cc. * mc-boot/GCmdArgs.c: Rename to mc-boot/GCmdArgs.cc. * mc-boot/GDebug.c: Rename to mc-boot/GDebug.cc. * mc-boot/GDynamicStrings.c: Rename to mc-boot/GDynamicStrings.cc. * mc-boot/GEnvironment.c: Rename to mc-boot/GEnvironment.cc. * mc-boot/GFIO.c: Rename to mc-boot/GFIO.cc. * mc-boot/GFormatStrings.c: Rename to mc-boot/GFormatStrings.cc. * mc-boot/GFpuIO.c: Rename to mc-boot/GFpuIO.cc. * mc-boot/GIO.c: Rename to mc-boot/GIO.cc. * mc-boot/GIndexing.c: Rename to mc-boot/GIndexing.cc. * mc-boot/GM2Dependent.c: Rename to mc-boot/GM2Dependent.cc. * mc-boot/GM2EXCEPTION.c: Rename to mc-boot/GM2EXCEPTION.cc. * mc-boot/GM2RTS.c: Rename to mc-boot/GM2RTS.cc. * mc-boot/GMemUtils.c: Rename to mc-boot/GMemUtils.cc. * mc-boot/GNumberIO.c: Rename to mc-boot/GNumberIO.cc. * mc-boot/GPushBackInput.c: Rename to mc-boot/GPushBackInput.cc. * mc-boot/GRTExceptions.c: Rename to mc-boot/GRTExceptions.cc. * mc-boot/GRTint.c: Rename to mc-boot/GRTint.cc. * mc-boot/GSArgs.c: Rename to mc-boot/GSArgs.cc. * mc-boot/GSFIO.c: Rename to mc-boot/GSFIO.cc. * mc-boot/GStdIO.c: Rename to mc-boot/GStdIO.cc. * mc-boot/GStorage.c: Rename to mc-boot/GStorage.cc. * mc-boot/GStrCase.c: Rename to mc-boot/GStrCase.cc. * mc-boot/GStrIO.c: Rename to mc-boot/GStrIO.cc. * mc-boot/GStrLib.c: Rename to mc-boot/GStrLib.cc. * mc-boot/GStringConvert.c: Rename to mc-boot/GStringConvert.cc. * mc-boot/GSysStorage.c: Rename to mc-boot/GSysStorage.cc. * mc-boot/GTimeString.c: Rename to mc-boot/GTimeString.cc. * mc-boot/Galists.c: Rename to mc-boot/Galists.cc. * mc-boot/Gdecl.c: Rename to mc-boot/Gdecl.cc. * mc-boot/Gkeyc.c: Rename to mc-boot/Gkeyc.cc. * mc-boot/Glists.c: Rename to mc-boot/Glists.cc. * mc-boot/GmcComment.c: Rename to mc-boot/GmcComment.cc. * mc-boot/GmcComp.c: Rename to mc-boot/GmcComp.cc. * mc-boot/GmcDebug.c: Rename to mc-boot/GmcDebug.cc. * mc-boot/GmcError.c: Rename to mc-boot/GmcError.cc. * mc-boot/GmcFileName.c: Rename to mc-boot/GmcFileName.cc. * mc-boot/GmcLexBuf.c: Rename to mc-boot/GmcLexBuf.cc. * mc-boot/GmcMetaError.c: Rename to mc-boot/GmcMetaError.cc. * mc-boot/GmcOptions.c: Rename to mc-boot/GmcOptions.cc. * mc-boot/GmcPreprocess.c: Rename to mc-boot/GmcPreprocess.cc. * mc-boot/GmcPretty.c: Rename to mc-boot/GmcPretty.cc. * mc-boot/GmcPrintf.c: Rename to mc-boot/GmcPrintf.cc. * mc-boot/GmcQuiet.c: Rename to mc-boot/GmcQuiet.cc. * mc-boot/GmcReserved.c: Rename to mc-boot/GmcReserved.cc. * mc-boot/GmcSearch.c: Rename to mc-boot/GmcSearch.cc. * mc-boot/GmcStack.c: Rename to mc-boot/GmcStack.cc. * mc-boot/GmcStream.c: Rename to mc-boot/GmcStream.cc. * mc-boot/Gmcp1.c: Rename to mc-boot/Gmcp1.cc. * mc-boot/Gmcp2.c: Rename to mc-boot/Gmcp2.cc. * mc-boot/Gmcp3.c: Rename to mc-boot/Gmcp3.cc. * mc-boot/Gmcp4.c: Rename to mc-boot/Gmcp4.cc. * mc-boot/Gmcp5.c: Rename to mc-boot/Gmcp5.cc. * mc-boot/GnameKey.c: Rename to mc-boot/GnameKey.cc. * mc-boot/GsymbolKey.c: Rename to mc-boot/GsymbolKey.cc. * mc-boot/Gtop.c: Rename to mc-boot/Gtop.cc. * mc-boot/Gvarargs.c: Rename to mc-boot/Gvarargs.cc. * mc-boot/Gwlists.c: Rename to mc-boot/Gwlists.cc. * pge-boot/GASCII.c: Rename to pge-boot/GASCII.cc. * pge-boot/GArgs.c: Rename to pge-boot/GArgs.cc. * pge-boot/GAssertion.c: Rename to pge-boot/GAssertion.cc. * pge-boot/GBuiltins.c: Rename to pge-boot/GBuiltins.cc. * pge-boot/GDebug.c: Rename to pge-boot/GDebug.cc. * pge-boot/GDynamicStrings.c: Rename to pge-boot/GDynamicStrings.cc. * pge-boot/GFIO.c: Rename to pge-boot/GFIO.cc. * pge-boot/GIO.c: Rename to pge-boot/GIO.cc. * pge-boot/GIndexing.c: Rename to pge-boot/GIndexing.cc. * pge-boot/GLists.c: Rename to pge-boot/GLists.cc. * pge-boot/GM2Dependent.c: Rename to pge-boot/GM2Dependent.cc. * pge-boot/GM2EXCEPTION.c: Rename to pge-boot/GM2EXCEPTION.cc. * pge-boot/GM2LINK.c: Rename to pge-boot/GM2LINK.cc. * pge-boot/GM2RTS.c: Rename to pge-boot/GM2RTS.cc. * pge-boot/GNameKey.c: Rename to pge-boot/GNameKey.cc. * pge-boot/GNumberIO.c: Rename to pge-boot/GNumberIO.cc. * pge-boot/GOutput.c: Rename to pge-boot/GOutput.cc. * pge-boot/GPushBackInput.c: Rename to pge-boot/GPushBackInput.cc. * pge-boot/GRTExceptions.c: Rename to pge-boot/GRTExceptions.cc. * pge-boot/GRTco.c: Rename to pge-boot/GRTco.cc. * pge-boot/GSFIO.c: Rename to pge-boot/GSFIO.cc. * pge-boot/GSYSTEM.c: Rename to pge-boot/GSYSTEM.cc. * pge-boot/GSelective.c: Rename to pge-boot/GSelective.cc. * pge-boot/GStdIO.c: Rename to pge-boot/GStdIO.cc. * pge-boot/GStorage.c: Rename to pge-boot/GStorage.cc. * pge-boot/GStrCase.c: Rename to pge-boot/GStrCase.cc. * pge-boot/GStrIO.c: Rename to pge-boot/GStrIO.cc. * pge-boot/GStrLib.c: Rename to pge-boot/GStrLib.cc. * pge-boot/GSymbolKey.c: Rename to pge-boot/GSymbolKey.cc. * pge-boot/GSysExceptions.c: Rename to pge-boot/GSysExceptions.cc. * pge-boot/GSysStorage.c: Rename to pge-boot/GSysStorage.cc. * pge-boot/Gabort.c: Rename to pge-boot/Gabort.cc. * pge-boot/Gbnflex.c: Rename to pge-boot/Gbnflex.cc. * pge-boot/Gcbuiltin.c: Rename to pge-boot/Gcbuiltin.cc. * pge-boot/Gdtoa.c: Rename to pge-boot/Gdtoa.cc. * pge-boot/Gerrno.c: Rename to pge-boot/Gerrno.cc. * pge-boot/Gldtoa.c: Rename to pge-boot/Gldtoa.cc. * pge-boot/Glibc.c: Rename to pge-boot/Glibc.cc. * pge-boot/Glibm.c: Rename to pge-boot/Glibm.cc. * pge-boot/Gmcrts.c: Rename to pge-boot/Gmcrts.cc. * pge-boot/Gpge.c: Rename to pge-boot/Gpge.cc. * pge-boot/Gwrapc.c: Rename to pge-boot/Gwrapc.cc. * pge-boot/README: Correct description. * pge-boot/main.c: Rename to pge-boot/main.cc. * pge-boot/network.c: Rename to pge-boot/network.cc. 2023-02-28 Gaius Mulley PR modula2/108956 * Make-lang.in (m2/gm2-libs-boot/M2RTS.o): New specific rule to add the --suppress-noreturn option. * Make-maintainer.in (m2/gm2-ppg-boot/$(SRC_PREFIX)M2RTS.o): New specific rule to add the --suppress-noreturn option. (m2/gm2-pg-boot/$(SRC_PREFIX)M2RTS.o): New specific rule to add the --suppress-noreturn option. (m2/gm2-pg-boot/$(SRC_PREFIX)%.o): Add missing $(srcdir). (m2/gm2-pge-boot/$(SRC_PREFIX)M2RTS.o): New specific rule to add the --suppress-noreturn option. (m2/gm2-pge-boot/$(SRC_PREFIX)%.o): Add missing $(srcdir). * gm2-libs-ch/UnixArgs.cc (LIBNAME): New define. (_M2_UnixArgs_ctor): Add LIBNAME parameter to RegisterModule. * gm2-libs-ch/dtoa.cc (LIBNAME): New define. (_M2_dtoa_ctor): Add LIBNAME parameter to RegisterModule. * gm2-libs-ch/ldtoa.cc (LIBNAME): New define. (_M2_ldtoa_ctor): Add LIBNAME parameter to RegisterModule. * pge-boot/m2rts.h (M2RTS_RegisterModule): Add libname parameter. * gm2-libs-ch/m2rts.h (M2RTS_RegisterModule): Add libname parameter. * mc-boot-ch/GUnixArgs.cc (_M2_UnixArgs_ctor): Remove. * pge-boot/GUnixArgs.cc (LIBNAME): New define. (_M2_UnixArgs_ctor): Add LIBNAME parameter to RegisterModule. * gm2-libs/RTint.def (AttachVector): Rename parameter. * mc-boot/GDynamicStrings.c: Rebuilt. * mc-boot/GFIO.c: Rebuilt. * mc-boot/GIndexing.c: Rebuilt. * mc-boot/GM2EXCEPTION.c: Rebuilt. * mc-boot/GPushBackInput.c: Rebuilt. * mc-boot/GRTExceptions.c: Rebuilt. * mc-boot/GRTint.c: Rebuilt. * mc-boot/GRTint.h: Rebuilt. * mc-boot/GStdIO.c: Rebuilt. * mc-boot/GStringConvert.c: Rebuilt. * mc-boot/GSysStorage.c: Rebuilt. * mc-boot/Gdecl.c: Rebuilt. * mc-boot/Gkeyc.c: Rebuilt. * mc-boot/GmcComment.c: Rebuilt. * mc-boot/GmcComp.c: Rebuilt. * mc-boot/GmcDebug.c: Rebuilt. * mc-boot/GmcMetaError.c: Rebuilt. * mc-boot/GmcOptions.c: Rebuilt. * mc-boot/GmcOptions.h: Rebuilt. * mc-boot/GmcStack.c: Rebuilt. * mc-boot/GnameKey.c: Rebuilt. * mc-boot/GsymbolKey.c: Rebuilt. * mc/decl.mod:: Rebuilt. * mc/mcOptions.def: Rebuilt. * mc/mcOptions.mod:: Rebuilt. * pge-boot/GDynamicStrings.c: Rebuilt. * pge-boot/GFIO.c: Rebuilt. * pge-boot/GIndexing.c: Rebuilt. * pge-boot/GM2EXCEPTION.c: Rebuilt. * pge-boot/GM2RTS.c: Rebuilt. * pge-boot/GNameKey.c: Rebuilt. * pge-boot/GPushBackInput.c: Rebuilt. * pge-boot/GRTExceptions.c: Rebuilt. * pge-boot/GStdIO.c: Rebuilt. * pge-boot/GSymbolKey.c: Rebuilt. * pge-boot/GSysStorage.c: Rebuilt. 2023-02-25 Gaius Mulley PR modula2/108261 * Make-lang.in (GM2-COMP-BOOT-DEFS): DynamicStringPath.def remove. DynamicPath.def add. (GM2-COMP-BOOT-MODS): DynamicStringPath.mod remove. DynamicPath.mod add. * Make-maintainer.in (BUILD-BOOT-PPG-H): New dependency. (m2/gm2-ppg-boot/$(SRC_PREFIX)%.o): $(BUILD-BOOT-PPG-H) Add dependency. (PGE-DEF): New definition. (BUILD-BOOT-PG-H): New dependency. (m2/gm2-pg-boot/$(SRC_PREFIX)%.o): $(BUILD-BOOT-PG-H) Add dependency. (BUILD-BOOT-PGE-H): New dependency. (m2/gm2-pge-boot/$(SRC_PREFIX)%.o): $(BUILD-BOOT-PGE-H) Add dependency. (GM2PATH): Add pathname entries. (m2/boot-bin/mc-devel$(exeext)): Add m2/mc-boot-ch/Gm2rtsdummy.o dependency. (m2/boot-bin/mc-opt$(exeext)): Fix -I path. * gm2-compiler/DynamicStringPath.def: Renamed module to DynamicPath. (GetUserPath): Remove. (GetSystemPath): Remove. (SetUserPath): Remove. (SetSystemPath): Remove. (DumpPath): New procedure definition. * gm2-compiler/DynamicStringPath.mod: Renamed module to DynamicPath. (GetUserPath): Remove. (GetSystemPath): Remove. (SetUserPath): Remove. (SetSystemPath): Remove. (DumpPath): Remove Debugging conditional. * gm2-compiler/M2AsmUtil.mod: Import EqualArray, NulName and GetLibName. (Debugging): New declaration. (GetFullSymName): Re-implemented to prefix (mange) libname to any extern variable/procedure which is IsExportQualified. * gm2-compiler/M2Comp.mod (qprintLibName): New procedure. * gm2-compiler/M2Graph.mod (resolveImports): Add libname. * gm2-compiler/M2Options.def (SetM2Prefix): New procedure. (GetM2Prefix): New procedure function. (SetM2PathName): New procedure. (GetM2PathName): New procedure function. * gm2-compiler/M2Options.mod: (SetM2Prefix): New procedure implemented. (GetM2Prefix): New procedure function implemented. (SetM2PathName): New procedure implemented. (GetM2PathName): New procedure function implemented. (RuntimeModuleOverride): Set to DefaultRuntimeModuleOverride. * gm2-compiler/M2Quads.mod: Import GetLibName. (SafeRequestSym) Pass result of GetLibName to RequestDependant. (callRequestDependant): Add libname as a parameter. (BuildM2InitFunction): Add libname as a parameter. (BuildM2FiniFunction): Add libname as a parameter. (BuildM2CtorFunction): Add libname as a parameter. * gm2-compiler/M2Scaffold.mod (LookupModuleSym): Set LibName if a definition source was found. * gm2-compiler/M2Search.def (FindSourceFile): Add named library parameter. (FindSourceDefFile): Add named library parameter. (FindSourceModFile): Add named library parameter. * gm2-compiler/M2Search.mod (FindSourceFile): Reimplement. (FindSourceDefFile): Add named library parameter. (FindSourceModFile): Add named library parameter. * gm2-compiler/SymbolTable.def (MakeProcedureCtorExtern): Add libname parameter. (PutLibName): New procedure. (GetLibName): New procedure function. * gm2-compiler/SymbolTable.mod (MakeProcedureCtorExtern): Add libname parameter. (GenName): Add libname parameter. (InitCtorFields): Add moduleSym as a parameter. (PutCtorExtern): Add libname parameter to GenName. * gm2-gcc/init.cc (_M2_DynamicStringPath_init): Rename function... (_M2_DynamicPath_init): ...to this. (_M2_PathName_init): Added. * gm2-gcc/m2decl.cc (m2decl_DeclareM2linkStaticInitialization): Add m2pim as the manged component of the exported symbol. (m2decl_DeclareM2linkForcedModuleInitOrder): Add m2pim mangle prefix. * gm2-gcc/m2options.h (M2Options_SetM2Prefix): New function. (M2Options_GetM2Prefix): New function. (M2Options_SetM2PathName): New function. (M2Options_GetM2PathName): New function. * gm2-lang.cc (push_back_Ipath): New function. (add_one_import_path): New function. (gm2_langhook_handle_option): Record -I component. Call SetM2PathName when -fm2-pathname= is seen. Record -fm2-pathnameI component. Call SetM2Prefix when -fm2-prefix= is seen. (gm2_langhook_post_options): Iterative over pathname entries and call SetM2PathName, SetSearchPath as appropriate. * gm2-libs-iso/M2RTS.def (ConstructModules): Add libname parameter. (DeconstructModules): Add libname parameter. (RegisterModule): Add libname parameter. (RequestDependant): Add libname parameter. * gm2-libs-iso/M2RTS.mod (ConstructModules): Add libname parameter. (DeconstructModules): Add libname parameter. (RegisterModule): Add libname parameter. (RequestDependant): Add libname parameter. * gm2-libs-min/M2RTS.def (ConstructModules): Add libname parameter. (DeconstructModules): Add libname parameter. (RegisterModule): Add libname parameter. (RequestDependant): Add libname parameter. * gm2-libs-min/M2RTS.mod (ConstructModules): Add libname parameter. (DeconstructModules): Add libname parameter. (RegisterModule): Add libname parameter. (RequestDependant): Add libname parameter. * gm2-libs/M2Dependent.def (ConstructModules): Add libname parameter. (DeconstructModules): Add libname parameter. (RegisterModule): Add libname parameter. (RequestDependant): Add libname parameter. * gm2-libs/M2Dependent.mod (ConstructModules): Add libname parameter. (DeconstructModules): Add libname parameter. (RegisterModule): Add libname parameter. (RequestDependant): Add libname parameter. * gm2-libs/M2RTS.def (ConstructModules): Add libname parameter. (DeconstructModules): Add libname parameter. (RegisterModule): Add libname parameter. (RequestDependant): Add libname parameter. * gm2-libs/M2RTS.mod (ConstructModules): Add libname parameter. (DeconstructModules): Add libname parameter. (RegisterModule): Add libname parameter. (RequestDependant): Add libname parameter. * gm2-libs/RTint.mod (FindVector): Rename variables. (initInputVector): Rename variables. (initOutputVector): Rename variables. (InitTimeVector): Rename variables. (FindVectorNo): Rename variables. (FindPendingVector): Rename variables. (ReArmTimeVector): Rename variables. (GetTimeVector): Rename variables. (AttachVector): Rename variables. (AttachVector): Rename variables. (IncludeVector): Rename variables. (ExcludeVector): Rename variables. (AddFd): Rename variables. (AddFd): Rename variables. (DumpPendingQueue): Rename variables. (stop): Remove. (activatePending): Rename variables. (Listen): Rename variables. * gm2-libs/libc.def (snprintf): New function. * gm2-libs/sckt.def: Change all exported identifiers to be export qualified. * gm2spec.cc (push_back_Ipath): New function. (add_m2_I_path): New function. (lang_specific_driver): Skip -fm2-pathname= and remember pathname. Skip -I and record the path and current pathname. Call add_m2_I_path. * lang-specs.h: Replace %{I*} with %{fm2-pathname*}. * lang.opt (-fm2-pathname=): New entry. (-fm2-pathname): New entry. (-fm2-prefix=): New entry. * mc-boot-ch/GUnixArgs.cc (_M2_UnixArgs_dep): New function. (_M2_UnixArgs_ctor::_M2_UnixArgs_ctor): New method. * mc-boot-ch/Glibc.c (libc_snprintf): New function. * mc-boot-ch/m2rts.h (M2RTS_RequestDependant): Changed prototype. (M2RTS_RegisterModule): Changed prototype. * mc-boot/GDynamicStrings.c: Rebuild. * mc-boot/GFIO.c: Rebuild. * mc-boot/GIndexing.c: Rebuild. * mc-boot/GM2Dependent.c: Rebuild. * mc-boot/GM2Dependent.h: Rebuild. * mc-boot/GM2EXCEPTION.c: Rebuild. * mc-boot/GM2RTS.c: Rebuild. * mc-boot/GM2RTS.h: Rebuild. * mc-boot/GPushBackInput.c: Rebuild. * mc-boot/GRTExceptions.c: Rebuild. * mc-boot/GRTint.c: Rebuild. * mc-boot/GStdIO.c: Rebuild. * mc-boot/GStringConvert.c: Rebuild. * mc-boot/GSysStorage.c: Rebuild. * mc-boot/Gdecl.c: Rebuild. * mc-boot/Gkeyc.c: Rebuild. * mc-boot/Glibc.h: Rebuild. * mc-boot/GmcComment.c: Rebuild. * mc-boot/GmcComp.c: Rebuild. * mc-boot/GmcDebug.c: Rebuild. * mc-boot/GmcMetaError.c: Rebuild. * mc-boot/GmcStack.c: Rebuild. * mc-boot/GnameKey.c: Rebuild. * mc-boot/GsymbolKey.c: Rebuild. * pge-boot/GASCII.c: Rebuild. * pge-boot/GArgs.c: Rebuild. * pge-boot/GAssertion.c: Rebuild. * pge-boot/GDebug.c: Rebuild. * pge-boot/GDynamicStrings.c: Rebuild. * pge-boot/GFIO.c: Rebuild. * pge-boot/GIO.c: Rebuild. * pge-boot/GIndexing.c: Rebuild. * pge-boot/GLists.c: Rebuild. * pge-boot/GM2Dependent.c: Rebuild. * pge-boot/GM2Dependent.h: Rebuild. * pge-boot/GM2EXCEPTION.c: Rebuild. * pge-boot/GM2RTS.c: Rebuild. * pge-boot/GM2RTS.h: Rebuild. * pge-boot/GNameKey.c: Rebuild. * pge-boot/GNumberIO.c: Rebuild. * pge-boot/GOutput.c: Rebuild. * pge-boot/GPushBackInput.c: Rebuild. * pge-boot/GRTExceptions.c: Rebuild. * pge-boot/GSFIO.c: Rebuild. * pge-boot/GStdIO.c: Rebuild. * pge-boot/GStorage.c: Rebuild. * pge-boot/GStrCase.c: Rebuild. * pge-boot/GStrIO.c: Rebuild. * pge-boot/GStrLib.c: Rebuild. * pge-boot/GSymbolKey.c: Rebuild. * pge-boot/GSysExceptions.c (_M2_SysExceptions_finish): Rename this... (_M2_SysExceptions_fini): ... to this. * pge-boot/GSysStorage.c: Rebuild. (_M2_SysStorage_finish): Rename this... (_M2_SysStorage_fini): ... to this. * pge-boot/GUnixArgs.cc: New file. * pge-boot/Gbnflex.c (_M2_bnflex_finish): Rename this... (_M2_bnflex_fini): ... to this. * pge-boot/Gerrno.c (_M2_errno_finish): Rename this... (_M2_errno_fini): ... to this. * pge-boot/Glibc.c (libc_snprintf): New function. * pge-boot/Glibc.h (libc_snprintf): New prototype. * pge-boot/Gpge.c (_M2_pge_finish): Rename this... (_M2_pge_fini): ... to this. * pge-boot/Gtermios.cc (_M2_termios_finish): Rename this... (_M2_termios_fini): ... to this. * pge-boot/main.c (_M2_RTExceptions_finish): Rename this... (_M2_RTExceptions_fini): ... to this. (_M2_M2EXCEPTION_finish): Rename this... (_M2_M2EXCEPTION_fini): ... to this. (_M2_M2RTS_finish): Rename this... (_M2_M2RTS_fini): ... to this. (_M2_SysExceptions_finish): Rename this... (_M2_SysExceptions_fini): ... to this. (_M2_StrLib_finish): Rename this... (_M2_StrLib_fini): ... to this. (_M2_errno_finish): Rename this... (_M2_errno_fini): ... to this. (_M2_termios_finish): Rename this... (_M2_termios_fini): ... to this. (_M2_IO_finish): Rename this... (_M2_IO_fini): ... to this. (_M2_StdIO_finish): Rename this... (_M2_StdIO_fini): ... to this. (_M2_Debug_finish): Rename this... (_M2_Debug_fini): ... to this. (_M2_SysStorage_finish): Rename this... (_M2_SysStorage_fini): ... to this. (_M2_Storage_finish): Rename this... (_M2_Storage_fini): ... to this. (_M2_StrIO_finish): Rename this... (_M2_StrIO_fini): ... to this. (_M2_DynamicStrings_finish): Rename this... (_M2_DynamicStrings_fini): ... to this. (_M2_Assertion_finish): Rename this... (_M2_Assertion_fini): ... to this. (_M2_Indexing_finish): Rename this... (_M2_Indexing_fini): ... to this. (_M2_NameKey_finish): Rename this... (_M2_NameKey_fini): ... to this. (_M2_NumberIO_finish): Rename this... (_M2_NumberIO_fini): ... to this. (_M2_PushBackInput_finish): Rename this... (_M2_PushBackInput_fini): ... to this. (_M2_SymbolKey_finish): Rename this... (_M2_SymbolKey_fini): ... to this. (_M2_UnixArgs_finish): Rename this... (_M2_UnixArgs_fini): ... to this. (_M2_FIO_finish): Rename this... (_M2_FIO_fini): ... to this. (_M2_SFIO_finish): Rename this... (_M2_SFIO_fini): ... to this. (_M2_StrCase_finish): Rename this... (_M2_StrCase_fini): ... to this. (_M2_bnflex_finish): Rename this... (_M2_bnflex_fini): ... to this. (_M2_Lists_finish): Rename this... (_M2_Lists_fini): ... to this. (_M2_Args_finish): Rename this... (_M2_Args_fini): ... to this. (_M2_Output_finish): Rename this... (_M2_Output_fini): ... to this. (_M2_pge_finish): Rename this... (_M2_pge_fini): ... to this. * plugin/m2rte.cc (m2_runtime_error_calls): Change all runtime procedure names to their name mangled counterparts. * gm2-libs-iso/wrapsock.c: Removed. * gm2-libs-iso/wraptime.c: Removed. * mc-boot/Gpth.h: Removed. * gm2-compiler/PathName.def: New file. * gm2-compiler/PathName.mod: New file. * gm2-compiler/DynamicPath.def: New file. * gm2-compiler/DynamicPath.mod: New file. 2023-02-06 Gaius Mulley PR modula2/108135 * gm2-compiler/M2Search.mod (DSdbEnter): Comment out. (DSdbExit): Comment out. 2023-02-06 Co-Authored by: Rainer Orth PR modula2/107234 * m2pp.cc (m2pp_integer_cst): Use HOST_WIDE_INT_PRINT_UNSIGNED as the format specifier. 2023-02-06 Gaius Mulley * gm2-compiler/M2Preprocess.mod (BaseName): Comment out. * gm2-lang.cc (opt): Remove. * gm2spec.cc (add_include): Remove. (full_libraries): Remove. (concat_option): Remove. 2023-02-03 Gaius Mulley * Make-lang.in (TEXISRC): Remove m2/images/gnu.eps. (RSTSRC): Remove m2/images/gnu.eps. (doc/m2.dvi): Add $(objdir)/m2/images/gnu.eps. (doc/m2.pdf): Add $(objdir)/m2/images/gnu.eps. (M2_PDFFILES): New definition. (m2.install-pdf): New rule. (m2.pod): Add $(objdir)/m2/images/gnu.eps. (m2.info): Add $(objdir)/m2/images/gnu.eps. (m2.html): New rule. (m2/gpl_v3_without_node.texi): New rule. (plugin/m2rte$(soext)): Simplify mkinstalldirs. (cc1gm2$(exeext)): Ditto. (m2/stage1/cc1gm2$(exeext)): Ditto. (m2/gm2-gcc/%.o): Ditto. (m2/gm2-gcc/rtegraph.o): Ditto. (m2/gm2-gcc/$(SRC_PREFIX)%.h): Ditto. (m2/mc-boot/$(SRC_PREFIX)%.o):Ditto. (m2/mc-boot-ch/$(SRC_PREFIX)%.o): Ditto. (m2/mc-boot/main.o): Ditto. (m2/gm2-libs-boot/%.o): Ditto. (m2/gm2-libs-boot/$(SRC_PREFIX)%.h): Ditto. (m2/gm2-libs-boot/RTcodummy.o): Ditto. (m2/gm2-libs-boot/wrapc.o): Ditto. (m2/gm2-libs-boot/M2LINK.o): Ditto. (m2/gm2-libs-boot/UnixArgs.o): Ditto. (m2/gm2-libs-boot/choosetemp.o): Ditto. (m2/gm2-libs-boot/errno.o): Ditto. (m2/gm2-libs-boot/dtoa.o): Ditto. (m2/gm2-libs-boot/ldtoa.o): Ditto. (m2/gm2-libs-boot/termios.o): Ditto. (m2/gm2-libs-boot/SysExceptions.o): Ditto. (m2/gm2-libs-boot/SysStorage.o): Ditto. (m2/gm2-compiler-boot/M2GCCDeclare.o): Ditto. (m2/gm2-compiler-boot/M2Error.o): Ditto. (m2/gm2-compiler-boot/%.o): Ditto. (m2/gm2-compiler-boot/$(SRC_PREFIX)%.h): Ditto. (m2/gm2-compiler-boot/m2flex.o): Ditto. (m2/gm2-compiler/m2flex.c): Ditto. (m2/gm2-libiberty/$(SRC_PREFIX)%.h): Ditto. (m2/gm2-compiler/%.o): Ditto. (m2/gm2-compiler/m2flex.o): Ditto. (m2/gm2-compiler/%.o): Ditto. (m2/gm2-libs-iso/%.o): Ditto. (m2/gm2-libs/gm2-libs-host.h): Ditto. ($(objdir)/m2/gm2-libs-min/SYSTEM.def): Ditto. ($(objdir)/m2/gm2-libs/SYSTEM.def): Ditto. ($(objdir)/m2/gm2-libs-iso/SYSTEM.def): Ditto. ($(objdir)/m2/gm2-libs-coroutines/SYSTEM.def): Ditto. (m2/gm2-compiler/gm2.a): Ditto. (m2/gm2-libs-boot/libgm2.a): Ditto. (m2/gm2-compiler-boot/gm2.a): Ditto. (m2/boot-bin/mklink$(exeext)): Ditto. (m2/gm2-compiler-boot/$(SRC_PREFIX)%.h): Ditto. (m2/gm2-compiler/%.mod): Ditto. (m2/gm2-compiler-boot/%.mod): Ditto. (m2/pge-boot/%.o): Ditto. 2023-02-01 Gaius Mulley * Make-lang.in (GM2_FLAGS): Add -fno-return -Wreturn-type. (GM2_ISO_FLAGS): Add -fno-return -Wreturn-type. * Make-maintainer.in (GM2PATH): Split into separate -I components. (MC-LIB-DEFS): Add RTentity.def. (m2/boot-bin/mc-devel$(exeext)): Changed -I$(GM2PATH) to $(GM2PATH). (m2/boot-bin/mc-opt$(exeext)): Separate -I paths. (m2/mc/decl.o): Separate -I paths. (gm2-bootstrap): Separate -I paths. (m2/mc-boot-gen/$(SRC_PREFIX)%.h): Separate -I paths. (m2/mc-boot-gen/$(SRC_PREFIX)decl.c): Separate -I paths. (m2/mc-boot-gen/$(SRC_PREFIX)%.c): Separate -I paths. (gm2.verifyparanoid): Separate -I paths. (gm2.verifystage12): Separate -I paths. * gm2-compiler/M2ALU.mod (GetConstructorElement): Add default Return NulSym. Remove return from the error case. * gm2-compiler/M2Base.mod (ComplexToScalar): Return RType from the error case. (MixMetaTypes): Return MakeError as a default. * gm2-compiler/M2GCCDeclare.mod (GetTypeMin): Return NulSym from the error case. (GetTypeMax): Return NulSym from the error case. * gm2-compiler/M2GenGCC.mod (IsExportedGcc): Replace Assert by InternalError. * gm2-compiler/M2Quads.mod (GetItemPointedTo): Add InternalError. (GetTypeMin): Add InternalError. (GetTypeMax): Add InternalError. * gm2-compiler/M2System.mod (InitSystem): Call PutProcedureNoReturn on Throw. * gm2-gcc/m2except.cc (m2except_InitExceptions): fn_throw_tree declare as noreturn. fn_rethrow_tree declare as noreturn. * gm2-libs-coroutines/Debug.def (Halt): Add noreturn attribute. * gm2-libs-coroutines/SYSTEM.def (THROW): Add noreturn attribute. * gm2-libs-iso/ClientSocket.mod (dorbytes): Add return FALSE. * gm2-libs-iso/EXCEPTIONS.def (RAISE): Add noreturn attribute. * gm2-libs-iso/IOLink.def (RAISEdevException): Add noreturn attribute. * gm2-libs-iso/M2RTS.def (HALT): Add noreturn attribute. (Halt): Ditto. (HaltC): Ditto. (ErrorMessage): Ditto. (AssignmentException): Ditto. (ReturnException): Ditto. (IncException): Ditto. (DecException): Ditto. (InclException): Ditto. (ExclException): Ditto. (ShiftException): Ditto. (RotateException): Ditto. (StaticArraySubscriptException): Ditto. (DynamicArraySubscriptException): Ditto. (ForLoopBeginException): Ditto. (ForLoopToException): Ditto. (ForLoopEndException): Ditto. (PointerNilException): Ditto. (NoReturnException): Ditto. (CaseException): Ditto. (WholeNonPosDivException): Ditto. (WholeNonPosModException): Ditto. (WholeZeroDivException): Ditto. (WholeZeroRemException): Ditto. (WholeValueException): Ditto. (RealValueException): Ditto. (ParameterException): Ditto. (NoException): Ditto. * gm2-libs-iso/SYSTEM.def (THROW): Ditto. * gm2-libs-iso/TermFile.mod (dorbytes): Add default return FALSE. * gm2-libs-min/M2RTS.def: Add noreturn attribute. * gm2-libs/FIO.mod (BufferedRead): Return -1. (getFileName): Return NIL. (getFileNameLength): Return 0. * gm2-libs/M2RTS.def (HaltC): Add noreturn attribute. (AssignmentException): Ditto. (ReturnException): Ditto. (IncException): Ditto. (DecException): Ditto. (InclException): Ditto. (ExclException): Ditto. (ShiftException): Ditto. (RotateException): Ditto. (StaticArraySubscriptException): Ditto. (DynamicArraySubscriptException): Ditto. (ForLoopBeginException): Ditto. (ForLoopToException): Ditto. (ForLoopEndException): Ditto. (PointerNilException): Ditto. (NoReturnException): Ditto. (CaseException): Ditto. (WholeNonPosDivException): Ditto. (WholeNonPosModException): Ditto. (WholeZeroDivException): Ditto. (WholeZeroRemException): Ditto. (WholeValueException): Ditto. (RealValueException): Ditto. (ParameterException): Ditto. (NoException): Ditto. * gm2-libs/RTExceptions.def (Raise): Ditto. * gm2-libs/RTExceptions.mod (InvokeHandler): Ditto. * gm2-libs/SYSTEM.def (THROW): Ditto. * m2.flex (_M2_m2flex_fini): Remamed to... (_M2_m2flex_finish): ...here. * mc-boot-ch/GBuiltins.c (_M2_Builtins_finish): Remamed to... (_M2_Builtins_fini): ...this. * mc-boot-ch/GRTco.c (_M2_RTco_finish): Remamed to... (_M2_RTco_fini): ...this. * mc-boot-ch/GSYSTEM.c (_M2_SYSTEM_finish): Remamed to... (_M2_SYSTEM_fini): ...this. * mc-boot-ch/GSelective.c (_M2_Selective_finish): Remamed to... (_M2_Selective_fini): ...this. * mc-boot-ch/GSysExceptions.c (_M2_SysExceptions_init): Add parameters. (_M2_SysExceptions_finish): Remamed to... (_M2_SysExceptions_fini): ...this. * mc-boot-ch/GUnixArgs.cc (_M2_UnixArgs_finish): Remamed to... (_M2_UnixArgs_fini): ...this. (_M2_UnixArgs_ctor::_M2_UnixArgs_ctor): Change parameter to _M2_UnixArgs_fini. * mc-boot-ch/Gdtoa.c (_M2_dtoa_finish): Remamed to... (_M2_dtoa_fini): ...this. * mc-boot-ch/Gerrno.c (_M2_errno_finish): Remamed to... (_M2_errno_fini): ...this. * mc-boot-ch/Gldtoa.c (_M2_ldtoa_finish): Remamed to... (_M2_ldtoa_fini): ...this. * mc-boot-ch/Gtermios.cc (_M2_termios_init): Add parameters. (_M2_termios_finish): Remamed to... (_M2_termios_fini): ...this. * mc-boot-ch/Gwrapc.c (_M2_wrapc_init): Add parameters. (_M2_wrapc_finish): Remamed to... (_M2_wrapc_fini): ...this. * mc-boot/GASCII.c: Rebuild. * mc-boot/GArgs.c: Rebuild. * mc-boot/GAssertion.c: Rebuild. * mc-boot/GBreak.c: Rebuild. * mc-boot/GCmdArgs.c: Rebuild. * mc-boot/GDebug.c: Rebuild. * mc-boot/GDynamicStrings.c: Rebuild. * mc-boot/GEnvironment.c: Rebuild. * mc-boot/GFIO.c: Rebuild. * mc-boot/GFormatStrings.c: Rebuild. * mc-boot/GFpuIO.c: Rebuild. * mc-boot/GIO.c: Rebuild. * mc-boot/GIndexing.c: Rebuild. * mc-boot/GM2Dependent.c: Rebuild. * mc-boot/GM2EXCEPTION.c: Rebuild. * mc-boot/GM2RTS.c: Rebuild. * mc-boot/GM2RTS.h: Rebuild. * mc-boot/GMemUtils.c: Rebuild. * mc-boot/GNumberIO.c: Rebuild. * mc-boot/GPushBackInput.c: Rebuild. * mc-boot/GRTExceptions.c: Rebuild. * mc-boot/GRTExceptions.h: Rebuild. * mc-boot/GRTco.h: Rebuild. * mc-boot/GRTint.c: Rebuild. * mc-boot/GSArgs.c: Rebuild. * mc-boot/GSFIO.c: Rebuild. * mc-boot/GStdIO.c: Rebuild. * mc-boot/GStorage.c: Rebuild. * mc-boot/GStrCase.c: Rebuild. * mc-boot/GStrIO.c: Rebuild. * mc-boot/GStrLib.c: Rebuild. * mc-boot/GStringConvert.c: Rebuild. * mc-boot/GSysStorage.c: Rebuild. * mc-boot/GTimeString.c: Rebuild. * mc-boot/Galists.c: Rebuild. * mc-boot/Gdecl.c: Rebuild. * mc-boot/Gkeyc.c: Rebuild. * mc-boot/Glists.c: Rebuild. * mc-boot/GmcComment.c: Rebuild. * mc-boot/GmcComp.c: Rebuild. * mc-boot/GmcDebug.c: Rebuild. * mc-boot/GmcError.c: Rebuild. * mc-boot/GmcFileName.c: Rebuild. * mc-boot/GmcLexBuf.c: Rebuild. * mc-boot/GmcMetaError.c: Rebuild. * mc-boot/GmcOptions.c: Rebuild. * mc-boot/GmcPreprocess.c: Rebuild. * mc-boot/GmcPretty.c: Rebuild. * mc-boot/GmcPrintf.c: Rebuild. * mc-boot/GmcQuiet.c: Rebuild. * mc-boot/GmcReserved.c: Rebuild. * mc-boot/GmcSearch.c: Rebuild. * mc-boot/GmcStack.c: Rebuild. * mc-boot/GmcStream.c: Rebuild. * mc-boot/Gmcp1.c: Rebuild. * mc-boot/Gmcp2.c: Rebuild. * mc-boot/Gmcp3.c: Rebuild. * mc-boot/Gmcp4.c: Rebuild. * mc-boot/Gmcp5.c: Rebuild. * mc-boot/GnameKey.c: Rebuild. * mc-boot/GsymbolKey.c: Rebuild. * mc-boot/Gtop.c: Rebuild. * mc-boot/Gvarargs.c: Rebuild. * mc-boot/Gwlists.c: Rebuild. * mc-boot/GRTentity.h: New file. * mc/decl.mod (scaffoldStatic): Change _finish to _fini. * mc/mc.flex (_M2_mcflex_fini): New function. (_M2_mcflex_finish): Remove function. * tools-src/mklink.c (GenerateFinishCalls): Change _finish to _fini. (GeneratePrototypes): Change _finish to _fini. 2023-01-31 Gaius Mulley * Make-lang.in (gm2-libs.texi-check): Rename m2/gm2-libs-pim to m2/gm2-libs-log. * gm2-libs-pim/BitBlockOps.def: Moved to... * gm2-libs-log/BitBlockOps.def: ...here. * gm2-libs-pim/BitBlockOps.mod: Moved to... * gm2-libs-log/BitBlockOps.mod: ...here. * gm2-libs-pim/BitByteOps.def: Moved to... * gm2-libs-log/BitByteOps.def: ...here. * gm2-libs-pim/BitByteOps.mod: Moved to... * gm2-libs-log/BitByteOps.mod: ...here. * gm2-libs-pim/BitWordOps.def: Moved to... * gm2-libs-log/BitWordOps.def: ...here. * gm2-libs-pim/BitWordOps.mod: Moved to... * gm2-libs-log/BitWordOps.mod: ...here. * gm2-libs-pim/BlockOps.def: Moved to... * gm2-libs-log/BlockOps.def: ...here. * gm2-libs-pim/BlockOps.mod: Moved to... * gm2-libs-log/BlockOps.mod: ...here. * gm2-libs-pim/Break.c: Moved to... * gm2-libs-log/Break.c: ...here. * gm2-libs-pim/Break.def: Moved to... * gm2-libs-log/Break.def: ...here. * gm2-libs-pim/CardinalIO.def: Moved to... * gm2-libs-log/CardinalIO.def: ...here. * gm2-libs-pim/CardinalIO.mod: Moved to... * gm2-libs-log/CardinalIO.mod: ...here. * gm2-libs-pim/Conversions.def: Moved to... * gm2-libs-log/Conversions.def: ...here. * gm2-libs-pim/Conversions.mod: Moved to... * gm2-libs-log/Conversions.mod: ...here. * gm2-libs-pim/DebugPMD.def: Moved to... * gm2-libs-log/DebugPMD.def: ...here. * gm2-libs-pim/DebugPMD.mod: Moved to... * gm2-libs-log/DebugPMD.mod: ...here. * gm2-libs-pim/DebugTrace.def: Moved to... * gm2-libs-log/DebugTrace.def: ...here. * gm2-libs-pim/DebugTrace.mod: Moved to... * gm2-libs-log/DebugTrace.mod: ...here. * gm2-libs-pim/Delay.def: Moved to... * gm2-libs-log/Delay.def: ...here. * gm2-libs-pim/Delay.mod: Moved to... * gm2-libs-log/Delay.mod: ...here. * gm2-libs-pim/Display.def: Moved to... * gm2-libs-log/Display.def: ...here. * gm2-libs-pim/Display.mod: Moved to... * gm2-libs-log/Display.mod: ...here. * gm2-libs-pim/ErrorCode.def: Moved to... * gm2-libs-log/ErrorCode.def: ...here. * gm2-libs-pim/ErrorCode.mod: Moved to... * gm2-libs-log/ErrorCode.mod: ...here. * gm2-libs-pim/FileSystem.def: Moved to... * gm2-libs-log/FileSystem.def: ...here. * gm2-libs-pim/FileSystem.mod: Moved to... * gm2-libs-log/FileSystem.mod: ...here. * gm2-libs-pim/FloatingUtilities.def: Moved to... * gm2-libs-log/FloatingUtilities.def: ...here. * gm2-libs-pim/FloatingUtilities.mod: Moved to... * gm2-libs-log/FloatingUtilities.mod: ...here. * gm2-libs-pim/InOut.def: Moved to... * gm2-libs-log/InOut.def: ...here. * gm2-libs-pim/InOut.mod: Moved to... * gm2-libs-log/InOut.mod: ...here. * gm2-libs-pim/Keyboard.def: Moved to... * gm2-libs-log/Keyboard.def: ...here. * gm2-libs-pim/Keyboard.mod: Moved to... * gm2-libs-log/Keyboard.mod: ...here. * gm2-libs-pim/LongIO.def: Moved to... * gm2-libs-log/LongIO.def: ...here. * gm2-libs-pim/LongIO.mod: Moved to... * gm2-libs-log/LongIO.mod: ...here. * gm2-libs-pim/NumberConversion.def: Moved to... * gm2-libs-log/NumberConversion.def: ...here. * gm2-libs-pim/NumberConversion.mod: Moved to... * gm2-libs-log/NumberConversion.mod: ...here. * gm2-libs-pim/README.texi: Moved to... * gm2-libs-log/README.texi: ...here. * gm2-libs-pim/Random.def: Moved to... * gm2-libs-log/Random.def: ...here. * gm2-libs-pim/Random.mod: Moved to... * gm2-libs-log/Random.mod: ...here. * gm2-libs-pim/RealConversions.def: Moved to... * gm2-libs-log/RealConversions.def: ...here. * gm2-libs-pim/RealConversions.mod: Moved to... * gm2-libs-log/RealConversions.mod: ...here. * gm2-libs-pim/RealInOut.def: Moved to... * gm2-libs-log/RealInOut.def: ...here. * gm2-libs-pim/RealInOut.mod: Moved to... * gm2-libs-log/RealInOut.mod: ...here. * gm2-libs-pim/Strings.def: Moved to... * gm2-libs-log/Strings.def: ...here. * gm2-libs-pim/Strings.mod: Moved to... * gm2-libs-log/Strings.mod: ...here. * gm2-libs-pim/Termbase.def: Moved to... * gm2-libs-log/Termbase.def: ...here. * gm2-libs-pim/Termbase.mod: Moved to... * gm2-libs-log/Termbase.mod: ...here. * gm2-libs-pim/Terminal.def: Moved to... * gm2-libs-log/Terminal.def: ...here. * gm2-libs-pim/Terminal.mod: Moved to... * gm2-libs-log/Terminal.mod: ...here. * gm2-libs-pim/TimeDate.def: Moved to... * gm2-libs-log/TimeDate.def: ...here. * gm2-libs-pim/TimeDate.mod: Moved to... * gm2-libs-log/TimeDate.mod: ...here. 2023-01-28 Iain Sandoe * lang.opt: Claim Wreturn-type. 2023-01-27 Gaius Mulley * gm2-compiler/M2Comp.mod: Import MetaString0. (ExamineCompilationUnit): New variable Message. Create and format error string. * gm2-compiler/M2LexBuf.mod: New variable SeenEof. (GetNonEofToken): New procedure. (Init): Set SeenEof to FALSE. (GetToken): Use GetNonEofToken instead of calls to m2flex.GetToken and GetToken. (AddTok): Detect eoftok and set SeenEof. 2023-01-27 Gaius Mulley * gm2-compiler/M2Options.def: Export GetMQ, SetMQ. * gm2-compiler/M2Preprocess.mod: (MakeSaveTempsFileName): Test NewDir against NIL. Test Dumpdir against NIL. Test GetMD () against NIL. Test GetMMD () against NIL. Test GetMQ () against NIL. Test GetObj () against NIL. Test tempfile against NIL. * gm2-compiler/P2SymBuild.def: Export BuildNoReturnAttribute. 2023-01-27 Iain Sandoe PR modula2/108555 PR modula2/108182 PR modula2/102343 * gm2-lang.cc (gm2_langhook_option_lang_mask): Do not claim CL_C or CL_DRIVER. (gm2_langhook_init_options): Handle options that we want to pass to the preprocessor. * lang-specs.h: Pass -B and -save-temps to regular compile lines. * lang.opt: Add C and Driver options that Modula-2 intercepts for internal use. Reorder options into two sections and to collate. 2023-01-26 Gaius Mulley * gm2-compiler/M2GCCDeclare.mod: Import IsProcedureNoReturn. (DeclareProcedureToGccWholeProgram): New variable declared and set returnType. Pass returnType to BuildEndFunctionDeclaration. Extra parameter IsProcedureNoReturn passed to BuildEndFunctionDeclaration. * gm2-compiler/M2Quads.mod (BuildM2MainFunction): Correct scaffold comment and add extra return 0. * gm2-compiler/P2Build.bnf: Import BuildNoReturnAttribute. (ProcedureHeading): Process EndBuildFormalParameters before parsing AttributeNoReturn. (DefProcedureHeading): Process EndBuildFormalParameters before parsing AttributeNoReturn. (AttributeNoReturn): Call BuildNoReturnAttribute. * gm2-compiler/P2SymBuild.def (BuildNoReturnAttribute): New procedure. * gm2-compiler/P2SymBuild.mod (BuildNoReturnAttribute): New procedure. * gm2-compiler/SymbolTable.def (PutProcedureInline): Corrected comment. (PutProcedureNoReturn): New procedure. (IsProcedureNoReturn): New procedure function. * gm2-compiler/SymbolTable.mod (SymProcedure): IsNoReturn new field. (MakeProcedure): Initialize IsNoReturn to FALSE. (PutProcedureNoReturn): New procedure. (IsProcedureNoReturn): New procedure function. * gm2-gcc/m2decl.cc (m2decl_BuildEndFunctionDeclaration): Add extra parameter isnoreturn. Set TREE_THIS_VOLATILE to isnoreturn. * gm2-gcc/m2decl.def (BuildEndFunctionDeclaration): Add extra parameter isnoreturn. * gm2-gcc/m2decl.h (m2decl_BuildEndFunctionDeclaration): Add extra parameter isnoreturn. * gm2-gcc/m2except.cc (m2except_InitExceptions): Change all function decl to pass an extra parameter isnoreturn. 2023-01-26 Gaius Mulley * m2.flex (splitSlashStar): Fix comment so that /* does not appear inside the comment. 2023-01-26 Iain Sandoe PR modula2/108553 * gm2-lang.cc (gm2_langhook_init_options): Remove debug code. 2023-01-26 Gaius Mulley * Make-lang.in (m2/gm2config.h): Rewrite rule to be dependent upon m2/gm2config.aci. (m2/gm2config.aci): Newrule. * configure.ac (AC_CONFIG_HEADERS): Change destination to gm2config.aci. * configure: Regenerate. * gm2-libs/config-host: Regenerate. * gm2-compiler/M2GCCDeclare.mod (AddSymToWatch): Comment out. * gm2-compiler/M2Quads.mod (BuildConstHighFromSym): Remove Dim. (StartBuildWith): Call BuildStmtNoteTok. (BuildStmtNoteTok): New procedure. (BuildStmtNote): Re-implement re-factor into two procedures and call BuildStmtNoteTok. * gm2config.h.in: Remove. * gm2config.aci.in: New file. 2023-01-25 Iain Sandoe PR modula2/102343 PR modula2/108182 * gm2-compiler/M2Comp.mod: Early exit for pre-processor-only jobs. * gm2-compiler/M2Options.def (SetPPOnly, GetPPOnly, SetMD, GetMD, SetMMD, GetMMD, SetMQ, GetMQ, SetObj, GetObj, SetDumpDir, GetDumpDir):New. * gm2-compiler/M2Options.mod:(SetPPOnly, GetPPOnly, SetMD, GetMD, SetMMD, GetMMD, SetMQ, GetMQ, SetObj, GetObj, SetDumpDir, GetDumpDir):New. * gm2-compiler/M2Preprocess.def (PreprocessModule): Add flag to indicate the main file. * gm2-compiler/M2Preprocess.mod: Handle Preprocess-only jobs, handle MD, MMD and MQ options. * gm2-gcc/m2options.h (M2Options_SetPPOnly, M2Options_GetPPOnly, M2Options_SetDumpDir, M2Options_SetMD, M2Options_GetMD, M2Options_SetMMD, M2Options_GetMMD, M2Options_SetMQ, M2Options_GetMQ, M2Options_SetObj, M2Options_GetObj): New. * gm2-gcc/m2type.cc (m2type_InitBaseTypes): Early exit for pre- processor-only jobs. * gm2-lang.cc (gm2_langhook_init): Handle preprocess-only commands. (gm2_langhook_option_lang_mask): Claim C and Driver options so that we can intercept them for building pre-processor commands. (gm2_langhook_init_options): Collect the preprocessor line here. Save options that have different actions for preprocessor and compile commands. (gm2_langhook_handle_option): Only handle the modula-2 options here. (gm2_langhook_post_options): Do not create a back-end for pre- processor-only jobs. * gm2spec.cc (lang_specific_driver): Ignore PCH options, append a scaffold-main for cases where we are building a main module with -c. * lang-specs.h: Revise to handle preprocessor-only jobs and to consume pre-processed files. * lang.opt: Remove Driver and C options copies (we claim these separately). 2023-01-24 Co-Authored by: Iain Sandoe * Make-lang.in (GM2-COMP-BOOT-DEFS): Add DynamicStringPath.def. (GM2-COMP-BOOT-MODS): Add DynamicStringPath.mod. (GM2-COMP-DEFS): Add DynamicStringPath.def. (GM2-COMP-MODS): Add DynamicStringPath.mod. ($(objdir)/m2/gm2-libs-min/SYSTEM.def): Split path into multiple -I components. ($(objdir)/m2/gm2-libs/SYSTEM.def): Ditto. ($(objdir)/m2/gm2-libs-coroutines/SYSTEM.def): Ditto. * gm2-compiler/M2Options.mod: Import DynamicStringPath. (SetSearchPath): Reimplement using DynamicStringPath procedures. * gm2-compiler/M2Search.def (InitSearchPath): Remove. (PrependSearchPath): Remove. * gm2-compiler/M2Search.mod (SFIO): Remove import. (DynamicStringPath): Add import. (Directory): Remove. (UserPath): Remove. (InitialPath): Remove. (InitSearchPath): Remove. (PrependSearchPath): Remove. (FindSourceFile): Re-implement. (FindSourceDefFile): Re-implement. (FindSourceModFile): Re-implement. * gm2-gcc/init.cc (_M2_DynamicStringPath_init): New prototype. (init_FrontEndInit): Call _M2_DynamicStringPath_init. * tools-src/makeSystem: Allow multiple -I paths. * gm2-compiler/DynamicStringPath.def: New file. * gm2-compiler/DynamicStringPath.mod: New file. * gm2-gcc/m2options.h (M2Options_SetMakeIncludePath): Add prototype. 2023-01-24 Gaius Mulley * m2.flex (cpreprocessor): Add temporary variable which is initialized to 0. (commentCLevel): New variable. (endOfCComment): New function. (splitSlashStar): New function to split /* into / and * tokens. (COMMENTC): New flex state. ("/*"): New rule to test whether we should treat /* as a single token or as two tokens. (.): New rule to skip a character. (\n.*): New rule to consume the line. ("*/"): New rule to call endOfCComment. 2023-01-24 Gaius Mulley * gm2-libs-iso/RTco.def: Import RTentity. Declare RTco as a definition for C module. 2023-01-23 Iain Sandoe PR modula2/108182 PR modula2/108480 * Make-lang.in: Pass libsubdir to the language init build. * gm2-lang.cc (INCLUDE_VECTOR): Define. (add_one_import_path): New. (add_m2_import_paths): New. (gm2_langhook_post_options): Arrange to add the include paths (and add the system ones) in the same order as C uses. * gm2spec.cc (build_archive_path): Remove. (add_default_combination): Remove. (add_default_archives): Remove. (add_default_libs): We no longer need a '-L' option, just emit the -l and each library in use. (build_include_path): Remove. (add_include): Remove. (add_default_includes): Remove. (library_installed): Remove. (check_valid_library): Remove. (check_valid_list): Remove. (convert_abbreviation): Diagnose unhandled cases. (lang_specific_driver): Skip options where we will add back a validated version. * lang-specs.h (M2CPP): Reformat, append %I when -fcpp is not in use. Revise the cc1gm2 spec to omit mentioning options that are handled in the c pre-processor line. * lang.opt: Allow preprocessing and path options as input to the cc1gm2 invocation, so that they can be passed to the preprocessor invocation. 2023-01-23 Iain Sandoe PR modula2/108405 * gm2-libs-iso/Preemptive.mod (initPreemptive): Use a value for extra space that is divisible by common OS pagesizes. 2023-01-20 Gaius Mulley * gm2-libs/Args.mod (GetArg): Check index before accessing array. * gm2-libs/M2Dependent.mod (toCString): Check index before accessing array. * mc-boot/GArgs.c: Rebuilt. * mc-boot/GM2Dependent.c: Rebuilt. * mc-boot/Gkeyc.c: Rebuilt. * mc/keyc.mod (seenUIntMin): Initialize once. (seenUIntMax): Initialize once. (checkLimits): Only test seenUIntMin and seenUIntMax once. * pge-boot/GArgs.c: Rebuilt. * pge-boot/GM2Dependent.c: Rebuilt. 2023-01-20 Gaius Mulley * gm2-gcc/m2statement.cc (gm2_gimplify_function_node): Remove. * gm2-libs/DynamicStrings.mod (Equal): Remove dead code. * m2.flex ("<*"): Add {} for else statement. * m2pp.cc (hextree): Add conditional #ifdef DEBUGGING. * mc-boot/GDynamicStrings.c: Rebuild. * pge-boot/GDynamicStrings.c: Rebuild. * pge-boot/GFIO.c: Rebuild. * pge-boot/GIndexing.c: Rebuild. * pge-boot/GM2EXCEPTION.c: Rebuild. * pge-boot/GM2RTS.c: Rebuild. * pge-boot/GNameKey.c: Rebuild. * pge-boot/GPushBackInput.c: Rebuild. * pge-boot/GRTExceptions.c: Rebuild. * pge-boot/GStdIO.c: Rebuild. * pge-boot/GSymbolKey.c: Rebuild. * pge-boot/GSysStorage.c: Rebuild. 2023-01-17 Gaius Mulley * mc-boot/GM2RTS.c: Rebuilt. * mc-boot/GM2RTS.h: Rebuilt. * mc-boot/Gdecl.c: Rebuilt. * mc-boot/GmcOptions.c: Rebuilt. * mc/mcOptions.mod (displayVersion): Split first printf into three components 2023-01-17 Gaius Mulley * gm2-libs-iso/M2RTS.def (Halt): Parameter file renamed to filename. (HaltC): New procedure declaration. (ErrorMessage): Parameter file renamed to filename. * gm2-libs-iso/M2RTS.mod (Halt): Parameter file renamed to filename. (HaltC): New procedure implementation. (ErrorStringC): New procedure implementation. (ErrorMessageC): New procedure implementation. * gm2-libs/M2RTS.def (Halt): Parameter file renamed to filename. (HaltC): New procedure declaration. (ErrorMessage): Parameter file renamed to filename. * gm2-libs/M2RTS.mod (Halt): Parameter file renamed to filename. (HaltC): New procedure implementation. (ErrorStringC): New procedure implementation. (ErrorMessageC): New procedure implementation. 2023-01-16 Gaius Mulley * mc-boot-ch/Glibc.c (libc_time): New function. (libc_localtime): New function. * mc-boot/GDynamicStrings.c: Regenerate. * mc-boot/GFIO.c: Regenerate. * mc-boot/GFormatStrings.c: Regenerate. * mc-boot/GIndexing.c: Regenerate. * mc-boot/GM2Dependent.c: Regenerate. * mc-boot/GM2EXCEPTION.c: Regenerate. * mc-boot/GPushBackInput.c: Regenerate. * mc-boot/GRTExceptions.c: Regenerate. * mc-boot/GRTint.c: Regenerate. * mc-boot/GStdIO.c: Regenerate. * mc-boot/GStringConvert.c: Regenerate. * mc-boot/GSysStorage.c: Regenerate. * mc-boot/Gdecl.c: Regenerate. * mc-boot/GmcComment.c: Regenerate. * mc-boot/GmcComp.c: Regenerate. * mc-boot/GmcDebug.c: Regenerate. * mc-boot/GmcMetaError.c: Regenerate. * mc-boot/GmcOptions.c: Regenerate. * mc-boot/GmcStack.c: Regenerate. * mc-boot/GnameKey.c: Regenerate. * mc-boot/GsymbolKey.c: Regenerate. * mc-boot/Gkeyc.c: Regenerate. * mc/decl.mod (putFieldRecord): Change NulName to NulKey and fix type comparision. * mc/mcOptions.mod (YEAR): Remove. (getYear): New procedure function. (displayVersion): Use result from getYear instead of YEAR. Emit boilerplate for GPL v3. (gplBody): Use result from getYear instead of YEAR. (glplBody): Use result from getYear instead of YEAR. 2023-01-16 Gaius Mulley * gm2-compiler/M2Quads.mod (AssignUnboundedVar): Check Type against NulSym and call MetaErrorT1 if necessary. (AssignUnboundedNonVar): Check Type against NulSym and call MetaErrorT1 if necessary. (BuildDesignatorPointer): Check Type1 against NulSym and call MetaErrorT1 if necessary. 2023-01-16 Gaius Mulley * mc/mcOptions.mod (displayVersion): Change GPLv2 to GPLv3. (YEAR) set to 2023. 2023-01-15 Gaius Mulley * gm2-compiler/M2LexBuf.mod (isSrcToken): Add block comment. Remove dead code. * gm2-compiler/M2Quads.def (BuildNot): Add notTokPos parameter. * gm2-compiler/M2Quads.mod (BuildNot): Add notTokPos parameter. Create and push virtual token. (PopBooltok): New procedure. (PushBooltok): New procedure. (PushBool): Re-implement using PushBooltok. (PopBool): Re-implement using PopBooltok. * gm2-compiler/P3Build.bnf (ConstFactor): Record token position of NOT. (Factor): Record token position of NOT. * gm2-compiler/PHBuild.bnf (ConstFactor): Record token position of NOT. (Relation): Push token position. (UnaryOrConstTerm): Push token position. (AddOperator): Push token position. (MulOperator): Push token position. 2023-01-13 Iain Sandoe * gm2-gcc/m2options.h (M2Options_SetVerbose): Export the function. * gm2-lang.cc: Handle OPT_v, passing it to the compiler. * lang-specs.h: Pass -v to cc1gm2. 2023-01-13 Gaius Mulley * mc-boot-ch/GRTco.c (RTco_select): Add return 0. * pge-boot/GRTco.c (RTco_select): Add return 0. 2023-01-10 Gaius Mulley * Make-lang.in (m2/mc-boot/$(SRC_PREFIX)%.o): Add m2/gm2-libs/gm2-libs-host.h dependency. (m2/mc-boot-ch/$(SRC_PREFIX)%.o): Add m2/gm2-libs/gm2-libs-host.h dependency. 2023-01-10 Gaius Mulley * Make-lang.in (GM2_1): Change -B path to m2/stage1. ($(objdir)/m2/images/gnu.eps): Check and create dest dir if necessary. (gm2-libs.texi-check): Check and create dir m2/gm2-libs-pim, m2/gm2-libs-iso and m2/gm2-libs if necessary. ($(objdir)/m2/gm2-compiler-boot): Remove. ($(objdir)/m2/gm2-libs-boot): Remove. ($(objdir)/m2/gm2-libs-libiberty): Remove. ($(objdir)/m2/gm2-libiberty): Remove. ($(objdir)/m2/gm2-gcc): Remove. ($(objdir)/m2/gm2-compiler): Remove. ($(objdir)/m2/gm2-libs): Remove. ($(objdir)/m2/gm2-libs-iso): Remove. ($(objdir)/m2/gm2-libs-min): Remove. ($(objdir)/m2/gm2-compiler-paranoid): Remove. ($(objdir)/m2/gm2-libs-paranoid): Remove. ($(objdir)/m2/gm2-compiler-verify): Remove. ($(objdir)/m2/boot-bin): Remove. ($(objdir)/m2/gm2-libs-pim): Remove. ($(objdir)/m2/gm2-libs-coroutines): Remove. (stage1/m2): Remove. (stage2/m2): Remove. (stage3/m2): Remove. (m2.stageprofile): New rule. (m2.stagefeedback): New rule. (cc1gm2$(exeext)): Change dependent name. (m2/stage2/cc1gm2$(exeext)): Change dependent name. Check and create dest dir. (m2/stage1/cc1gm2$(exeext)): Check and create dest dir if necessary. (m2/gm2-gcc/%.o): Ditto. (m2/gm2-gcc/rtegraph.o): Ditto. (m2/gm2-gcc/$(SRC_PREFIX)%.h): Ditto. (m2/gm2-gcc/$(SRC_PREFIX)%.h): Ditto. (m2/mc-boot): Ditto. (m2/mc-boot-ch): Ditto. (m2/gm2-libs-boot): Ditto. (m2/gm2-compiler-boot): Ditto. (m2/gm2-compiler): Ditto. (m2/gm2-libiberty): Ditto. (m2/gm2-compiler): Ditto. (m2/gm2-libs-iso): Ditto. (m2/gm2-libs): Ditto. (m2/gm2-libs-min): Ditto. (m2/gm2-libs-coroutines): Ditto. (m2/boot-bin): Ditto. (m2/pge-boot): Ditto. (m2/pge-boot): Ditto. * Make-maintainer.in (m2/gm2-ppg-boot): Check and create dest dir if necessary. (m2): Ditto. (m2/gm2-ppg-boot): Ditto. (m2/gm2-pg-boot): Ditto. (m2/gm2-auto): Ditto. (m2/gm2-pg-boot): Ditto. (m2/gm2-pge-boot): Ditto. ($(objdir)/plugin): Ditto. ($(objdir)/m2/mc-boot-ch): Ditto. ($(objdir)/m2/mc-boot-gen): Ditto. (m2/boot-bin): Ditto. (m2/mc): Ditto. (m2/mc-obj): Ditto. ($(objdir)/m2/gm2-ppg-boot): Ditto. ($(objdir)/m2/gm2-pg-boot): Ditto. ($(objdir)/m2/gm2-pge-boot): Ditto. (m2/mc-boot-gen): Ditto. (m2/m2obj3): Ditto. (m2/gm2-libs-paranoid): Ditto. (m2/gm2-compiler-paranoid): Ditto. (m2/gm2-libs-paranoid): Ditto. (m2/gm2-compiler-paranoid): Ditto. (m2/gm2-libs-paranoid): Ditto. (m2/gm2-compiler-paranoid): Ditto. * config-lang.in (m2/gm2-compiler-boot): Remove mkdir. (m2/gm2-libs-boot): Ditto. (m2/gm2-ici-boot): Ditto. (m2/gm2-libiberty): Ditto. (m2/gm2-gcc): Ditto. (m2/gm2-compiler): Ditto. (m2/gm2-libs): Ditto. (m2/gm2-libs-iso): Ditto. (m2/gm2-compiler-paranoid): Ditto. (m2/gm2-libs-paranoid): Ditto. (m2/gm2-compiler-verify): Ditto. (m2/boot-bin): Ditto. (m2/gm2-libs-pim): Ditto. (m2/gm2-libs-coroutines): Ditto. (m2/gm2-libs-min): Ditto. (m2/pge-boot): Ditto. (plugin): Ditto. (stage1/m2): Ditto. (stage2/m2): Ditto. (stage3/m2): Ditto. (stage4/m2): Ditto. (m2/gm2-auto): Ditto. (m2/gm2-pg-boot): Ditto. (m2/gm2-pge-boot): Ditto. (m2/gm2-ppg-boot): Ditto. (m2/mc-boot): Ditto. (m2/mc-boot-ch): Ditto. (m2/mc-boot-gen): Ditto. 2023-01-09 Gaius Mulley * Make-lang.in (m2/pge-boot/%.o): Add m2/gm2config.h. * gm2-libs/config-host: Regenerate. 2023-01-07 Iain Sandoe * gm2-libs-min/libc.c (abort): Update declaration to match the expected form, add no-return attribute. (exit): Add no-return attribute. 2023-01-05 Iain Sandoe PR modula2/107631 * gm2-gcc/m2builtins.cc: Remove scalb, scalbf, scalbl, significand, significandf, significandl. * gm2-libs/Builtins.def (significand): Likewise. * gm2-libs/Builtins.mod: Likewise. * target-independent/Builtins.texi: Likewise. * gm2-libs-iso/LowLong.mod: Implement fraction with scalbn*() and ilogb*(). * gm2-libs-iso/LowReal.mod: Likewise. * gm2-libs-iso/LowShort.mod: Likewise. 2023-01-05 Gaius Mulley * gm2-libs-min/M2RTS.def (ConstructModules): New procedure declaration. (DeconstructModules): New procedure declaration. * gm2-libs-min/M2RTS.mod (ConstructModules): New procedure dummy implementation. (DeconstructModules): New procedure dummy implementation. 2023-01-05 Iain Sandoe * gm2spec.cc (lang_specific_driver): Handle static-libgm2. * lang.opt: Add static-libgm2. 2023-01-05 Iain Sandoe * gm2spec.cc (lang_specific_driver): Pass -static-libstdc++ on to the target driver if the linker does not support Bstatic/dynamic. 2023-01-04 Iain Sandoe PR modula2/108183 * gm2-libs-ch/UnixArgs.cc (_M2_UnixArgs_ctor): Rework to use an extern "C" function with 'constructor' attribute. * gm2-libs-ch/dtoa.cc (_M2_dtoa_ctor): Likewise. * gm2-libs-ch/ldtoa.cc (_M2_ldtoa_ctor): Likewise. 2023-01-04 Iain Sandoe PR modula2/108259 * gm2-gcc/m2decl.cc (m2decl_DeclareModuleCtor): Make module registration constructors visible. 2023-01-04 Iain Sandoe * Make-lang.in (dvi, ps, pdf): Build in the gcc/doc directory, also use the configured tools for texi -> dvi and texi -> pdf. 2023-01-01 Iain Sandoe Gaius Mulley PR modula2/108183 * gm2-compiler/M2GCCDeclare.mod: Module registration constructors are externs to the builder of m2_link. 2022-12-31 Rainer Orth Iain Sandoe PR modula2/107612 * Make-lang.in (soext): Use .dylib for Darwin. (PLUGINLDFLAGS): Use dynmic lookup, set the plugin name, and append -nodefaultlibs to suppress the linking of libstdc++. Use INCINTL in compile lines for the plugin. 2022-12-21 Jakub Jelinek PR modula2/108153 * gm2-gcc/m2linemap.def (location_t): Use CARDINAL instead of INTEGER. 2022-12-19 Jakub Jelinek * gm2-gcc/m2linemap.cc (m2linemap_ErrorAt, m2linemap_ErrorAtf, m2linemap_WarningAtf, m2linemap_NoteAtf, m2linemap_internal_error): Call functions with "%s", message rather than just message, so that % chars in message aren't treated as format specifiers. 2022-12-19 Jakub Jelinek PR modula2/108147 * gm2-gcc/m2linemap.def (ErrorAtf, WarningAtf, NoteAtf): Comment out prototypes with varargs. * gm2-gcc/m2linemap.h (m2linemap_ErrorAtf, m2linemap_WarningAtf, m2linemap_NoteAtf): No longer varargs. * gm2-gcc/m2linemap.cc (m2linemap_ErrorAtf): Turned into a non-varargs wrapper around ... (m2linemap_ErrorAtf_1): ... this. New static function. (m2linemap_WarningAtf): Turned into a non-varargs wrapper around ... (m2linemap_WarningAtf_1): ... this. New static function. (m2linemap_NoteAtf): Turned into a non-varargs wrapper around ... (m2linemap_NoteAtf_1): ... this. New static function. 2022-12-15 Gaius Mulley * configure.ac: Stop probing for realpath. * tools-src/calcpath: Break dependency on realpath, cut and echo. * configure: Rebuilt. 2022-12-15 Gaius Mulley * gm2config.h.in: Rebuilt. 2022-12-14 Gaius Mulley * COPYING.FDL: New file. * COPYING.RUNTIME: New file. * COPYING3: New file. * COPYING3.LIB: New file. * Make-lang.in: New file. * Make-maintainer.in: New file. * NEWS: New file. * README: New file. * config-lang.in: New file. * config-make.in: New file. * configure.ac: New file. * gm2-compiler/CLexBuf.def: New file. * gm2-compiler/CLexBuf.mod: New file. * gm2-compiler/FifoQueue.def: New file. * gm2-compiler/FifoQueue.mod: New file. * gm2-compiler/Lists.def: New file. * gm2-compiler/Lists.mod: New file. * gm2-compiler/M2ALU.def: New file. * gm2-compiler/M2ALU.mod: New file. * gm2-compiler/M2AsmUtil.def: New file. * gm2-compiler/M2AsmUtil.mod: New file. * gm2-compiler/M2Base.def: New file. * gm2-compiler/M2Base.mod: New file. * gm2-compiler/M2BasicBlock.def: New file. * gm2-compiler/M2BasicBlock.mod: New file. * gm2-compiler/M2Batch.def: New file. * gm2-compiler/M2Batch.mod: New file. * gm2-compiler/M2Bitset.def: New file. * gm2-compiler/M2Bitset.mod: New file. * gm2-compiler/M2CaseList.def: New file. * gm2-compiler/M2CaseList.mod: New file. * gm2-compiler/M2Check.def: New file. * gm2-compiler/M2Check.mod: New file. * gm2-compiler/M2Code.def: New file. * gm2-compiler/M2Code.mod: New file. * gm2-compiler/M2ColorString.def: New file. * gm2-compiler/M2ColorString.mod: New file. * gm2-compiler/M2Comp.def: New file. * gm2-compiler/M2Comp.mod: New file. * gm2-compiler/M2Const.def: New file. * gm2-compiler/M2Const.mod: New file. * gm2-compiler/M2Debug.def: New file. * gm2-compiler/M2Debug.mod: New file. * gm2-compiler/M2DebugStack.def: New file. * gm2-compiler/M2DebugStack.mod: New file. * gm2-compiler/M2Defaults.def: New file. * gm2-compiler/M2Defaults.mod: New file. * gm2-compiler/M2DriverOptions.def: New file. * gm2-compiler/M2DriverOptions.mod: New file. * gm2-compiler/M2Emit.def: New file. * gm2-compiler/M2Emit.mod: New file. * gm2-compiler/M2Error.def: New file. * gm2-compiler/M2Error.mod: New file. * gm2-compiler/M2EvalSym.def: New file. * gm2-compiler/M2FileName.def: New file. * gm2-compiler/M2FileName.mod: New file. * gm2-compiler/M2GCCDeclare.def: New file. * gm2-compiler/M2GCCDeclare.mod: New file. * gm2-compiler/M2GenGCC.def: New file. * gm2-compiler/M2GenGCC.mod: New file. * gm2-compiler/M2Graph.def: New file. * gm2-compiler/M2Graph.mod: New file. * gm2-compiler/M2Lex.def: New file. * gm2-compiler/M2Lex.mod: New file. * gm2-compiler/M2LexBuf.def: New file. * gm2-compiler/M2LexBuf.mod: New file. * gm2-compiler/M2MetaError.def: New file. * gm2-compiler/M2MetaError.mod: New file. * gm2-compiler/M2Optimize.def: New file. * gm2-compiler/M2Optimize.mod: New file. * gm2-compiler/M2Options.def: New file. * gm2-compiler/M2Options.mod: New file. * gm2-compiler/M2Pass.def: New file. * gm2-compiler/M2Pass.mod: New file. * gm2-compiler/M2Preprocess.def: New file. * gm2-compiler/M2Preprocess.mod: New file. * gm2-compiler/M2Printf.def: New file. * gm2-compiler/M2Printf.mod: New file. * gm2-compiler/M2Quads.def: New file. * gm2-compiler/M2Quads.mod: New file. * gm2-compiler/M2Quiet.def: New file. * gm2-compiler/M2Quiet.mod: New file. * gm2-compiler/M2Range.def: New file. * gm2-compiler/M2Range.mod: New file. * gm2-compiler/M2Reserved.def: New file. * gm2-compiler/M2Reserved.mod: New file. * gm2-compiler/M2SSA.def: New file. * gm2-compiler/M2SSA.mod: New file. * gm2-compiler/M2Scaffold.def: New file. * gm2-compiler/M2Scaffold.mod: New file. * gm2-compiler/M2Scope.def: New file. * gm2-compiler/M2Scope.mod: New file. * gm2-compiler/M2Search.def: New file. * gm2-compiler/M2Search.mod: New file. * gm2-compiler/M2Size.def: New file. * gm2-compiler/M2Size.mod: New file. * gm2-compiler/M2StackAddress.def: New file. * gm2-compiler/M2StackAddress.mod: New file. * gm2-compiler/M2StackWord.def: New file. * gm2-compiler/M2StackWord.mod: New file. * gm2-compiler/M2Students.def: New file. * gm2-compiler/M2Students.mod: New file. * gm2-compiler/M2Swig.def: New file. * gm2-compiler/M2Swig.mod: New file. * gm2-compiler/M2System.def: New file. * gm2-compiler/M2System.mod: New file. * gm2-compiler/M2Version.def: New file. * gm2-compiler/NameKey.def: New file. * gm2-compiler/NameKey.mod: New file. * gm2-compiler/ObjectFiles.def: New file. * gm2-compiler/ObjectFiles.mod: New file. * gm2-compiler/Output.def: New file. * gm2-compiler/Output.mod: New file. * gm2-compiler/P0SymBuild.def: New file. * gm2-compiler/P0SymBuild.mod: New file. * gm2-compiler/P0SyntaxCheck.bnf: New file. * gm2-compiler/P0SyntaxCheck.def: New file. * gm2-compiler/P1Build.bnf: New file. * gm2-compiler/P1Build.def: New file. * gm2-compiler/P1SymBuild.def: New file. * gm2-compiler/P1SymBuild.mod: New file. * gm2-compiler/P2Build.bnf: New file. * gm2-compiler/P2Build.def: New file. * gm2-compiler/P2SymBuild.def: New file. * gm2-compiler/P2SymBuild.mod: New file. * gm2-compiler/P3Build.bnf: New file. * gm2-compiler/P3Build.def: New file. * gm2-compiler/P3SymBuild.def: New file. * gm2-compiler/P3SymBuild.mod: New file. * gm2-compiler/PCBuild.bnf: New file. * gm2-compiler/PCBuild.def: New file. * gm2-compiler/PCSymBuild.def: New file. * gm2-compiler/PCSymBuild.mod: New file. * gm2-compiler/PHBuild.bnf: New file. * gm2-compiler/PHBuild.def: New file. * gm2-compiler/README: New file. * gm2-compiler/Sets.def: New file. * gm2-compiler/Sets.mod: New file. * gm2-compiler/SymbolConversion.def: New file. * gm2-compiler/SymbolConversion.mod: New file. * gm2-compiler/SymbolKey.def: New file. * gm2-compiler/SymbolKey.mod: New file. * gm2-compiler/SymbolTable.def: New file. * gm2-compiler/SymbolTable.mod: New file. * gm2-compiler/bnflex.def: New file. * gm2-compiler/bnflex.mod: New file. * gm2-compiler/cflex.def: New file. * gm2-compiler/gm2.mod: New file. * gm2-compiler/gm2lcc.mod: New file. * gm2-compiler/gm2lgen.mod: New file. * gm2-compiler/gm2lorder.mod: New file. * gm2-compiler/m2flex.def: New file. * gm2-compiler/ppg.mod: New file. * gm2-gcc/README: New file. * gm2-gcc/dynamicstrings.h: New file. * gm2-gcc/gcc-consolidation.h: New file. * gm2-gcc/init.cc: New file. * gm2-gcc/init.def: New file. * gm2-gcc/init.h: New file. * gm2-gcc/m2assert.cc: New file. * gm2-gcc/m2assert.h: New file. * gm2-gcc/m2block.cc: New file. * gm2-gcc/m2block.def: New file. * gm2-gcc/m2block.h: New file. * gm2-gcc/m2builtins.cc: New file. * gm2-gcc/m2builtins.def: New file. * gm2-gcc/m2builtins.h: New file. * gm2-gcc/m2color.cc: New file. * gm2-gcc/m2color.def: New file. * gm2-gcc/m2color.h: New file. * gm2-gcc/m2configure.cc: New file. * gm2-gcc/m2configure.def: New file. * gm2-gcc/m2configure.h: New file. * gm2-gcc/m2convert.cc: New file. * gm2-gcc/m2convert.def: New file. * gm2-gcc/m2convert.h: New file. * gm2-gcc/m2decl.cc: New file. * gm2-gcc/m2decl.def: New file. * gm2-gcc/m2decl.h: New file. * gm2-gcc/m2except.cc: New file. * gm2-gcc/m2except.def: New file. * gm2-gcc/m2except.h: New file. * gm2-gcc/m2expr.cc: New file. * gm2-gcc/m2expr.def: New file. * gm2-gcc/m2expr.h: New file. * gm2-gcc/m2linemap.cc: New file. * gm2-gcc/m2linemap.def: New file. * gm2-gcc/m2linemap.h: New file. * gm2-gcc/m2misc.cc: New file. * gm2-gcc/m2misc.def: New file. * gm2-gcc/m2misc.h: New file. * gm2-gcc/m2options.h: New file. * gm2-gcc/m2range.h: New file. * gm2-gcc/m2search.h: New file. * gm2-gcc/m2statement.cc: New file. * gm2-gcc/m2statement.def: New file. * gm2-gcc/m2statement.h: New file. * gm2-gcc/m2top.cc: New file. * gm2-gcc/m2top.def: New file. * gm2-gcc/m2top.h: New file. * gm2-gcc/m2tree.cc: New file. * gm2-gcc/m2tree.def: New file. * gm2-gcc/m2tree.h: New file. * gm2-gcc/m2treelib.cc: New file. * gm2-gcc/m2treelib.def: New file. * gm2-gcc/m2treelib.h: New file. * gm2-gcc/m2type.cc: New file. * gm2-gcc/m2type.def: New file. * gm2-gcc/m2type.h: New file. * gm2-gcc/rtegraph.cc: New file. * gm2-gcc/rtegraph.h: New file. * gm2-ici/M2Emit.mod: New file. * gm2-ici/README: New file. * gm2-ici/m2linemap.c: New file. * gm2-internals.texi: New file. * gm2-lang.cc: New file. * gm2-lang.h: New file. * gm2-libiberty/README: New file. * gm2-libiberty/choosetemp.def: New file. * gm2-libiberty/pexecute.def: New file. * gm2-libs-ch/M2LINK.c: New file. * gm2-libs-ch/README: New file. * gm2-libs-ch/RTcodummy.c: New file. * gm2-libs-ch/RTintdummy.c: New file. * gm2-libs-ch/Selective.c: New file. * gm2-libs-ch/SysExceptions.c: New file. * gm2-libs-ch/UnixArgs.cc: New file. * gm2-libs-ch/cgetopt.c: New file. * gm2-libs-ch/choosetemp.c: New file. * gm2-libs-ch/dtoa.cc: New file. * gm2-libs-ch/errno.c: New file. * gm2-libs-ch/host.c: New file. * gm2-libs-ch/ldtoa.cc: New file. * gm2-libs-ch/m2rts.h: New file. * gm2-libs-ch/termios.c: New file. * gm2-libs-ch/tools.c: New file. * gm2-libs-ch/wrapc.c: New file. * gm2-libs-ch/xlibc.c: New file. * gm2-libs-coroutines/Debug.def: New file. * gm2-libs-coroutines/Debug.mod: New file. * gm2-libs-coroutines/Executive.def: New file. * gm2-libs-coroutines/Executive.mod: New file. * gm2-libs-coroutines/KeyBoardLEDs.def: New file. * gm2-libs-coroutines/README.texi: New file. * gm2-libs-coroutines/SYSTEM.def: New file. * gm2-libs-coroutines/SYSTEM.mod: New file. * gm2-libs-coroutines/TimerHandler.def: New file. * gm2-libs-coroutines/TimerHandler.mod: New file. * gm2-libs-iso/COROUTINES.def: New file. * gm2-libs-iso/COROUTINES.mod: New file. * gm2-libs-iso/ChanConsts.def: New file. * gm2-libs-iso/ChanConsts.h: New file. * gm2-libs-iso/ChanConsts.mod: New file. * gm2-libs-iso/CharClass.def: New file. * gm2-libs-iso/CharClass.mod: New file. * gm2-libs-iso/ClientSocket.def: New file. * gm2-libs-iso/ClientSocket.mod: New file. * gm2-libs-iso/ComplexMath.def: New file. * gm2-libs-iso/ComplexMath.mod: New file. * gm2-libs-iso/ConvStringLong.def: New file. * gm2-libs-iso/ConvStringLong.mod: New file. * gm2-libs-iso/ConvStringReal.def: New file. * gm2-libs-iso/ConvStringReal.mod: New file. * gm2-libs-iso/ConvTypes.def: New file. * gm2-libs-iso/ConvTypes.mod: New file. * gm2-libs-iso/EXCEPTIONS.def: New file. * gm2-libs-iso/EXCEPTIONS.mod: New file. * gm2-libs-iso/ErrnoCategory.def: New file. * gm2-libs-iso/GeneralUserExceptions.def: New file. * gm2-libs-iso/GeneralUserExceptions.mod: New file. * gm2-libs-iso/IOChan.def: New file. * gm2-libs-iso/IOChan.mod: New file. * gm2-libs-iso/IOConsts.def: New file. * gm2-libs-iso/IOConsts.mod: New file. * gm2-libs-iso/IOLink.def: New file. * gm2-libs-iso/IOLink.mod: New file. * gm2-libs-iso/IOResult.def: New file. * gm2-libs-iso/IOResult.mod: New file. * gm2-libs-iso/LongComplexMath.def: New file. * gm2-libs-iso/LongComplexMath.mod: New file. * gm2-libs-iso/LongConv.def: New file. * gm2-libs-iso/LongConv.mod: New file. * gm2-libs-iso/LongIO.def: New file. * gm2-libs-iso/LongIO.mod: New file. * gm2-libs-iso/LongMath.def: New file. * gm2-libs-iso/LongMath.mod: New file. * gm2-libs-iso/LongStr.def: New file. * gm2-libs-iso/LongStr.mod: New file. * gm2-libs-iso/LongWholeIO.def: New file. * gm2-libs-iso/LongWholeIO.mod: New file. * gm2-libs-iso/LowLong.def: New file. * gm2-libs-iso/LowLong.mod: New file. * gm2-libs-iso/LowReal.def: New file. * gm2-libs-iso/LowReal.mod: New file. * gm2-libs-iso/LowShort.def: New file. * gm2-libs-iso/LowShort.mod: New file. * gm2-libs-iso/M2EXCEPTION.def: New file. * gm2-libs-iso/M2EXCEPTION.mod: New file. * gm2-libs-iso/M2RTS.def: New file. * gm2-libs-iso/M2RTS.mod: New file. * gm2-libs-iso/MemStream.def: New file. * gm2-libs-iso/MemStream.mod: New file. * gm2-libs-iso/Preemptive.def: New file. * gm2-libs-iso/Preemptive.mod: New file. * gm2-libs-iso/Processes.def: New file. * gm2-libs-iso/Processes.mod: New file. * gm2-libs-iso/ProgramArgs.def: New file. * gm2-libs-iso/ProgramArgs.mod: New file. * gm2-libs-iso/README.texi: New file. * gm2-libs-iso/RTco.def: New file. * gm2-libs-iso/RTdata.def: New file. * gm2-libs-iso/RTdata.mod: New file. * gm2-libs-iso/RTentity.def: New file. * gm2-libs-iso/RTentity.mod: New file. * gm2-libs-iso/RTfio.def: New file. * gm2-libs-iso/RTfio.mod: New file. * gm2-libs-iso/RTgen.def: New file. * gm2-libs-iso/RTgen.mod: New file. * gm2-libs-iso/RTgenif.def: New file. * gm2-libs-iso/RTgenif.mod: New file. * gm2-libs-iso/RTio.def: New file. * gm2-libs-iso/RTio.mod: New file. * gm2-libs-iso/RandomNumber.def: New file. * gm2-libs-iso/RandomNumber.mod: New file. * gm2-libs-iso/RawIO.def: New file. * gm2-libs-iso/RawIO.mod: New file. * gm2-libs-iso/RealConv.def: New file. * gm2-libs-iso/RealConv.mod: New file. * gm2-libs-iso/RealIO.def: New file. * gm2-libs-iso/RealIO.mod: New file. * gm2-libs-iso/RealMath.def: New file. * gm2-libs-iso/RealMath.mod: New file. * gm2-libs-iso/RealStr.def: New file. * gm2-libs-iso/RealStr.mod: New file. * gm2-libs-iso/RndFile.def: New file. * gm2-libs-iso/RndFile.mod: New file. * gm2-libs-iso/SIOResult.def: New file. * gm2-libs-iso/SIOResult.mod: New file. * gm2-libs-iso/SLongIO.def: New file. * gm2-libs-iso/SLongIO.mod: New file. * gm2-libs-iso/SLongWholeIO.def: New file. * gm2-libs-iso/SLongWholeIO.mod: New file. * gm2-libs-iso/SRawIO.def: New file. * gm2-libs-iso/SRawIO.mod: New file. * gm2-libs-iso/SRealIO.def: New file. * gm2-libs-iso/SRealIO.mod: New file. * gm2-libs-iso/SShortIO.def: New file. * gm2-libs-iso/SShortIO.mod: New file. * gm2-libs-iso/SShortWholeIO.def: New file. * gm2-libs-iso/SShortWholeIO.mod: New file. * gm2-libs-iso/STextIO.def: New file. * gm2-libs-iso/STextIO.mod: New file. * gm2-libs-iso/SWholeIO.def: New file. * gm2-libs-iso/SWholeIO.mod: New file. * gm2-libs-iso/SYSTEM.def: New file. * gm2-libs-iso/SYSTEM.mod: New file. * gm2-libs-iso/Semaphores.def: New file. * gm2-libs-iso/Semaphores.mod: New file. * gm2-libs-iso/SeqFile.def: New file. * gm2-libs-iso/SeqFile.mod: New file. * gm2-libs-iso/ShortComplexMath.def: New file. * gm2-libs-iso/ShortComplexMath.mod: New file. * gm2-libs-iso/ShortIO.def: New file. * gm2-libs-iso/ShortIO.mod: New file. * gm2-libs-iso/ShortWholeIO.def: New file. * gm2-libs-iso/ShortWholeIO.mod: New file. * gm2-libs-iso/SimpleCipher.def: New file. * gm2-libs-iso/SimpleCipher.mod: New file. * gm2-libs-iso/StdChans.def: New file. * gm2-libs-iso/StdChans.mod: New file. * gm2-libs-iso/Storage.def: New file. * gm2-libs-iso/Storage.mod: New file. * gm2-libs-iso/StreamFile.def: New file. * gm2-libs-iso/StreamFile.mod: New file. * gm2-libs-iso/StringChan.def: New file. * gm2-libs-iso/StringChan.mod: New file. * gm2-libs-iso/Strings.def: New file. * gm2-libs-iso/Strings.mod: New file. * gm2-libs-iso/SysClock.def: New file. * gm2-libs-iso/SysClock.mod: New file. * gm2-libs-iso/TERMINATION.def: New file. * gm2-libs-iso/TERMINATION.mod: New file. * gm2-libs-iso/TermFile.def: New file. * gm2-libs-iso/TermFile.mod: New file. * gm2-libs-iso/TextIO.def: New file. * gm2-libs-iso/TextIO.mod: New file. * gm2-libs-iso/WholeConv.def: New file. * gm2-libs-iso/WholeConv.mod: New file. * gm2-libs-iso/WholeIO.def: New file. * gm2-libs-iso/WholeIO.mod: New file. * gm2-libs-iso/WholeStr.def: New file. * gm2-libs-iso/WholeStr.mod: New file. * gm2-libs-iso/wrapsock.c: New file. * gm2-libs-iso/wrapsock.def: New file. * gm2-libs-iso/wraptime.c: New file. * gm2-libs-iso/wraptime.def: New file. * gm2-libs-min/M2RTS.def: New file. * gm2-libs-min/M2RTS.mod: New file. * gm2-libs-min/SYSTEM.def: New file. * gm2-libs-min/SYSTEM.mod: New file. * gm2-libs-min/libc.c: New file. * gm2-libs-min/libc.def: New file. * gm2-libs-pim/BitBlockOps.def: New file. * gm2-libs-pim/BitBlockOps.mod: New file. * gm2-libs-pim/BitByteOps.def: New file. * gm2-libs-pim/BitByteOps.mod: New file. * gm2-libs-pim/BitWordOps.def: New file. * gm2-libs-pim/BitWordOps.mod: New file. * gm2-libs-pim/BlockOps.def: New file. * gm2-libs-pim/BlockOps.mod: New file. * gm2-libs-pim/Break.c: New file. * gm2-libs-pim/Break.def: New file. * gm2-libs-pim/CardinalIO.def: New file. * gm2-libs-pim/CardinalIO.mod: New file. * gm2-libs-pim/Conversions.def: New file. * gm2-libs-pim/Conversions.mod: New file. * gm2-libs-pim/DebugPMD.def: New file. * gm2-libs-pim/DebugPMD.mod: New file. * gm2-libs-pim/DebugTrace.def: New file. * gm2-libs-pim/DebugTrace.mod: New file. * gm2-libs-pim/Delay.def: New file. * gm2-libs-pim/Delay.mod: New file. * gm2-libs-pim/Display.def: New file. * gm2-libs-pim/Display.mod: New file. * gm2-libs-pim/ErrorCode.def: New file. * gm2-libs-pim/ErrorCode.mod: New file. * gm2-libs-pim/FileSystem.def: New file. * gm2-libs-pim/FileSystem.mod: New file. * gm2-libs-pim/FloatingUtilities.def: New file. * gm2-libs-pim/FloatingUtilities.mod: New file. * gm2-libs-pim/InOut.def: New file. * gm2-libs-pim/InOut.mod: New file. * gm2-libs-pim/Keyboard.def: New file. * gm2-libs-pim/Keyboard.mod: New file. * gm2-libs-pim/LongIO.def: New file. * gm2-libs-pim/LongIO.mod: New file. * gm2-libs-pim/NumberConversion.def: New file. * gm2-libs-pim/NumberConversion.mod: New file. * gm2-libs-pim/README.texi: New file. * gm2-libs-pim/Random.def: New file. * gm2-libs-pim/Random.mod: New file. * gm2-libs-pim/RealConversions.def: New file. * gm2-libs-pim/RealConversions.mod: New file. * gm2-libs-pim/RealInOut.def: New file. * gm2-libs-pim/RealInOut.mod: New file. * gm2-libs-pim/Strings.def: New file. * gm2-libs-pim/Strings.mod: New file. * gm2-libs-pim/Termbase.def: New file. * gm2-libs-pim/Termbase.mod: New file. * gm2-libs-pim/Terminal.def: New file. * gm2-libs-pim/Terminal.mod: New file. * gm2-libs-pim/TimeDate.def: New file. * gm2-libs-pim/TimeDate.mod: New file. * gm2-libs/ASCII.def: New file. * gm2-libs/ASCII.mod: New file. * gm2-libs/Args.def: New file. * gm2-libs/Args.mod: New file. * gm2-libs/Assertion.def: New file. * gm2-libs/Assertion.mod: New file. * gm2-libs/Break.def: New file. * gm2-libs/Break.mod: New file. * gm2-libs/Builtins.def: New file. * gm2-libs/Builtins.mod: New file. * gm2-libs/COROUTINES.def: New file. * gm2-libs/COROUTINES.mod: New file. * gm2-libs/CmdArgs.def: New file. * gm2-libs/CmdArgs.mod: New file. * gm2-libs/Debug.def: New file. * gm2-libs/Debug.mod: New file. * gm2-libs/DynamicStrings.def: New file. * gm2-libs/DynamicStrings.mod: New file. * gm2-libs/Environment.def: New file. * gm2-libs/Environment.mod: New file. * gm2-libs/FIO.def: New file. * gm2-libs/FIO.mod: New file. * gm2-libs/FormatStrings.def: New file. * gm2-libs/FormatStrings.mod: New file. * gm2-libs/FpuIO.def: New file. * gm2-libs/FpuIO.mod: New file. * gm2-libs/GetOpt.def: New file. * gm2-libs/GetOpt.mod: New file. * gm2-libs/IO.def: New file. * gm2-libs/IO.mod: New file. * gm2-libs/Indexing.def: New file. * gm2-libs/Indexing.mod: New file. * gm2-libs/LMathLib0.def: New file. * gm2-libs/LMathLib0.mod: New file. * gm2-libs/LegacyReal.def: New file. * gm2-libs/LegacyReal.mod: New file. * gm2-libs/M2Dependent.def: New file. * gm2-libs/M2Dependent.mod: New file. * gm2-libs/M2EXCEPTION.def: New file. * gm2-libs/M2EXCEPTION.mod: New file. * gm2-libs/M2LINK.def: New file. * gm2-libs/M2RTS.def: New file. * gm2-libs/M2RTS.mod: New file. * gm2-libs/MathLib0.def: New file. * gm2-libs/MathLib0.mod: New file. * gm2-libs/MemUtils.def: New file. * gm2-libs/MemUtils.mod: New file. * gm2-libs/NumberIO.def: New file. * gm2-libs/NumberIO.mod: New file. * gm2-libs/OptLib.def: New file. * gm2-libs/OptLib.mod: New file. * gm2-libs/PushBackInput.def: New file. * gm2-libs/PushBackInput.mod: New file. * gm2-libs/README.texi: New file. * gm2-libs/RTExceptions.def: New file. * gm2-libs/RTExceptions.mod: New file. * gm2-libs/RTint.def: New file. * gm2-libs/RTint.mod: New file. * gm2-libs/SArgs.def: New file. * gm2-libs/SArgs.mod: New file. * gm2-libs/SCmdArgs.def: New file. * gm2-libs/SCmdArgs.mod: New file. * gm2-libs/SEnvironment.def: New file. * gm2-libs/SEnvironment.mod: New file. * gm2-libs/SFIO.def: New file. * gm2-libs/SFIO.mod: New file. * gm2-libs/SMathLib0.def: New file. * gm2-libs/SMathLib0.mod: New file. * gm2-libs/SYSTEM.def: New file. * gm2-libs/SYSTEM.mod: New file. * gm2-libs/Scan.def: New file. * gm2-libs/Scan.mod: New file. * gm2-libs/Selective.def: New file. * gm2-libs/StdIO.def: New file. * gm2-libs/StdIO.mod: New file. * gm2-libs/Storage.def: New file. * gm2-libs/Storage.mod: New file. * gm2-libs/StrCase.def: New file. * gm2-libs/StrCase.mod: New file. * gm2-libs/StrIO.def: New file. * gm2-libs/StrIO.mod: New file. * gm2-libs/StrLib.def: New file. * gm2-libs/StrLib.mod: New file. * gm2-libs/StringConvert.def: New file. * gm2-libs/StringConvert.mod: New file. * gm2-libs/SysExceptions.def: New file. * gm2-libs/SysStorage.def: New file. * gm2-libs/SysStorage.mod: New file. * gm2-libs/TimeString.def: New file. * gm2-libs/TimeString.mod: New file. * gm2-libs/UnixArgs.def: New file. * gm2-libs/cbuiltin.def: New file. * gm2-libs/cgetopt.def: New file. * gm2-libs/config-host: New file. * gm2-libs/config-host.in: New file. * gm2-libs/cxxabi.def: New file. * gm2-libs/dtoa.def: New file. * gm2-libs/errno.def: New file. * gm2-libs/gdbif.def: New file. * gm2-libs/gdbif.mod: New file. * gm2-libs/gm2-libs-host.h.in: New file. * gm2-libs/ldtoa.def: New file. * gm2-libs/libc.def: New file. * gm2-libs/libm.def: New file. * gm2-libs/sckt.def: New file. * gm2-libs/termios.def: New file. * gm2-libs/wrapc.def: New file. * gm2config.h.in: New file. * gm2spec.cc: New file. * gm2version.h: New file. * init/README: New file. * init/mcinit: New file. * init/ppginit: New file. * lang-specs.h: New file. * lang.opt: New file. * m2-tree.def: New file. * m2-tree.h: New file. * m2.flex: New file. * m2pp.cc: New file. * m2pp.h: New file. * mc-boot-ch/GBuiltins.c: New file. * mc-boot-ch/GM2LINK.c: New file. * mc-boot-ch/GRTco.c: New file. * mc-boot-ch/GSYSTEM.c: New file. * mc-boot-ch/GSelective.c: New file. * mc-boot-ch/GSysExceptions.c: New file. * mc-boot-ch/GUnixArgs.cc: New file. * mc-boot-ch/Gabort.c: New file. * mc-boot-ch/Gcbuiltin.c: New file. * mc-boot-ch/Gdtoa.c: New file. * mc-boot-ch/Gerrno.c: New file. * mc-boot-ch/Gldtoa.c: New file. * mc-boot-ch/Glibc.c: New file. * mc-boot-ch/Glibm.c: New file. * mc-boot-ch/Gmcrts.c: New file. * mc-boot-ch/Gmcrts.h: New file. * mc-boot-ch/Gnetwork.h: New file. * mc-boot-ch/Gtermios.cc: New file. * mc-boot-ch/Gwrapc.c: New file. * mc-boot-ch/README: New file. * mc-boot-ch/m2rts.h: New file. * mc-boot-ch/network.c: New file. * mc-boot/GASCII.c: New file. * mc-boot/GASCII.h: New file. * mc-boot/GArgs.c: New file. * mc-boot/GArgs.h: New file. * mc-boot/GAssertion.c: New file. * mc-boot/GAssertion.h: New file. * mc-boot/GBreak.c: New file. * mc-boot/GBreak.h: New file. * mc-boot/GCOROUTINES.h: New file. * mc-boot/GCmdArgs.c: New file. * mc-boot/GCmdArgs.h: New file. * mc-boot/GDebug.c: New file. * mc-boot/GDebug.h: New file. * mc-boot/GDynamicStrings.c: New file. * mc-boot/GDynamicStrings.h: New file. * mc-boot/GEnvironment.c: New file. * mc-boot/GEnvironment.h: New file. * mc-boot/GFIO.c: New file. * mc-boot/GFIO.h: New file. * mc-boot/GFormatStrings.c: New file. * mc-boot/GFormatStrings.h: New file. * mc-boot/GFpuIO.c: New file. * mc-boot/GFpuIO.h: New file. * mc-boot/GIO.c: New file. * mc-boot/GIO.h: New file. * mc-boot/GIndexing.c: New file. * mc-boot/GIndexing.h: New file. * mc-boot/GM2Dependent.c: New file. * mc-boot/GM2Dependent.h: New file. * mc-boot/GM2EXCEPTION.c: New file. * mc-boot/GM2EXCEPTION.h: New file. * mc-boot/GM2LINK.h: New file. * mc-boot/GM2RTS.c: New file. * mc-boot/GM2RTS.h: New file. * mc-boot/GMemUtils.c: New file. * mc-boot/GMemUtils.h: New file. * mc-boot/GNumberIO.c: New file. * mc-boot/GNumberIO.h: New file. * mc-boot/GPushBackInput.c: New file. * mc-boot/GPushBackInput.h: New file. * mc-boot/GRTExceptions.c: New file. * mc-boot/GRTExceptions.h: New file. * mc-boot/GRTco.h: New file. * mc-boot/GRTint.c: New file. * mc-boot/GRTint.h: New file. * mc-boot/GSArgs.c: New file. * mc-boot/GSArgs.h: New file. * mc-boot/GSFIO.c: New file. * mc-boot/GSFIO.h: New file. * mc-boot/GSYSTEM.h: New file. * mc-boot/GSelective.h: New file. * mc-boot/GStdIO.c: New file. * mc-boot/GStdIO.h: New file. * mc-boot/GStorage.c: New file. * mc-boot/GStorage.h: New file. * mc-boot/GStrCase.c: New file. * mc-boot/GStrCase.h: New file. * mc-boot/GStrIO.c: New file. * mc-boot/GStrIO.h: New file. * mc-boot/GStrLib.c: New file. * mc-boot/GStrLib.h: New file. * mc-boot/GStringConvert.c: New file. * mc-boot/GStringConvert.h: New file. * mc-boot/GSysExceptions.h: New file. * mc-boot/GSysStorage.c: New file. * mc-boot/GSysStorage.h: New file. * mc-boot/GTimeString.c: New file. * mc-boot/GTimeString.h: New file. * mc-boot/GUnixArgs.h: New file. * mc-boot/Galists.c: New file. * mc-boot/Galists.h: New file. * mc-boot/Gdecl.c: New file. * mc-boot/Gdecl.h: New file. * mc-boot/Gdtoa.h: New file. * mc-boot/Gerrno.h: New file. * mc-boot/Gkeyc.c: New file. * mc-boot/Gkeyc.h: New file. * mc-boot/Gldtoa.h: New file. * mc-boot/Glibc.h: New file. * mc-boot/Glibm.h: New file. * mc-boot/Glists.c: New file. * mc-boot/Glists.h: New file. * mc-boot/GmcComment.c: New file. * mc-boot/GmcComment.h: New file. * mc-boot/GmcComp.c: New file. * mc-boot/GmcComp.h: New file. * mc-boot/GmcDebug.c: New file. * mc-boot/GmcDebug.h: New file. * mc-boot/GmcError.c: New file. * mc-boot/GmcError.h: New file. * mc-boot/GmcFileName.c: New file. * mc-boot/GmcFileName.h: New file. * mc-boot/GmcLexBuf.c: New file. * mc-boot/GmcLexBuf.h: New file. * mc-boot/GmcMetaError.c: New file. * mc-boot/GmcMetaError.h: New file. * mc-boot/GmcOptions.c: New file. * mc-boot/GmcOptions.h: New file. * mc-boot/GmcPreprocess.c: New file. * mc-boot/GmcPreprocess.h: New file. * mc-boot/GmcPretty.c: New file. * mc-boot/GmcPretty.h: New file. * mc-boot/GmcPrintf.c: New file. * mc-boot/GmcPrintf.h: New file. * mc-boot/GmcQuiet.c: New file. * mc-boot/GmcQuiet.h: New file. * mc-boot/GmcReserved.c: New file. * mc-boot/GmcReserved.h: New file. * mc-boot/GmcSearch.c: New file. * mc-boot/GmcSearch.h: New file. * mc-boot/GmcStack.c: New file. * mc-boot/GmcStack.h: New file. * mc-boot/GmcStream.c: New file. * mc-boot/GmcStream.h: New file. * mc-boot/Gmcflex.h: New file. * mc-boot/Gmcp1.c: New file. * mc-boot/Gmcp1.h: New file. * mc-boot/Gmcp2.c: New file. * mc-boot/Gmcp2.h: New file. * mc-boot/Gmcp3.c: New file. * mc-boot/Gmcp3.h: New file. * mc-boot/Gmcp4.c: New file. * mc-boot/Gmcp4.h: New file. * mc-boot/Gmcp5.c: New file. * mc-boot/Gmcp5.h: New file. * mc-boot/GnameKey.c: New file. * mc-boot/GnameKey.h: New file. * mc-boot/Gpth.h: New file. * mc-boot/GsymbolKey.c: New file. * mc-boot/GsymbolKey.h: New file. * mc-boot/Gtermios.h: New file. * mc-boot/Gtop.c: New file. * mc-boot/Gvarargs.c: New file. * mc-boot/Gvarargs.h: New file. * mc-boot/Gwlists.c: New file. * mc-boot/Gwlists.h: New file. * mc-boot/Gwrapc.h: New file. * mc-boot/README: New file. * mc/Indexing.def: New file. * mc/Indexing.mod: New file. * mc/README: New file. * mc/alists.def: New file. * mc/alists.mod: New file. * mc/decl.def: New file. * mc/decl.mod: New file. * mc/decl.mod-extra: New file. * mc/keyc.def: New file. * mc/keyc.mod: New file. * mc/lists.def: New file. * mc/lists.mod: New file. * mc/m2flex.def: New file. * mc/mc.flex: New file. * mc/mcComment.def: New file. * mc/mcComment.h: New file. * mc/mcComment.mod: New file. * mc/mcComp.def: New file. * mc/mcComp.mod: New file. * mc/mcDebug.def: New file. * mc/mcDebug.mod: New file. * mc/mcError.def: New file. * mc/mcError.mod: New file. * mc/mcFileName.def: New file. * mc/mcFileName.mod: New file. * mc/mcLexBuf.def: New file. * mc/mcLexBuf.h: New file. * mc/mcLexBuf.mod: New file. * mc/mcMetaError.def: New file. * mc/mcMetaError.mod: New file. * mc/mcOptions.def: New file. * mc/mcOptions.mod: New file. * mc/mcPreprocess.def: New file. * mc/mcPreprocess.mod: New file. * mc/mcPretty.def: New file. * mc/mcPretty.mod: New file. * mc/mcPrintf.def: New file. * mc/mcPrintf.mod: New file. * mc/mcQuiet.def: New file. * mc/mcQuiet.mod: New file. * mc/mcReserved.def: New file. * mc/mcReserved.h: New file. * mc/mcReserved.mod: New file. * mc/mcSearch.def: New file. * mc/mcSearch.mod: New file. * mc/mcStack.def: New file. * mc/mcStack.mod: New file. * mc/mcStream.def: New file. * mc/mcStream.mod: New file. * mc/mcflex.def: New file. * mc/mcp1.bnf: New file. * mc/mcp1.def: New file. * mc/mcp2.bnf: New file. * mc/mcp2.def: New file. * mc/mcp3.bnf: New file. * mc/mcp3.def: New file. * mc/mcp4.bnf: New file. * mc/mcp4.def: New file. * mc/mcp5.bnf: New file. * mc/mcp5.def: New file. * mc/nameKey.def: New file. * mc/nameKey.mod: New file. * mc/symbolKey.def: New file. * mc/symbolKey.mod: New file. * mc/top.mod: New file. * mc/varargs.def: New file. * mc/varargs.mod: New file. * mc/wlists.def: New file. * mc/wlists.mod: New file. * pge-boot/GASCII.c: New file. * pge-boot/GASCII.h: New file. * pge-boot/GArgs.c: New file. * pge-boot/GArgs.h: New file. * pge-boot/GAssertion.c: New file. * pge-boot/GAssertion.h: New file. * pge-boot/GBreak.h: New file. * pge-boot/GBuiltins.c: New file. * pge-boot/GCmdArgs.h: New file. * pge-boot/GDebug.c: New file. * pge-boot/GDebug.h: New file. * pge-boot/GDynamicStrings.c: New file. * pge-boot/GDynamicStrings.h: New file. * pge-boot/GEnvironment.h: New file. * pge-boot/GFIO.c: New file. * pge-boot/GFIO.h: New file. * pge-boot/GFormatStrings.h: New file. * pge-boot/GFpuIO.h: New file. * pge-boot/GIO.c: New file. * pge-boot/GIO.h: New file. * pge-boot/GIndexing.c: New file. * pge-boot/GIndexing.h: New file. * pge-boot/GLists.c: New file. * pge-boot/GLists.h: New file. * pge-boot/GM2Dependent.c: New file. * pge-boot/GM2Dependent.h: New file. * pge-boot/GM2EXCEPTION.c: New file. * pge-boot/GM2EXCEPTION.h: New file. * pge-boot/GM2LINK.c: New file. * pge-boot/GM2LINK.h: New file. * pge-boot/GM2RTS.c: New file. * pge-boot/GM2RTS.h: New file. * pge-boot/GNameKey.c: New file. * pge-boot/GNameKey.h: New file. * pge-boot/GNumberIO.c: New file. * pge-boot/GNumberIO.h: New file. * pge-boot/GOutput.c: New file. * pge-boot/GOutput.h: New file. * pge-boot/GPushBackInput.c: New file. * pge-boot/GPushBackInput.h: New file. * pge-boot/GRTExceptions.c: New file. * pge-boot/GRTExceptions.h: New file. * pge-boot/GRTco.c: New file. * pge-boot/GSArgs.h: New file. * pge-boot/GSEnvironment.h: New file. * pge-boot/GSFIO.c: New file. * pge-boot/GSFIO.h: New file. * pge-boot/GSYSTEM.c: New file. * pge-boot/GSYSTEM.h: New file. * pge-boot/GScan.h: New file. * pge-boot/GSelective.c: New file. * pge-boot/GStdIO.c: New file. * pge-boot/GStdIO.h: New file. * pge-boot/GStorage.c: New file. * pge-boot/GStorage.h: New file. * pge-boot/GStrCase.c: New file. * pge-boot/GStrCase.h: New file. * pge-boot/GStrIO.c: New file. * pge-boot/GStrIO.h: New file. * pge-boot/GStrLib.c: New file. * pge-boot/GStrLib.h: New file. * pge-boot/GStringConvert.h: New file. * pge-boot/GSymbolKey.c: New file. * pge-boot/GSymbolKey.h: New file. * pge-boot/GSysExceptions.c: New file. * pge-boot/GSysExceptions.h: New file. * pge-boot/GSysStorage.c: New file. * pge-boot/GSysStorage.h: New file. * pge-boot/GTimeString.h: New file. * pge-boot/GUnixArgs.cc: New file. * pge-boot/GUnixArgs.h: New file. * pge-boot/Gabort.c: New file. * pge-boot/Gbnflex.c: New file. * pge-boot/Gbnflex.h: New file. * pge-boot/Gcbuiltin.c: New file. * pge-boot/Gdtoa.c: New file. * pge-boot/Gdtoa.h: New file. * pge-boot/Gerrno.c: New file. * pge-boot/Gerrno.h: New file. * pge-boot/Gldtoa.c: New file. * pge-boot/Gldtoa.h: New file. * pge-boot/Glibc.c: New file. * pge-boot/Glibc.h: New file. * pge-boot/Glibm.c: New file. * pge-boot/Glibm.h: New file. * pge-boot/Gmcrts.c: New file. * pge-boot/Gmcrts.h: New file. * pge-boot/Gnetwork.h: New file. * pge-boot/Gpge.c: New file. * pge-boot/Gtermios.cc: New file. * pge-boot/Gtermios.h: New file. * pge-boot/Gwrapc.c: New file. * pge-boot/Gwrapc.h: New file. * pge-boot/README: New file. * pge-boot/m2rts.h: New file. * pge-boot/main.c: New file. * pge-boot/network.c: New file. * plugin/README: New file. * plugin/m2rte.cc: New file. * tools-src/README: New file. * tools-src/boilerplate.py: New file. * tools-src/buildpg: New file. * tools-src/calcpath: New file. * tools-src/def2doc.py: New file. * tools-src/makeSystem: New file. * tools-src/mklink.c: New file. * tools-src/tidydates.py: New file. * images/LICENSE.IMG: New file. * images/gnupng: New file. * images/gnu.eps: New file. * version.c: New file. * configure: Rebuilt. * target-independent/Builtins.texi: New file. * target-independent/SYSTEM-iso.texi: New file. * target-independent/SYSTEM-pim.texi: New file. * target-independent/gm2-libs.texi: New file. * target-independent/readme.txt: New file.