1 2024-01-23 H.J. Lu <hjl.tools@gmail.com>
4 * mc/mc.flex (alloca): Don't redefine.
5 (handleDate): Replace (long *)0 with (time_t *)0 when calling
8 2024-01-19 Gaius Mulley <gaiusmod2@gmail.com>
10 * gm2-compiler/M2BasicBlock.mod (InitBasicBlocks): Rename
11 ForeachScopeBlockDo to ForeachScopeBlockDo3.
12 * gm2-compiler/M2Code.mod: Import ForeachScopeBlockDo2.
13 (OptimizeScopeBlock): Call ForeachScopeBlockDo3 for
14 procedures with three parameters and ForeachScopeBlockDo2
17 * gm2-compiler/M2GCCDeclare.mod (DeclareTypesConstantsProcedures):
18 Rename ForeachScopeBlockDo to ForeachScopeBlockDo3.
19 * gm2-compiler/M2GenGCC.def (ConvertQuadsToTree): Remove Scope
21 * gm2-compiler/M2GenGCC.mod (ConvertQuadsToTree): Remove Scope
23 (MaybeDebugBuiltinMemcpy): Remove parameter tok.
24 (MaybeDebugBuiltinMemset): Remove.
25 (MakeCopyUse): Remove tokenno from call to
26 MaybeDebugBuiltinMemcpy.
27 (PerformFoldBecomes): Remove desloc and exprloc.
28 (checkArrayElements): Remove location. Remove virtpos
29 as a parameter to MaybeDebugBuiltinMemcpy.
30 (NoWalkProcedure): Add attribute unused.
31 (CheckElementSetTypes): Remove parameter p.
32 Remove CurrentQuadToken in call to MaybeDebugBuiltinMemcpy.
33 Remove NoWalkProcedure from call to CheckElementSetTypes.
34 Remove tokenno from call to MaybeDebugBuiltinMemcpy.
35 * gm2-compiler/M2Optimize.mod (RemoveProcedures): Replace
36 two parameter indirect procedure iterator with
38 * gm2-compiler/M2SSA.mod: Remove ForeachScopeBlockDo.
39 * gm2-compiler/M2Scope.def (ForeachScopeBlockDo2): New
41 (ForeachScopeBlockDo): Rename ...
42 (ForeachScopeBlockDo3): ... to this.
43 (ScopeProcedure2): New declaration.
44 * gm2-compiler/M2Scope.mod (ForeachScopeBlockDo2): New
46 (ForeachScopeBlockDo): Rename ...
47 (ForeachScopeBlockDo3): ... to this.
49 2024-01-18 Gaius Mulley <gaiusmod2@gmail.com>
52 * Make-lang.in (host_mc_longreal): Remove.
53 * configure: Regenerate.
54 * configure.ac (M2C_LONGREAL_FLOAT128): Remove.
55 (M2C_LONGREAL_PPC64LE): Remove.
56 * gm2-compiler/M2Options.def (SetIBMLongDouble): New procedure.
57 (GetIBMLongDouble): New procedure function.
58 (SetIEEELongDouble): New procedure.
59 (GetIEEELongDouble): New procedure function.
60 * gm2-compiler/M2Options.mod (SetIBMLongDouble): New procedure.
61 (GetIBMLongDouble): New procedure function.
62 (SetIEEELongDouble): New procedure.
63 (GetIEEELongDouble): New procedure function.
64 (InitializeLongDoubleFlags): New procedure called during
65 module block initialization.
66 * gm2-gcc/m2configure.cc: Remove duplicate includes.
67 (m2configure_M2CLongRealFloat128): Remove.
68 (m2configure_M2CLongRealIBM128): Remove.
69 (m2configure_M2CLongRealLongDouble): Remove.
70 (m2configure_M2CLongRealLongDoublePPC64LE): Remove.
71 (m2configure_TargetIEEEQuadDefault): New function.
72 * gm2-gcc/m2configure.def (M2CLongRealFloat128): Remove.
73 (M2CLongRealIBM128): Remove.
74 (M2CLongRealLongDouble): Remove.
75 (M2CLongRealLongDoublePPC64LE): Remove.
76 (TargetIEEEQuadDefault): New function.
77 * gm2-gcc/m2configure.h (m2configure_M2CLongRealFloat128): Remove.
78 (m2configure_M2CLongRealIBM128): Remove.
79 (m2configure_M2CLongRealLongDouble): Remove.
80 (m2configure_M2CLongRealLongDoublePPC64LE): Remove.
81 (m2configure_TargetIEEEQuadDefault): New function.
82 * gm2-gcc/m2options.h (M2Options_SetIBMLongDouble): New prototype.
83 (M2Options_GetIBMLongDouble): New prototype.
84 (M2Options_SetIEEELongDouble): New prototype.
85 (M2Options_GetIEEELongDouble): New prototype.
86 * gm2-gcc/m2type.cc (build_m2_long_real_node): Re-implement using
87 results of M2Options_GetIBMLongDouble and M2Options_GetIEEELongDouble.
88 * gm2-lang.cc (gm2_langhook_handle_option): Add case
89 OPT_mabi_ibmlongdouble and call M2Options_SetIBMLongDouble.
90 Add case OPT_mabi_ieeelongdouble and call M2Options_SetIEEELongDouble.
91 * gm2config.aci.in: Regenerate.
92 * gm2spec.cc (lang_specific_driver): Remove block defined by
94 Remove case OPT_mabi_ibmlongdouble.
95 Remove case OPT_mabi_ieeelongdouble.
97 2024-01-11 Gaius Mulley <gaiusmod2@gmail.com>
100 * gm2-compiler/M2GenGCC.mod (IsExpressionCompatible): Import.
101 (ExpressionTypeCompatible): Import.
102 (CodeStatement): Remove op1, op2, op3 parameters from CodeSetOr,
103 CodeSetAnd, CodeSetSymmetricDifference, CodeSetLogicalDifference.
104 (checkArrayElements): Rename op1 to des and op3 to expr.
105 Use despos and exprpos instead of CurrentQuadToken.
106 (checkRecordTypes): Rename op1 to des and op2 to expr.
107 Use virtpos instead of CurrentQuadToken.
108 (checkIncorrectMeta): Ditto.
109 (checkBecomes): Rename op1 to des and op3 to expr.
110 Use virtpos instead of CurrentQuadToken.
111 (NoWalkProcedure): New procedure stub.
112 (CheckBinaryExpressionTypes): New procedure function.
113 (CheckElementSetTypes): New procedure function.
114 (CodeBinarySet): Re-write.
115 (FoldBinarySet): Re-write.
116 (CodeSetOr): Remove parameters op1, op2 and op3.
118 (CodeSetLogicalDifference): Ditto.
119 (CodeSetSymmetricDifference): Ditto.
120 (CodeIfIn): Call CheckBinaryExpressionTypes and
121 CheckElementSetTypes.
122 * gm2-compiler/M2Quads.mod (BuildRotateFunction): Correct
123 parameters to MakeVirtualTok to reflect parameter block
126 2024-01-09 Gaius Mulley <gaiusmod2@gmail.com>
129 * gm2-compiler/M2GCCDeclare.mod (Group): New declaration.
130 Import MakeSubrange, MakeConstVar, MakeConstLit and DivTrunc.
131 (FreeGroup): New declaration.
132 (GlobalGroup): New declaration.
133 (ToBeSolvedByQuads): Remove.
134 (NilTypedArrays): Remove.
135 (PartiallyDeclared): Remove.
136 (HeldByAlignment): Remove.
137 (FinishedAlignment): Remove.
139 (DebugSet): Re-format.
140 (DebugNumber): Re-format.
141 (DebugSetNumbers): Reference sets using GlobalGroup.
142 (AddSymToWatch): Re-format.
143 (WatchIncludeList): Reference sets using GlobalGroup.
144 (WatchRemoveList): Reference sets using GlobalGroup.
145 (NewGroup): New procedure.
146 (DisposeGroup): New procedure.
147 (InitGroup): New procedure.
148 (KillGroup): New procedure.
149 (DupGroup): New procedure.
150 (EqualGroup): New procedure.
151 (LookupSet): New procedure.
152 (CanDeclareTypePartially): Reference sets using GlobalGroup.
153 (CompletelyResolved): Reference sets using GlobalGroup.
154 (IsNilTypedArrays): Reference sets using GlobalGroup.
155 (IsFullyDeclared): Reference sets using GlobalGroup.
156 (IsPartiallyDeclared): Reference sets using GlobalGroup.
157 (IsPartiallyOrFullyDeclared): Reference sets using GlobalGroup.
158 (DeclareTypeConstFully): Reference sets using GlobalGroup.
160 (Body): Use bodyt and to lookup the required set.
161 (ForeachTryDeclare): Remove parameter l. Lookup set instead.
162 (DeclareOutstandingTypes): Add new rules setarraynul and setfully.
163 Reference sets using GlobalGroup.
164 (ActivateWatch): New procedure.
165 (DeclareTypesConstantsProceduresInRange): Re-written to check
167 (DeclareTypesConstantsProcedures): Re-written to check
169 (DeclareBoolean): Reference sets using GlobalGroup.
170 (DeclarePackedBoolean): Ditto.
171 (DeclareDefaultConstants): Ditto.
172 (FreeGroup): Initialized.
173 (GlobalGroup): Ditto.
174 * gm2-compiler/Sets.def (EqualSet): New procedure function.
175 Remove export qualified list of identifiers.
176 * gm2-compiler/Sets.mod (EqualSet): New procedure function.
178 2024-01-04 David Malcolm <dmalcolm@redhat.com>
180 * lang.opt.urls: New file, autogenerated by
181 regenerate-opt-urls.py.
183 2023-12-15 Gaius Mulley <gaiusmod2@gmail.com>
186 * gm2-compiler/M2Check.mod (checkConstMeta): New procedure
188 (checkConstEquivalence): New procedure function.
189 (doCheckPair): Add call to checkConstEquivalence.
190 * gm2-compiler/M2GenGCC.mod (ResolveConstantExpressions): Call
191 FoldBecomes with reduced parameters.
192 (FoldBecomes): Re-write.
193 (TryDeclareConst): New procedure.
194 (RemoveQuads): New procedure.
195 (DeclaredOperandsBecomes): New procedure function.
196 (TypeCheckBecomes): New procedure function.
197 (PerformFoldBecomes): New procedure.
198 * gm2-compiler/M2Range.mod (FoldAssignment): Call
199 AssignmentTypeCompatible to check des expr compatibility.
200 * gm2-compiler/M2SymInit.mod (CheckReadBeforeInitQuad): Remove
202 (FilterCheckReadBeforeInitQuad): Remove parameter lst.
203 (CheckReadBeforeInitFirstBasicBlock): Remove parameter lst.
204 Call FilterCheckReadBeforeInitQuad without lst.
206 2023-12-13 Gaius Mulley <gaiusmod2@gmail.com>
209 * gm2-libs-iso/ConvStringShort.def: New file.
210 * gm2-libs-iso/ConvStringShort.mod: New file.
211 * gm2-libs-iso/ShortConv.def: New file.
212 * gm2-libs-iso/ShortConv.mod: New file.
213 * gm2-libs-iso/ShortMath.def: New file.
214 * gm2-libs-iso/ShortMath.mod: New file.
215 * gm2-libs-iso/ShortStr.def: New file.
216 * gm2-libs-iso/ShortStr.mod: New file.
218 2023-12-12 Gaius Mulley <gaiusmod2@gmail.com>
221 * gm2-libs-coroutines/SYSTEM.mod: Remove redundant import of memcpy.
222 * gm2-libs-iso/ClientSocket.mod: Remove redundant import of IOConsts.
223 * gm2-libs-iso/IOChan.mod: Remove redundant import of IOConsts.
224 * gm2-libs-iso/IOLink.mod: Remove redundant import of IOChan and SYSTEM.
225 * gm2-libs-iso/IOResult.mod: Remove redundant import of IOChan.
226 * gm2-libs-iso/LongIO.mod: Remove redundant import of writeString.
227 * gm2-libs-iso/LongWholeIO.mod: Remove redundant import of IOChan.
228 * gm2-libs-iso/M2RTS.mod: Remove redundant import of ADDRESS.
229 * gm2-libs-iso/MemStream.mod: Remove redundant import of ADDRESS.
230 * gm2-libs-iso/RTdata.mod: Remove redundant import of DeviceTablePtr.
231 * gm2-libs-iso/RTfio.mod: Remove redundant import of DeviceTablePtr.
232 * gm2-libs-iso/RTgen.mod: Remove redundant import of DeviceTablePtr.
233 * gm2-libs-iso/RealIO.mod: Remove redundant import of writeString.
234 * gm2-libs-iso/RndFile.mod: Remove redundant import of SYSTEM.
235 * gm2-libs-iso/SYSTEM.mod: Remove redundant import of memcpy.
236 * gm2-libs-iso/ShortWholeIO.mod: Remove redundant import of IOConsts.
237 * gm2-libs-iso/TextIO.mod: Remove redundant import of IOChan.
238 * gm2-libs-iso/TextUtil.mod: Remove redundant import of IOChan.
239 * gm2-libs-iso/WholeIO.mod: Remove redundant import of IOChan.
240 * gm2-libs-log/BitByteOps.mod: Remove redundant import of BYTE.
241 * gm2-libs-log/FileSystem.mod: Remove redundant import of BYTE and ADDRESS.
242 * gm2-libs-log/InOut.mod: Remove redundant import of String.
243 * gm2-libs-log/RealConversions.mod: Remove redundant import of StringToLongreal.
244 * gm2-libs/FIO.mod: Remove redundant import of SIZE.
245 * gm2-libs/FormatStrings.mod: Remove redundant import of String
247 * gm2-libs/IO.mod: Remove redundant import of SIZE.
248 * gm2-libs/Indexing.mod: Remove redundant import of ADDRESS.
249 * gm2-libs/M2Dependent.mod: Remove redundant import of SIZE.
250 * gm2-libs/M2RTS.mod: Remove redundant import of ADDRESS.
251 * gm2-libs/OptLib.mod: Remove redundant import of DynamicStrings.
252 * gm2-libs/SYSTEM.mod: Remove redundant import of memcpy.
253 * gm2-libs/StringConvert.mod: Remove redundant import of String.
255 2023-12-07 Gaius Mulley <gaiusmod2@gmail.com>
258 * gm2-compiler/M2Base.mod (Ass): Extend array to include proc row
259 and column. Allow PIM to assign cardinal variables to address
263 * gm2-compiler/M2Check.mod (getSType): New procedure function.
264 Replace all occurances of GetSType with getSType.
265 * gm2-compiler/M2GenGCC.mod (CodeParam): Rewrite format specifier
267 * gm2-compiler/M2Quads.mod (CheckProcTypeAndProcedure): Add tokno
269 * gm2-compiler/M2Range.def (InitTypesParameterCheck): Add tokno
271 (InitParameterRangeCheck): Add tokno parameter.
272 Remove EXPORT QUALIFIED list.
273 (InitParameterRangeCheck): Add tokno parameter.
274 * gm2-compiler/M2Range.mod (InitTypesParameterCheck): Add tokno
275 parameter and pass tokno to PutRangeParam.
276 (InitParameterRangeCheck): Add tokno parameter and pass tokno to
278 (PutRangeParam): Add tokno parameter and assign to tokenNo.
279 (FoldTypeParam): Rewrite format string.
281 2023-12-06 Thomas Schwinge <thomas@codesourcery.com>
283 * lang.opt (-isysroot): New.
285 2023-12-05 Gaius Mulley <gaiusmod2@gmail.com>
288 * gm2-compiler/M2Quads.mod (BuildReFunction): Use
289 GetDType to retrieve the type of the operand when
290 converting the complex type to its scalar equivalent.
291 (BuildImFunction): Use GetDType to retrieve the type of the
292 operand when converting the complex type to its scalar
295 2023-12-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
297 * mc/mc.flex [__GNUC__]: Define alloca as __builtin_alloca.
298 (handleDate): Use strchr instead of index.
300 2023-12-04 Gaius Mulley <gaiusmod2@gmail.com>
303 * tools-src/makeSystem: Change all occurrences of -c to -S.
305 2023-11-01 Gaius Mulley <gaiusmod2@gmail.com>
308 * gm2-compiler/SymbolTable.mod (OverflowZType): Import from m2expr.
309 (ConstantStringExceedsZType): Remove import.
310 (GetConstLitType): Replace ConstantStringExceedsZType with OverflowZType.
311 * gm2-gcc/m2decl.cc (m2decl_ConstantStringExceedsZType): Remove.
312 (m2decl_BuildConstLiteralNumber): Re-write.
313 * gm2-gcc/m2decl.def (ConstantStringExceedsZType): Remove.
314 * gm2-gcc/m2decl.h (m2decl_ConstantStringExceedsZType): Remove.
315 * gm2-gcc/m2expr.cc (m2expr_StrToWideInt): Rewrite to check overflow.
316 (m2expr_OverflowZType): New function.
317 (ToWideInt): New function.
318 * gm2-gcc/m2expr.def (OverflowZType): New procedure function declaration.
319 * gm2-gcc/m2expr.h (m2expr_OverflowZType): New prototype.
321 2023-10-27 Gaius Mulley <gaiusmod2@gmail.com>
324 * gm2-libs-ch/cgetopt.c (cgetopt_cgetopt_long): Re-format.
325 (cgetopt_cgetopt_long_only): Re-format.
326 (cgetopt_SetOption): Re-format and assign flag to NULL
327 if name is also NULL.
328 * gm2-libs/GetOpt.def (AddLongOption): Add index parameter
329 and change flag to be a VAR parameter rather than a pointer.
330 (GetOptLong): Re-format.
331 (GetOpt): Correct comment.
332 * gm2-libs/GetOpt.mod: Re-write to rely on cgetopt rather
333 than implement long option creation in GetOpt.
334 * gm2-libs/cgetopt.def (SetOption): has_arg type is INTEGER.
336 2023-10-25 Gaius Mulley <gaiusmod2@gmail.com>
339 * gm2-gcc/m2builtins.cc (gm2_isnan_node): New tree.
340 (DoBuiltinIsnan): New function.
341 (m2builtins_BuiltInIsnan): New function.
342 (m2builtins_init): Initialize gm2_isnan_node.
343 (list_of_builtins): Add define for __builtin_isnan.
344 * gm2-libs-ch/wrapc.c (wrapc_isnan): New function.
345 (wrapc_isnanf): New function.
346 (wrapc_isnanl): New function.
347 * gm2-libs/Builtins.def (isnanf): New procedure function.
348 (isnan): New procedure function.
349 (isnanl): New procedure function.
350 * gm2-libs/Builtins.mod:
351 * gm2-libs/wrapc.def (isnan): New function.
352 (isnanf): New function.
353 (isnanl): New function.
355 2023-10-24 Gaius Mulley <gaiusmod2@gmail.com>
357 * gm2-libs/M2Dependent.mod (InitDependencyList): New
359 (CreateModule): Call InitDependencyList to initialize
360 all fields of DependencyList.
362 2023-10-24 Gaius Mulley <gaiusmod2@gmail.com>
364 * gm2-libs/M2Dependent.mod (CreateModule): Initialize all
365 dependency fields for DependencyList.
367 2023-10-17 Gaius Mulley <gaiusmod2@gmail.com>
370 * Make-lang.in (CM2DEP): New define conditionally set if
371 ($(CXXDEPMODE),depmode=gcc3).
372 (GM2_1): Use $(CM2DEP).
373 (m2/gm2-gcc/%.o): Ensure $(@D)/$(DEPDIR) is created.
374 Add $(CM2DEP) to the $(COMPILER) command and use $(POSTCOMPILE).
375 (m2/gm2-gcc/m2configure.o): Ditto.
376 (m2/gm2-lang.o): Ditto.
378 (m2/gm2-gcc/rtegraph.o): Ditto.
379 (m2/mc-boot/$(SRC_PREFIX)%.o): Ditto.
380 (m2/mc-boot-ch/$(SRC_PREFIX)%.o): Ditto.
381 (m2/mc-boot-ch/$(SRC_PREFIX)%.o): Ditto.
382 (m2/mc-boot/main.o): Ditto.
384 (m2/gm2-libs-boot/M2RTS.o): Ditto.
385 (m2/gm2-libs-boot/%.o): Ditto.
386 (m2/gm2-libs-boot/%.o): Ditto.
387 (m2/gm2-libs-boot/RTcodummy.o): Ditto.
388 (m2/gm2-libs-boot/RTintdummy.o): Ditto.
389 (m2/gm2-libs-boot/wrapc.o): Ditto.
390 (m2/gm2-libs-boot/UnixArgs.o): Ditto.
391 (m2/gm2-libs-boot/choosetemp.o): Ditto.
392 (m2/gm2-libs-boot/errno.o): Ditto.
393 (m2/gm2-libs-boot/dtoa.o): Ditto.
394 (m2/gm2-libs-boot/ldtoa.o): Ditto.
395 (m2/gm2-libs-boot/termios.o): Ditto.
396 (m2/gm2-libs-boot/SysExceptions.o): Ditto.
397 (m2/gm2-libs-boot/SysStorage.o): Ditto.
398 (m2/gm2-compiler-boot/M2GCCDeclare.o): Ditto.
399 (m2/gm2-compiler-boot/M2Error.o): Ditto.
400 (m2/gm2-compiler-boot/%.o): Ditto.
401 (m2/gm2-compiler-boot/%.o): Ditto.
402 (m2/gm2-compiler-boot/m2flex.o): Ditto.
403 (m2/gm2-compiler/%.o): Ditto.
404 (m2/gm2-compiler/m2flex.o): Ditto.
405 (m2/gm2-libs-iso/%.o): Ditto.
406 (m2/gm2-libs/%.o): Ditto.
407 (m2/gm2-libs/%.o): Ditto.
408 (m2/gm2-libs/choosetemp.o): Ditto.
409 (m2/boot-bin/mklink$(exeext)): Ditto.
410 (m2/pge-boot/%.o): Ditto.
411 (m2/pge-boot/%.o): Ditto.
412 (m2/gm2-compiler/%.o): Ensure $(@D)/$(DEPDIR) is created and use
414 (m2/gm2-compiler/%.o): Ditto.
415 (m2/gm2-libs-iso/%.o): Ditto.
416 (m2/gm2-libs/%.o): Ditto.
417 * README: Purge out of date info.
418 * gm2-compiler/M2Comp.mod (MakeSaveTempsFileNameExt): Import.
419 (OnExitDelete): Import.
420 (GetModuleDefImportStatementList): Import.
421 (GetModuleModImportStatementList): Import.
422 (GetImportModule): Import.
423 (IsImportStatement): Import.
425 (GetImportStatementList): Import.
432 (FlushOutErr): Import.
434 (OpenToRead): Import.
435 (OpenToWrite): Import.
440 (GetDepTarget): Import.
446 (GenerateDefDependency): New procedure.
447 (GenerateDependenciesFromImport): New procedure.
448 (GenerateDependenciesFromList): New procedure.
449 (GenerateDependencies): New procedure.
451 (compile): Re-format.
452 (CreateFileStem): New procedure function.
454 (IsLibrary): New procedure function.
455 (IsUnique): New procedure function.
456 (Append): New procedure.
457 (MergeDep): New procedure.
458 (GetRuleTarget): New procedure function.
459 (ReadDepContents): New procedure function.
460 (WriteDep): New procedure.
461 (WritePhonyDep): New procedure.
462 (WriteDepContents): New procedure.
463 (CreateDepFilename): New procedure function.
464 (Pass0CheckDef): New procedure function.
465 (Pass0CheckMod): New procedure function.
467 (DepContent): New variable.
468 (DepOutput): New variable.
469 (BaseName): New procedure function.
470 * gm2-compiler/M2GCCDeclare.mod (PrintTerse): Handle IsImport.
471 Replace IsGnuAsmVolatile with IsGnuAsm.
472 * gm2-compiler/M2Options.def (EXPORT QUALIFIED): Remove list.
473 (SetM): New procedure.
474 (GetM): New procedure function.
475 (SetMM): New procedure.
476 (GetMM): New procedure function.
477 (SetMF): New procedure.
478 (GetMF): New procedure function.
479 (SetPPOnly): New procedure.
480 (GetB): New procedure function.
481 (SetMD): New procedure.
482 (GetMD): New procedure function.
483 (SetMMD): New procedure.
484 (GetMMD): New procedure function.
485 (SetMQ): New procedure.
486 (SetMT): New procedure.
487 (GetMT): New procedure function.
488 (GetDepTarget): New procedure function.
489 (SetMP): New procedure.
490 (GetMP): New procedure function.
491 (SetObj): New procedure.
492 (SetSaveTempsDir): New procedure.
493 * gm2-compiler/M2Options.mod (SetM): New procedure.
494 (GetM): New procedure function.
495 (SetMM): New procedure.
496 (GetMM): New procedure function.
497 (SetMF): New procedure.
498 (GetMF): New procedure function.
499 (SetPPOnly): New procedure.
500 (GetB): New procedure function.
501 (SetMD): New procedure.
502 (GetMD): New procedure function.
503 (SetMMD): New procedure.
504 (GetMMD): New procedure function.
505 (SetMQ): New procedure.
506 (SetMT): New procedure.
507 (GetMT): New procedure function.
508 (GetDepTarget): New procedure function.
509 (SetMP): New procedure.
510 (GetMP): New procedure function.
511 (SetObj): New procedure.
512 (SetSaveTempsDir): New procedure.
513 * gm2-compiler/M2Preprocess.def (PreprocessModule): New parameters
514 topSource and outputDep. Re-write.
515 (MakeSaveTempsFileNameExt): New procedure function.
516 (OnExitDelete): New procedure function.
517 * gm2-compiler/M2Preprocess.mod (GetM): Import.
519 (OnExitDelete): Add debugging message.
520 (RemoveFile): Add debugging message.
522 (BuildCommandLineExecute): New procedure function.
523 * gm2-compiler/M2Search.def (SetDefExtension): Remove unnecessary
525 * gm2-compiler/SymbolTable.mod (GetSymName): Handle ImportSym and
527 * gm2-gcc/m2options.h (M2Options_SetMD): New function.
528 (M2Options_GetMD): New function.
529 (M2Options_SetMMD): New function.
530 (M2Options_GetMMD): New function.
531 (M2Options_SetM): New function.
532 (M2Options_GetM): New function.
533 (M2Options_SetMM): New function.
534 (M2Options_GetMM): New function.
535 (M2Options_GetMQ): New function.
536 (M2Options_SetMF): New function.
537 (M2Options_GetMF): New function.
538 (M2Options_SetMT): New function.
539 (M2Options_SetMP): New function.
540 (M2Options_GetMP): New function.
541 (M2Options_GetDepTarget): New function.
542 * gm2-lang.cc (gm2_langhook_init): Correct comment case.
543 (gm2_langhook_init_options): Add case OPT_M and
545 (gm2_langhook_post_options): Add case OPT_MF, OPT_MT,
547 * lang-specs.h (M2CPP): Pass though MF option.
548 (MDMMD): New define. Add MDMMD to "@modula-2".
550 2023-10-15 Gaius Mulley <gaiusmod2@gmail.com>
552 * Make-lang.in (m2.tags): New rule.
554 2023-10-11 Gaius Mulley <gaiusmod2@gmail.com>
556 * gm2-compiler/M2GCCDeclare.mod (DeclareSubrange): Check
557 the base type of the subrange against the ZTYPE and call
558 DeclareSubrangeNarrow if necessary.
559 (DeclareSubrangeNarrow): New procedure function.
561 2023-10-11 Gaius Mulley <gaiusmod2@gmail.com>
564 * gm2-compiler/M2CaseList.mod (appendTree): Replace
565 InitStringCharStar with InitString.
566 * gm2-compiler/M2GCCDeclare.mod: Import AreConstantsEqual.
567 (DeclareSubrange): Add zero alignment test and call
568 BuildSmallestTypeRange if necessary.
569 (WalkSubrangeDependants): Walk the align expression.
570 (IsSubrangeDependants): Test the align expression.
571 * gm2-compiler/M2Quads.mod (BuildStringAdrParam): Correct end name.
572 * gm2-compiler/P2SymBuild.mod (BuildTypeAlignment): Allow subranges
573 to be zero aligned (packed).
574 * gm2-compiler/SymbolTable.mod (Subrange): Add Align field.
575 (MakeSubrange): Set Align to NulSym.
576 (PutAlignment): Assign Subrange.Align to align.
577 (GetAlignment): Return Subrange.Align.
578 * gm2-gcc/m2expr.cc (noBitsRequired): Rewrite.
579 (calcNbits): Rename ...
580 (m2expr_calcNbits): ... to this and test for negative values.
581 (m2expr_BuildTBitSize): Replace calcNBits with m2expr_calcNbits.
582 * gm2-gcc/m2expr.def (calcNbits): Export.
583 * gm2-gcc/m2expr.h (m2expr_calcNbits): New prototype.
584 * gm2-gcc/m2type.cc (noBitsRequired): Remove.
585 (m2type_BuildSmallestTypeRange): Call m2expr_calcNbits.
586 (m2type_BuildSubrangeType): Create range_type from
587 build_range_type (type, lowval, highval).
589 2023-09-29 Gaius Mulley <gaiusmod2@gmail.com>
591 * gm2-compiler/M2Quads.mod (EndBuildFor): Improve
593 * gm2-libs-iso/SysClock.mod (ExtractDate): Replace
594 testDays with yearOfDays. New local variable monthOfDays.
596 2023-09-26 Gaius Mulley <gaiusmod2@gmail.com>
599 * gm2-compiler/M2GenGCC.mod (IsExportedGcc): Minor spacing changes.
600 (BuildTrashTreeFromInterface): Minor spacing changes.
601 * gm2-compiler/M2Options.mod (GetRuntimeModuleOverride): Call
602 string to generate a nul terminated C style string.
603 * gm2-compiler/M2Quads.mod (BuildStringAdrParam): New procedure.
604 (BuildM2InitFunction): Replace inline parameter generation with
605 calls to BuildStringAdrParam.
607 2023-09-19 Gaius Mulley <gaiusmod2@gmail.com>
609 * Make-lang.in (host_mc_longreal): Detect hosting on powerpc64le
610 and if so use __float128 for longreal in mc.
611 (MC_ARGS): Append host_mc_longreal.
612 * config-make.in (TEST_TARGET_CPU_DEFAULT): New variable.
613 (TEST_HOST_CPU_DEFAULT): New variable.
614 * configure: Regenerate.
615 * configure.ac (M2C_LONGREAL_FLOAT128): New define set if target
617 (M2C_LONGREAL_PPC64LE): New define set if target is powerpc64le.
618 * gm2-compiler/M2GCCDeclare.mod: Correct comment case.
619 * gm2-compiler/M2GenGCC.mod (MaybeDebugBuiltinAlloca): Call
620 SetLastFunction for the builtin function call.
621 (MaybeDebugBuiltinMemcpy): Call SetLastFunction for the builtin
623 (MaybeDebugBuiltinMemset): New procedure function.
624 (MakeCopyUse): Use GNU formatting.
625 (UseBuiltin): Rewrite to check BuiltinExists.
626 (CodeDirectCall): Rewrite to check BuiltinExists and call
628 (CodeMakeAdr): Re-format.
629 * gm2-compiler/M2Options.def (SetDebugBuiltins): New procedure.
630 * gm2-compiler/M2Options.mod (SetUninitVariableChecking): Allow
631 "cond" to switch UninitVariableConditionalChecking separately.
632 (SetDebugBuiltins): New procedure.
633 * gm2-compiler/M2Quads.def (BuildFunctionCall): Add parameter
635 * gm2-compiler/M2Quads.mod (BuildRealProcedureCall): Add parameter
636 to BuildRealFuncProcCall.
637 (BuildRealFuncProcCall): Add ConstExpr parameter. Pass ConstExpr
638 to BuildFunctionCall.
639 (BuildFunctionCall): Add parameter ConstExpr. Pass ConstExpr to
640 BuildRealFunctionCall.
641 (BuildConstFunctionCall): Add parameter ConstExpr. Pass ConstExpr to
643 (BuildRealFunctionCall): Add parameter ConstExpr. Pass ConstExpr to
644 BuildRealFuncProcCall.
645 * gm2-compiler/P3Build.bnf (SetOrDesignatorOrFunction): Pass FALSE
646 to BuildFunctionCall.
647 (AssignmentOrProcedureCall): Pass FALSE to BuildFunctionCall.
648 * gm2-compiler/SymbolTable.def (IsProcedureBuiltinAvailable): New
650 * gm2-compiler/SymbolTable.mod (CanUseBuiltin): New procedure
652 (IsProcedureBuiltinAvailable): New procedure function.
653 * gm2-gcc/m2builtins.cc (DEBUGGING): Undef.
654 (bf_category): New enum type.
655 (struct builtin_function_entry): New field function_avail.
656 (m2builtins_BuiltInMemCopy): Rename from ...
657 (m2builtins_BuiltinMemCopy): ... this.
658 (DoBuiltinMemSet): New function.
659 (m2builtins_BuiltinMemSet): New function.
660 (do_target_support_exists): New function.
661 (target_support_exists): New function.
662 (m2builtins_BuiltinExists): Return true or false.
663 (m2builtins_BuildBuiltinTree): Rename local variables.
664 Replace long_double_type_node with GetM2LongRealType.
665 (m2builtins_init): Use GetM2LongRealType rather than
666 long_double_type_node.
667 * gm2-gcc/m2builtins.def (BuiltInMemCopy): Rename to ...
668 (BuiltinMemCopy): ... this.
669 (BuiltinMemSet): New procedure function.
670 * gm2-gcc/m2builtins.h (m2builtins_BuiltInMemCopy): Rename to ...
671 (m2builtins_BuiltinMemCopy): ... this.
672 (m2builtins_BuiltinMemSet): New procedure function.
673 * gm2-gcc/m2configure.cc (m2configure_M2CLongRealFloat128): New
675 (m2configure_M2CLongRealIBM128): New procedure function.
676 (m2configure_M2CLongRealLongDouble): New procedure function.
677 (m2configure_M2CLongRealLongDoublePPC64LE): New procedure function.
678 * gm2-gcc/m2configure.def (M2CLongRealFloat128): New procedure function.
679 (M2CLongRealIBM128): New procedure function.
680 (M2CLongRealLongDouble): New procedure function.
681 (M2CLongRealLongDoublePPC64LE): New procedure function.
682 * gm2-gcc/m2configure.h (m2configure_FullPathCPP): New procedure function.
683 (m2configure_M2CLongRealFloat128): New procedure function.
684 (m2configure_M2CLongRealIBM128): New procedure function.
685 (m2configure_M2CLongRealLongDouble): New procedure function.
686 (m2configure_M2CLongRealLongDoublePPC64LE): New procedure function.
687 * gm2-gcc/m2convert.cc (m2convert_BuildConvert): Use convert_loc.
688 * gm2-gcc/m2options.h (M2Options_SetDebugBuiltins): New function.
689 * gm2-gcc/m2statement.cc (m2statement_BuildAssignmentTree): Set
691 (m2statement_BuildGoto):Set TREE_USED to true.
692 (m2statement_BuildParam): Set TREE_USED to true.
693 (m2statement_BuildBuiltinCallTree): New function.
694 (m2statement_BuildFunctValue): Set TREE_USED to true.
695 * gm2-gcc/m2statement.def (BuildBuiltinCallTree): New procedure function.
696 * gm2-gcc/m2statement.h (m2statement_BuildBuiltinCallTree): New
698 * gm2-gcc/m2treelib.cc (m2treelib_DoCall0): Remove spacing.
699 (m2treelib_DoCall1): Remove spacing.
700 (m2treelib_DoCall2): Remove spacing.
701 (m2treelib_DoCall3): Remove spacing.
702 (add_stmt): Rename parameter.
703 * gm2-gcc/m2type.cc (build_set_type): Remove spacing.
704 (build_m2_specific_size_type): Remove spacing.
705 (finish_build_pointer_type): Remove spacing.
706 (m2type_BuildVariableArrayAndDeclare): Remove spacing.
707 (build_m2_short_real_node): Remove spacing.
708 (build_m2_real_node): Remove spacing.
709 (build_m2_long_real_node): Use float128_type_node if
710 M2CLongRealFloat128 is set.
711 (build_m2_ztype_node): Remove spacing.
712 (build_m2_long_int_node): Remove spacing.
713 (build_m2_long_card_node): Remove spacing.
714 (build_m2_short_int_node): Remove spacing.
715 (build_m2_short_card_node): Remove spacing.
716 (build_m2_iso_loc_node): Remove spacing.
717 (m2type_SameRealType): New function.
718 (m2type_InitBaseTypes): Create m2_c_type_node using
719 m2_long_complex_type_node.
720 (m2type_SetAlignment): Tidy up comment.
721 * gm2-gcc/m2type.def (SameRealType): New procedure function.
722 * gm2-gcc/m2type.h (m2type_SameRealType): New procedure function.
723 * gm2-lang.cc (gm2_langhook_type_for_mode): Build long complex
724 node from m2 language specific long double node.
725 * gm2-libs-log/RealConversions.mod (IsNan): New procedure
727 (doPowerOfTen): Re-implement.
728 * gm2-libs/Builtins.mod: Add newline.
729 * gm2-libs/DynamicStrings.def (ReplaceChar): New procedure function.
730 * gm2-libs/DynamicStrings.mod (ReplaceChar): New procedure function.
731 * gm2config.aci.in (M2C_LONGREAL_FLOAT128): New config value.
732 (M2C_LONGREAL_PPC64LE): New config value.
733 * gm2spec.cc (lang_specific_driver): New local variable
734 need_default_mabi set to default value depending upon
735 M2C_LONGREAL_PPC64LE and M2C_LONGREAL_FLOAT128.
736 * lang.opt (Wcase-enum): Moved to correct section.
737 * m2pp.cc (m2pp_real_type): New function.
738 (m2pp_type): Call m2pp_real_type.
739 (m2pp_print_mode): New function.
740 (m2pp_simple_type): Call m2pp_simple_type.
741 (m2pp_float): New function.
742 (m2pp_expression): Call m2pp_float.
743 * mc-boot/GDynamicStrings.cc: Rebuild.
744 * mc-boot/GDynamicStrings.h: Rebuild.
745 * mc-boot/GFIO.cc: Rebuild.
746 * mc-boot/GFIO.h: Rebuild.
747 * mc-boot/GIO.cc: Rebuild.
748 * mc-boot/GRTint.cc: Rebuild.
749 * mc-boot/Gdecl.cc: Rebuild.
750 * mc-boot/GmcOptions.cc: Rebuild.
751 * mc-boot/GmcOptions.h: Rebuild.
752 * mc/decl.mod: Rebuild.
753 * mc/mcOptions.def (getCRealType): New procedure function.
754 (getCLongRealType): New procedure function.
755 (getCShortRealType): New procedure function.
756 * mc/mcOptions.mod (getCRealType): New procedure function.
757 (getCLongRealType): New procedure function.
758 (getCShortRealType): New procedure function.
760 2023-09-14 Gaius Mulley <gaiusmod2@gmail.com>
762 * gm2-compiler/M2CaseList.mod (NewRanges): Add block
764 (NewSet): Add block comment.
765 (DisplayRanges): Add block comment.
766 (IncludeElement): Add block comment.
767 (IncludeElements): Add block comment.
768 (appendString): Add block comment.
769 (appendEnum): Add block comment.
770 (appendTree): Add block comment.
771 (SubrangeErrors): Add block comment.
773 2023-09-14 Gaius Mulley <gaiusmod2@gmail.com>
775 * gm2-compiler/M2CaseList.mod (appendString): New procedure.
776 (appendEnum): Re-implement.
777 (NoOfSetElements): New procedure function.
778 (isPrintableChar): New procedure function.
779 (appendTree): New procedure.
780 (SubrangeErrors): New procedure.
781 (EmitMissingRangeErrors): Call SubrangeErrors if appropriate.
782 * gm2-compiler/M2SymInit.mod (SetFieldInitializedNo): Avoid
783 using a temporary variable once.
784 (IsLocalVar): Comment out.
785 (RecordContainsVarient): Remove fieldtype.
786 (GenerateNoteFlow): Remove lst parameter.
787 (CheckDeferredRecordAccess): Remove lst parameter.
788 (CheckUnary): Remove lst parameter. Remove procSym.
789 (CheckBinary): Remove lst parameter. Remove procSym.
790 (CheckIndrX): Remove lst parameter. Remove procSym.
791 (CheckXIndr): Remove bblst and procSym parameters.
792 (CheckRecordField): Remove procSym, op1tok, op2tok and op2.
793 (CheckBecomes): Remove procSym and bblst.
794 (CheckComparison): Remove procSym and bblst.
795 (CheckAddr): Remove procSym parameter.
796 * gm2-gcc/m2expr.cc (m2expr_CSTIntToString): New function.
797 (m2expr_CSTIntToChar): New function.
798 * gm2-gcc/m2expr.def (CSTIntToString): New procedure function
800 (CSTIntToChar): New procedure function declaration.
801 * gm2-gcc/m2expr.h (m2expr_CSTIntToChar): New prototype.
802 (m2expr_CSTIntToString): New prototype.
804 2023-09-13 Gaius Mulley <gaiusmod2@gmail.com>
806 * Make-lang.in (GM2_FLAGS): Add -Wcase-enum.
807 (GM2_ISO_FLAGS): Add -Wcase-enum.
808 * gm2-compiler/M2CaseList.mod (EnumerateErrors): Issue
809 singular or plural start text prior to the enum list.
810 Remove unused parameter tokenno.
811 (EmitMissingRangeErrors): New procedure.
812 (MissingCaseBounds): Call EmitMissingRangeErrors.
813 (MissingCaseStatementBounds): Call EmitMissingRangeErrors.
814 * gm2-libs-iso/TextIO.mod: Fix spacing.
816 2023-09-12 Gaius Mulley <gaiusmod2@gmail.com>
818 * gm2-compiler/M2CaseList.def (PushCase): Rename parameters
819 r to rec and v to va. Add expr parameter.
820 (MissingCaseStatementBounds): New procedure function.
821 * gm2-compiler/M2CaseList.mod (RangePair): Add expression.
822 (PushCase): Rename parameters r to rec and v to va. Add
824 (RemoveRange): New procedure function.
825 (SubBitRange): Detect the case when the range in the set matches
827 (CheckLowHigh): New procedure.
828 (ExcludeCaseRanges): Rename parameter c to cd. Rename local
829 variables q to cl and r to rp.
832 (DoEnumValues): Remove.
833 (IncludeElement): New procedure.
834 (IncludeElements): New procedure.
835 (ErrorRangeEnum): New procedure.
836 (ErrorRange): Remove.
837 (ErrorRanges): Remove.
838 (appendEnum): New procedure.
839 (appendStr): New procedure.
840 (EnumerateErrors): New procedure.
841 (MissingCaseBounds): Re-implement.
842 (InRangeList): Remove.
843 (MissingCaseStatementBounds): New procedure function.
844 (checkTypes): Re-format.
845 (inRange): Re-format.
846 (TypeCaseBounds): Re-format.
847 * gm2-compiler/M2Error.mod (GetAnnounceScope): Add noscope to
849 * gm2-compiler/M2GCCDeclare.mod: Replace ForeachFieldEnumerationDo
850 with ForeachLocalSymDo.
851 * gm2-compiler/M2Options.def (SetCaseEnumChecking): New procedure.
852 (CaseEnumChecking): New variable.
853 * gm2-compiler/M2Options.mod (SetCaseEnumChecking): New procedure.
854 (Module initialization): set CaseEnumChecking to FALSE.
855 * gm2-compiler/M2Quads.def (QuadOperator): Alphabetically ordered.
856 * gm2-compiler/M2Quads.mod (IsBackReferenceConditional): Add else
858 (BuildCaseStart): Pass selector expression to InitCaseBounds.
859 (CheckUninitializedVariablesAreUsed): Remove.
860 (IsInlineWithinBlock): Remove.
861 (AsmStatementsInBlock): Remove.
862 (CheckVariablesInBlock): Remove commented code.
863 (BeginVarient): Pass NulSym to InitCaseBounds.
864 * gm2-compiler/M2Range.mod (FoldCaseBounds): New local variable
865 errorGenerated. Add call to MissingCaseStatementBounds.
866 * gm2-compiler/P3Build.bnf (CaseEndStatement): Call ElseCase.
867 * gm2-compiler/PCSymBuild.mod (InitDesExpr): Add else clause.
868 (InitFunction): Add else clause.
869 (InitConvert): Add else clause.
870 (InitLeaf): Add else clause.
871 (InitBinary): Add else clause.
872 (InitUnary): Add else clause.
873 * gm2-compiler/SymbolTable.def (GetNth): Re-write comment.
874 (ForeachFieldEnumerationDo): Re-write comment stating alphabetical
876 * gm2-compiler/SymbolTable.mod (GetNth): Re-write comment.
877 Add case label for EnumerationSym and call GetItemFromList.
878 (ForeachFieldEnumerationDo): Re-write comment stating alphabetical
880 (SymEnumeration): Add ListOfFields used for declaration order.
881 (MakeEnumeration): Initialize ListOfFields.
882 (PutFieldEnumeration): Include Field in ListOfFields.
883 * gm2-gcc/m2options.h (M2Options_SetCaseEnumChecking): New
885 * gm2-lang.cc (gm2_langhook_handle_option): Add
886 OPT_Wcase_enum case and call M2Options_SetCaseEnumChecking.
887 * lang.opt (Wcase-enum): Add.
889 2023-09-11 Gaius Mulley <gaiusmod2@gmail.com>
892 * gm2-compiler/M2SymInit.mod (CheckReadBeforeInitQuad): Add
893 case labels LogicalDiffOp, DummyOp, OptParamOp and
896 2023-08-20 Gaius Mulley <gaiusmod2@gmail.com>
899 * gm2-libs/Builtins.def (nexttoward): Alter the second
900 parameter to LONGREAL.
901 (nexttowardf): Alter the second parameter to LONGREAL.
902 * gm2-libs/Builtins.mod (nexttoward): Alter the second
903 parameter to LONGREAL.
904 (nexttowardf): Alter the second parameter to LONGREAL.
905 * gm2-libs/cbuiltin.def (nexttoward): Alter the second
906 parameter to LONGREAL.
907 (nexttowardf): Alter the second parameter to LONGREAL.
909 2023-08-13 Iain Sandoe <iain@sandoe.co.uk>
911 * Make-lang.in: Update suffix spellings to use 'soext'.
912 Add libc to the plugin link.
914 2023-08-12 Gaius Mulley <gaiusmod2@gmail.com>
917 * gm2-libs-iso/SysClock.mod (EpochTime): New procedure.
918 (GetClock): Call EpochTime if the C time functions are
920 * gm2-libs-iso/wrapclock.def (istimezone): New function
923 2023-08-12 Gaius Mulley <gaiusmod2@gmail.com>
926 * Make-lang.in (M2RTE_PLUGIN_SO): Assigned to
927 plugin/m2rte$(exeext).so if enable_plugin is yes.
928 (m2.all.cross): Replace plugin/m2rte$(soext) with
930 (m2.all.encap): Replace plugin/m2rte$(soext) with
932 (m2.install-plugin): Add dummy rule when enable_plugin
934 (plugin/m2rte$(exeext).so): Add dummy rule when enable_plugin
936 (m2/stage2/cc1gm2$(exeext)): Replace plugin/m2rte$(soext) with
938 (m2/stage1/cc1gm2$(exeext)): Replace plugin/m2rte$(soext) with
940 * gm2spec.cc (lang_specific_driver): Set need_plugin to false
943 2023-08-09 Gaius Mulley <gaiusmod2@gmail.com>
946 * gm2-libs-iso/SysClock.mod (GetClock): Test GetTimespec
948 (SetClock): Test SetTimespec return value.
949 * gm2-libs-iso/wrapclock.def (GetTimespec): Add integer
951 (SetTimespec): Add integer return type.
953 2023-08-05 Gaius Mulley <gaiusmod2@gmail.com>
956 * gm2-libs-iso/SysClock.mod: Re-implement using wrapclock.
957 * gm2-libs-iso/wrapclock.def: New file.
959 2023-08-01 Gaius Mulley <gaiusmod2@gmail.com>
962 * gm2-compiler/M2Check.mod (checkProcTypeEquivalence): New
964 (checkTypeKindEquivalence): Call checkProcTypeEquivalence
965 if either left or right is a proc type.
966 * gm2-compiler/M2Quads.mod (BuildRelOp): Create
967 combinedTok prior to creating the range check quadruple.
968 Use combinedTok when creating the range check quadruple.
970 2023-08-01 Gaius Mulley <gaiusmod2@gmail.com>
973 * gm2-compiler/M2Quads.mod (BuildDesignatorArray):
974 Rename t as type and d as dim. New variable result.
975 Allow constants of an array type to be indexed.
977 2023-07-25 Gaius Mulley <gaiusmod2@gmail.com>
980 * gm2-compiler/M2GCCDeclare.def (PromoteToCString): New procedure
982 * gm2-compiler/M2GCCDeclare.mod (PromoteToCString): New procedure
984 * gm2-compiler/M2GenGCC.mod (BuildTreeFromInterface): Call
985 skip_const_decl before chaining the parameter value.
986 Use PromoteToCString to ensure the string is nul terminated.
987 (CodeInline): Remove all parameters and replace with quad.
988 Use GetQuadOtok to get operand token numbers.
989 Remove call to DeclareConstant and replace it with PromoteToCString.
990 * gm2-compiler/M2Quads.def (BuildInline): Rename into ...
991 (BuildAsm): ... this.
992 * gm2-compiler/M2Quads.mod: (BuildInline): Rename into ...
993 (BuildAsm): ... this.
994 (BuildAsmElement): Add debugging.
995 * gm2-compiler/P1Build.bnf: Remove import of BuildInline.
996 * gm2-compiler/P2Build.bnf: Remove import of BuildInline.
997 * gm2-compiler/P3Build.bnf: Remove import of BuildInline and
999 * gm2-compiler/PHBuild.bnf: Remove import of BuildInline.
1000 * gm2-libs-iso/SysClock.mod (foo): Remove.
1001 * gm2-libs/FIO.mod (BufferedRead): Rename parameter a to dest.
1002 Rename variable t to src.
1003 * m2pp.cc (pf): Correct block comment.
1004 (pe): Correct block comment.
1005 (m2pp_asm_expr): New function.
1006 (m2pp_statement): Call m2pp_asm_expr.
1008 2023-07-22 Gaius Mulley <gaiusmod2@gmail.com>
1011 * gm2-libs/FIO.def (ReadAny): Correct comment as
1012 HIGH (a) + 1 is number of bytes.
1013 (WriteAny): Correct comment as HIGH (a) + 1 is number of
1015 * gm2-libs/FIO.mod (ReadAny): Correct comment as
1016 HIGH (a) + 1 is number of bytes. Also pass HIGH (a) + 1
1018 (WriteAny): Correct comment as HIGH (a) + 1 is number of
1019 bytes. Also pass HIGH (a) + 1 to BufferedWrite.
1020 (BufferedWrite): Rename parameter a to src, rename variable
1021 t to dest. Correct parameter order to memcpy.
1023 2023-07-20 Gaius Mulley <gaiusmod2@gmail.com>
1025 * gm2-compiler/M2SymInit.mod (IsExempt): Remove parameter exemption.
1026 (CheckIndrX): Call SetupLAlias between lhs and content.
1027 (trashParam): Re-write.
1028 (SetVarLRInitialized): Indicate shadow and heap are initialized.
1029 Call SetupIndr between shadow and heap.
1030 * gm2-compiler/P2SymBuild.mod: Import
1031 PutProcedureParameterHeapVars.
1032 (EndBuildProcedure): Call PutProcedureParameterHeapVars.
1033 * gm2-compiler/SymbolTable.def (GetParameterHeapVar): New
1035 (PutProcedureParameterHeapVars): New procedure function.
1036 * gm2-compiler/SymbolTable.mod (MakeParameterHeapVar): New
1038 (GetParameterHeapVar): New procedure function.
1039 (PuttParameterHeapVar): New procedure function.
1040 (PutProcedureParameterHeapVars): New procedure.
1041 (VarParam): HeapVar new record field.
1042 (PutVarParam): HeapVar assigned to NulSym.
1044 2023-07-19 Gaius Mulley <gaiusmod2@gmail.com>
1047 * Make-lang.in (m2_OBJS): Add m2/gm2-gcc/rtegraph.o and
1048 m2/gm2-compiler-boot/m2flex.o.
1049 (c-family/m2pp.o): Remove.
1050 * Make-maintainer.in (c-family/m2pp.o): Add.
1052 2023-07-19 Gaius Mulley <gaiusmod2@gmail.com>
1054 * gm2-compiler/M2Quads.mod (BuildDifAdrFunction): Removed
1055 unnecessary in error message. Use vartok for location.
1056 (BuildOddFunction): Use optok for location.
1057 (BuildAbsFunction): Use vartok for location. Bugfix set vartok.
1058 (BuildCapFunction): Use optok for location.
1059 (BuildOrdFunction): Use optok for location and correct format
1061 (BuildShiftFunction): Use vartok for location.
1062 (BuildRotateFunction): Use vartok for location.
1063 (BuildTruncFunction): Use vartok for location.
1064 (BuildFloatFunction): Use vartok for location.
1065 (BuildReFunction): Use vartok for location.
1066 (BuildImFunction): Use vartok for location.
1067 * gm2-compiler/M2SymInit.mod (trashParam): Remove commented code.
1069 2023-07-19 Gaius Mulley <gaiusmod2@gmail.com>
1071 * gm2-compiler/M2Quads.mod (BuildRealFuncProcCall): Set the trash
1072 parameter value to NIL if DEALLOCATE is detected.
1073 * gm2-compiler/M2SymInit.mod (CheckDeferredRecordAccess): Pass
1074 tok to SetVarInitialized. Pass tok to GetVarComponentInitialized.
1075 (ComponentFindVar): Add tok parameter. Check aliased pointer
1076 against Nil and generate warning if necessary.
1077 (deRefComponent): Add tok and sym parameters and pass them to
1079 (SetVarComponentInitialized): Add tok parameter. Pass tok to
1080 ComponentFindVar. Pass tok and sym to deRefComponent.
1081 (GetVarComponentInitialized): Add tok parameter. Pass tok to
1082 ComponentFindVar. Pass tok to deRefComponent.
1083 (SetVarInitialized): Add tok parameter. Pass tok to
1084 SetVarComponentInitialized.
1085 (doGetVarInitialized): Add tok parameter. Pass tok to
1086 GetVarComponentInitialized.
1087 (CheckXIndr): Pass lhs and lhstok to getContent.
1088 (CheckIndrX): Pass rhs and rhstok to getContent.
1089 (CheckBecomes): Pass destok to ComponentFindVar. Pass des and
1090 destok to deRefComponent.
1091 (CheckAddr): Pass contenttok to GetVarInitialized. Pass ptrtok
1092 to SetVarInitialized.
1093 (CheckReadBeforeInitQuad): Pass op1tok to SetVarInitialized for
1094 op1 cases and op3tok for op3 cases.
1095 (trashParam): Get operand tokens. Pass op3tok to
1096 SetVarInitialized. Pass op3 and op3tok to getContent.
1097 Alias ptr to NIL if procedure is DEALLOCATE. Pass op3tok to
1099 (IsDeallocate): New procedure function.
1100 (DetectTrash): Use IsDeallocate.
1101 (SetupLAlias): Allow exp to be Nil.
1102 (getContent): Generate warning message if ptr is Nil.
1104 2023-07-18 Gaius Mulley <gaiusmod2@gmail.com>
1106 * Make-lang.in: Minor formatting change.
1107 * gm2-compiler/M2GCCDeclare.mod
1108 (DeclareUnboundedProcedureParameters): Rename local variables.
1109 (WalkUnboundedProcedureParameters): Rename local variables.
1110 (DoVariableDeclaration): Avoid declaration of a variable if
1111 it is on the heap (used by static analysis only).
1112 * gm2-compiler/M2GenGCC.mod: Formatting.
1113 * gm2-compiler/M2Quads.def (GetQuadTrash): New procedure function.
1114 * gm2-compiler/M2Quads.mod (GetQuadTrash): New procedure function.
1115 (QuadFrame): Add Trash field.
1116 (BuildRealFuncProcCall): Detect ALLOCATE and DEALLOCATE and create
1117 a heap variable for parameter 1 saving it as the trashed variable
1118 for static analysis.
1119 (GenQuadOTrash): New procedure.
1120 (DisplayQuadRange): Bugfix. Write the scope number.
1121 * gm2-compiler/M2SymInit.mod: Rewritten to separate LValue
1122 equivalence from LValue to RValue pairings. Comprehensive
1123 detection of variant record implemented. Allow dereferencing
1124 of pointers through LValue/RValue chains.
1125 * gm2-compiler/SymbolTable.def (PutVarHeap): New procedure.
1126 (IsVarHeap): New procedure function.
1127 (ForeachParamSymDo): New procedure.
1128 * gm2-compiler/SymbolTable.mod (PutVarHeap): New procedure.
1129 (IsVarHeap): New procedure function.
1130 (ForeachParamSymDo): New procedure.
1131 (MakeVariableForParam): Reformatted.
1132 (CheckForUnknownInModule): Reformatted.
1133 (SymVar): Add field Heap.
1134 (MakeVar): Assign Heap to FALSE.
1136 2023-07-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1138 * Make-lang.in (m2/boot-bin/mklink$(exeext)): Add $(LDFLAGS).
1140 2023-07-11 Gaius Mulley <gaiusmod2@gmail.com>
1142 * gm2-compiler/M2BasicBlock.def (InitBasicBlocksFromRange): New
1144 * gm2-compiler/M2BasicBlock.mod (ConvertQuads2BasicBlock): New
1146 (InitBasicBlocksFromRange): New parameter ScopeSym. Call
1147 ConvertQuads2BasicBlock with ScopeSym.
1148 (DisplayBasicBlocks): Uncomment.
1149 * gm2-compiler/M2Code.mod: Replace VariableAnalysis with
1150 ScopeBlockVariableAnalysis.
1151 (InitialDeclareAndOptiomize): Add parameter scope.
1152 (SecondDeclareAndOptimize): Add parameter scope.
1153 * gm2-compiler/M2GCCDeclare.mod (DeclareConstructor): Add scope
1154 parameter to DeclareTypesConstantsProceduresInRange.
1155 (DeclareTypesConstantsProceduresInRange): New parameter scope.
1156 Pass scope to DisplayQuadRange. Reformatted.
1157 * gm2-compiler/M2GenGCC.def (ConvertQuadsToTree): New parameter
1159 * gm2-compiler/M2GenGCC.mod (ConvertQuadsToTree): New parameter
1161 * gm2-compiler/M2Optimize.mod (KnownReachable): New parameter
1163 * gm2-compiler/M2Options.def (SetUninitVariableChecking): Add
1165 * gm2-compiler/M2Options.mod (SetUninitVariableChecking): Add
1166 arg parameter and set boolean UninitVariableChecking and
1167 UninitVariableConditionalChecking.
1168 (UninitVariableConditionalChecking): New boolean set to FALSE.
1169 * gm2-compiler/M2Quads.def (IsGoto): New procedure function.
1170 (DisplayQuadRange): Add scope parameter.
1171 (LoopAnalysis): Add scope parameter.
1172 * gm2-compiler/M2Quads.mod: Import PutVarArrayRef.
1173 (IsGoto): New procedure function.
1174 (LoopAnalysis): Add scope parameter and use MetaErrorT1 instead
1176 (BuildStaticArray): Call PutVarArrayRef.
1177 (BuildDynamicArray): Call PutVarArrayRef.
1178 (DisplayQuadRange): Add scope parameter.
1179 (GetM2OperatorDesc): Add relational condition cases.
1180 * gm2-compiler/M2Scope.def (ScopeProcedure): Add parameter.
1181 * gm2-compiler/M2Scope.mod (DisplayScope): Pass scopeSym to
1183 (ForeachScopeBlockDo): Pass scopeSym to p.
1184 * gm2-compiler/M2SymInit.def (VariableAnalysis): Rename to ...
1185 (ScopeBlockVariableAnalysis): ... this.
1186 * gm2-compiler/M2SymInit.mod (ScopeBlockVariableAnalysis): Add
1188 (bbEntry): New pointer to record.
1189 (bbArray): New array.
1190 (bbFreeList): New variable.
1191 (errorList): New list.
1192 (IssueConditional): New procedure.
1193 (GenerateNoteFlow): New procedure.
1194 (IssueWarning): New procedure.
1195 (IsUniqueWarning): New procedure.
1196 (CheckDeferredRecordAccess): Re-implement.
1197 (CheckBinary): Add warning and lst parameters.
1198 (CheckUnary): Add warning and lst parameters.
1199 (CheckXIndr): Add warning and lst parameters.
1200 (CheckIndrX): Add warning and lst parameters.
1201 (CheckBecomes): Add warning and lst parameters.
1202 (CheckComparison): Add warning and lst parameters.
1203 (CheckReadBeforeInitQuad): Add warning and lst parameters to all
1204 Check procedures. Add all case quadruple clauses.
1205 (FilterCheckReadBeforeInitQuad): Add warning and lst parameters.
1206 (CheckReadBeforeInitFirstBasicBlock): Add warning and lst parameters.
1207 (bbArrayKill): New procedure.
1208 (DumpBBEntry): New procedure.
1209 (DumpBBArray): New procedure.
1210 (DumpBBSequence): New procedure.
1211 (TestBBSequence): New procedure.
1212 (CreateBBPermultations): New procedure.
1213 (ScopeBlockVariableAnalysis): New procedure.
1214 (GetOp3): New procedure.
1215 (GenerateCFG): New procedure.
1216 (NewEntry): New procedure.
1217 (AppendEntry): New procedure.
1218 (init): Initialize bbFreeList and errorList.
1219 * gm2-compiler/SymbolTable.def (PutVarArrayRef): New procedure.
1220 (IsVarArrayRef): New procedure function.
1221 * gm2-compiler/SymbolTable.mod (SymVar): ArrayRef new field.
1222 (MakeVar): Set ArrayRef to FALSE.
1223 (PutVarArrayRef): New procedure.
1224 (IsVarArrayRef): New procedure function.
1225 * gm2-gcc/init.cc (_M2_M2SymInit_init): New prototype.
1226 (init_PerCompilationInit): Add call to _M2_M2SymInit_init.
1227 * gm2-gcc/m2options.h (M2Options_SetUninitVariableChecking):
1229 * gm2-lang.cc (gm2_langhook_handle_option): Add new case
1230 OPT_Wuninit_variable_checking_.
1231 * lang.opt: Wuninit-variable-checking= new entry.
1233 2023-07-03 Gaius Mulley <gaiusmod2@gmail.com>
1236 * Make-lang.in (GM2-COMP-BOOT-DEFS): Add M2SymInit.def.
1237 (GM2-COMP-BOOT-MODS): Add M2SymInit.mod.
1238 * gm2-compiler/M2BasicBlock.mod: Formatting changes.
1239 * gm2-compiler/M2Code.mod: Remove import of VariableAnalysis from
1240 M2Quads. Import VariableAnalysis from M2SymInit.mod.
1241 * gm2-compiler/M2GCCDeclare.mod (PrintVerboseFromList):
1242 Add debugging print for a component.
1243 (TypeConstFullyDeclared): Call RememberType for every type.
1244 * gm2-compiler/M2GenGCC.mod (CodeReturnValue): Add parameter to
1246 (CodeBecomes): Add parameter to GetQuadOtok.
1247 (CodeXIndr): Add parameter to GetQuadOtok.
1248 * gm2-compiler/M2Optimize.mod (ReduceBranch): Reformat and
1249 preserve operand token positions when reducing the branch
1251 (ReduceGoto): Reformat.
1252 (FoldMultipleGoto): Reformat.
1253 (KnownReachable): Reformat.
1254 * gm2-compiler/M2Options.def (UninitVariableChecking): New
1255 variable declared and exported.
1256 (SetUninitVariableChecking): New procedure.
1257 * gm2-compiler/M2Options.mod (SetWall): Set
1258 UninitVariableChecking.
1259 (SetUninitVariableChecking): New procedure.
1260 * gm2-compiler/M2Quads.def (PutQuadOtok): Exported and declared.
1261 (VariableAnalysis): Removed.
1262 * gm2-compiler/M2Quads.mod (PutQuadOtok): New procedure.
1263 (doVal): Reformatted.
1264 (MarkAsWrite): Reformatted.
1265 (MarkArrayAsWritten): Reformatted.
1266 (doIndrX): Use PutQuadOtok.
1267 (MakeRightValue): Use GenQuadOtok.
1268 (MakeLeftValue): Use GenQuadOtok.
1269 (CheckReadBeforeInitialized): Remove.
1270 (IsNeverAltered): Reformat.
1271 (DebugLocation): New procedure.
1272 (BuildDesignatorPointer): Use GenQuadO to preserve operand token
1274 (BuildRelOp): Use GenQuadOtok ditto.
1275 * gm2-compiler/SymbolTable.def (VarCheckReadInit): New procedure.
1276 (VarInitState): New procedure.
1277 (PutVarInitialized): New procedure.
1278 (PutVarFieldInitialized): New procedure function.
1279 (GetVarFieldInitialized): New procedure function.
1280 (PrintInitialized): New procedure.
1281 * gm2-compiler/SymbolTable.mod (VarCheckReadInit): New procedure.
1282 (VarInitState): New procedure.
1283 (PutVarInitialized): New procedure.
1284 (PutVarFieldInitialized): New procedure function.
1285 (GetVarFieldInitialized): New procedure function.
1286 (PrintInitialized): New procedure.
1287 (LRInitDesc): New type.
1288 (SymVar): InitState new field.
1289 (MakeVar): Initialize InitState.
1290 * gm2-gcc/m2options.h (M2Options_SetUninitVariableChecking):
1291 New function declaration.
1292 * gm2-lang.cc (gm2_langhook_handle_option): Detect
1293 OPT_Wuninit_variable_checking and call SetUninitVariableChecking.
1294 * lang.opt: Add Wuninit-variable-checking.
1295 * gm2-compiler/M2SymInit.def: New file.
1296 * gm2-compiler/M2SymInit.mod: New file.
1298 2023-06-30 Iain Sandoe <iain@sandoe.co.uk>
1301 * gm2-libs/RTint.mod: Do not use NIL timeout setting on select,
1302 test failures sequentially, finishing on the first success.
1304 2023-06-18 Gaius Mulley <gaiusmod2@gmail.com>
1307 * Make-lang.in (m2_OBJS): Assign $(GM2_C_OBJS).
1308 (GM2_C_OBJS): Remove m2/stor-layout.o.
1309 (m2/stor-layout.o): Remove rule.
1310 * gm2-gcc/gcc-consolidation.h (rtl.h): Remove include.
1311 (df.h): Remove include.
1312 (except.h): Remove include.
1314 2023-06-15 Marek Polacek <polacek@redhat.com>
1316 * Make-lang.in: New var, GM2_PICFLAGS. Use it.
1318 2023-06-13 Gaius Mulley <gaiusmod2@gmail.com>
1320 * Make-lang.in (check-format-error): New rule.
1321 * gm2-compiler/M2MetaError.mod (op): Add calls InternalError if
1322 digits are detected.
1323 * gm2-compiler/M2Quads.mod (BuildForToByDo): Bugfix to format
1325 (BuildLengthFunction): Bugfix to format specifiers.
1326 (BuildOddFunction): Bugfix to format specifiers.
1327 (BuildAbsFunction): Bugfix to format specifiers.
1328 (BuildCapFunction): Bugfix to format specifiers.
1329 (BuildChrFunction): Bugfix to format specifiers.
1330 (BuildOrdFunction): Bugfix to format specifiers.
1331 (BuildMakeAdrFunction): Bugfix to format specifiers.
1332 (BuildSizeFunction): Bugfix to format specifiers.
1333 (BuildBitSizeFunction): Bugfix to format specifiers.
1334 * tools-src/checkmeta.py: New file.
1336 2023-06-12 Gaius Mulley <gaiusmod2@gmail.com>
1339 * gm2-compiler/M2Quads.mod (BuildAbsFunction): Replace abort
1341 (BuildValFunction): Replace abort format specifier.
1342 (BuildCastFunction): Replace abort format specifier.
1343 (BuildMinFunction): Replace abort format specifier.
1344 (BuildMaxFunction): Replace abort format specifier.
1345 (BuildTruncFunction): Replace abort format specifier.
1346 * gm2-compiler/P3Build.bnf (Pass1): Remove.
1349 (Expect): Add Pass1.
1350 (AsmStatement): Remove Pass3.
1351 (AsmOperands): Remove Pass3.
1352 (AsmOperandSpec): Remove Pass3.
1353 (AsmInputElement): Remove Pass3.
1354 (AsmOutputElement): Remove Pass3.
1355 (AsmTrashList): Remove Pass3.
1357 2023-06-12 Gaius Mulley <gaiusmod2@gmail.com>
1360 * gm2-compiler/M2Quads.def (BuildAsmElement): Remove
1362 (BuildAsmTrash): New procedure.
1363 * gm2-compiler/M2Quads.mod (BuildAsmTrash): New procedure.
1364 (BuildAsmElement): Remove trash parameter.
1365 * gm2-compiler/P3Build.bnf (AsmTrashList): Rewrite.
1367 2023-06-08 Gaius Mulley <gaiusmod2@gmail.com>
1370 * gm2-compiler/M2GenGCC.mod (BuildTreeFromInterface): Remove
1371 tokenno parameter. Use object tok instead of tokenno.
1372 (BuildTrashTreeFromInterface): Use object tok instead of
1374 (CodeInline): Remove tokenno from parameter list to BuildTreeFromInterface.
1375 * gm2-compiler/M2Quads.def (BuildAsmElement): Exported and
1377 * gm2-compiler/M2Quads.mod (BuildOptimizeOff): Reformatted.
1378 (BuildInline): Reformatted.
1379 (BuildLineNo): Reformatted.
1380 (UseLineNote): Reformatted.
1381 (BuildAsmElement): New procedure.
1382 * gm2-compiler/P0SyntaxCheck.bnf (AsmOperands): Use
1383 ConstExpression instead of string.
1384 (AsmElement): Use ConstExpression instead of string.
1385 (TrashList): Use ConstExpression instead of string.
1386 * gm2-compiler/P1Build.bnf (AsmOperands): Use
1387 ConstExpression instead of string.
1388 (AsmElement): Use ConstExpression instead of string.
1389 (TrashList): Use ConstExpression instead of string.
1390 * gm2-compiler/P2Build.bnf (AsmOperands): Use
1391 ConstExpression instead of string.
1392 (AsmElement): Use ConstExpression instead of string.
1393 (TrashList): Use ConstExpression instead of string.
1394 * gm2-compiler/P3Build.bnf (AsmOperands): Rewrite.
1395 (AsmOperandSpec): Rewrite.
1396 (AsmOutputList): New rule.
1397 (AsmInputList): New rule.
1398 (TrashList): Rewrite.
1399 * gm2-compiler/PCBuild.bnf (AsmOperands): Use
1400 ConstExpression instead of string.
1401 (AsmElement): Use ConstExpression instead of string.
1402 (TrashList): Use ConstExpression instead of string.
1403 * gm2-compiler/PHBuild.bnf (AsmOperands): Use
1404 ConstExpression instead of string.
1405 (AsmElement): Use ConstExpression instead of string.
1406 (TrashList): Use ConstExpression instead of string.
1407 * gm2-compiler/SymbolTable.def (PutRegInterface):
1409 (GetRegInterface): Rewrite interface.
1410 * gm2-compiler/SymbolTable.mod (SetFirstUsed): New procedure.
1411 (PutFirstUsed): New procedure.
1412 (PutRegInterface): Rewrite.
1413 (GetRegInterface): Rewrite.
1415 2023-06-07 Jakub Jelinek <jakub@redhat.com>
1417 * Make-lang.in: Build $(generated_files) before building
1420 2023-06-07 Gaius Mulley <gaiusmod2@gmail.com>
1423 * gm2-compiler/SymbolKey.mod (SearchAndDo): Reformatted.
1424 (ForeachNodeDo): Reformatted.
1425 * gm2-compiler/SymbolTable.mod (AddListify): Join list
1426 with "," or "and" if more than one word is in the list.
1427 * m2.flex: Remove -1 from atoi(yytext) line number.
1429 2023-06-03 Gaius Mulley <gaiusmod2@gmail.com>
1432 * gm2-compiler/P2SymBuild.mod (GetParameterShadowVar): Import.
1433 (CheckFormalParameterSection): Call PutDeclared for the shadow
1434 variable associated with the parameter.
1436 2023-05-24 Gaius Mulley <gaiusmod2@gmail.com>
1439 * Make-maintainer.in: Change header to include emacs file mode.
1440 * gm2-compiler/M2GenGCC.mod (BuildHighFromChar): Check whether
1441 operand is a constant string and is nul terminated then return one.
1442 * gm2-compiler/PCSymBuild.mod (WalkFunction): Add default return
1443 TRUE. Static analysis missing return path fix.
1444 * gm2-libs/IO.mod (Init): Rewrite to help static analysis.
1445 * target-independent/m2/gm2-libs.texi: Rebuild.
1447 2023-05-19 Gaius Mulley <gaiusmod2@gmail.com>
1450 * gm2-libs-iso/Strings.mod (Delete): Re-implement.
1452 2023-05-18 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1454 * gm2-gcc/m2builtins.cc (doradix): Use _P defines from tree.h.
1456 (doexponentmin): Ditto.
1457 (doexponentmax): Ditto.
1460 (dogUnderflow): Ditto.
1461 * gm2-gcc/m2convert.cc (unsafe_conversion_p): Ditto.
1462 * gm2-gcc/m2expr.cc (m2expr_build_unary_op_check): Ditto.
1463 (m2expr_build_binary_op_check): Ditto.
1464 * gm2-gcc/m2tree.cc (m2tree_is_var): Ditto.
1465 * gm2-gcc/m2treelib.cc (build_modify_expr): Ditto.
1466 * gm2-gcc/m2type.cc (gm2_finish_decl): Ditto.
1467 * m2pp.cc (hextree): Ditto.
1468 (m2pp_call_expr): Ditto.
1470 2023-05-17 Gaius Mulley <gaiusmod2@gmail.com>
1472 * gm2-libs-iso/LongWholeIO.mod (WriteInt): Only request a
1473 sign if the value is < 0.
1474 * gm2-libs-iso/ShortWholeIO.mod (WriteInt): Only request a
1475 sign if the value is < 0.
1476 * gm2-libs-iso/WholeIO.mod (WriteInt): Only request a sign
1477 if the value is < 0.
1478 * gm2-libs-iso/WholeStr.mod (WriteInt): Only request a sign
1479 if the value is < 0.
1481 2023-05-16 Gaius Mulley <gaiusmod2@gmail.com>
1484 * gm2-libs-iso/LongIO.mod (ReadReal): Call SkipSpaces.
1485 * gm2-libs-iso/LongWholeIO.mod (ReadInt): Call SkipSpaces.
1486 (ReadCard): Call SkipSpaces.
1487 * gm2-libs-iso/RealIO.mod (ReadReal): Call SkipSpaces.
1488 * gm2-libs-iso/ShortWholeIO.mod: (ReadInt): Call SkipSpaces.
1489 (ReadCard): Call SkipSpaces.
1490 * gm2-libs-iso/TextIO.mod: Import SkipSpaces.
1491 * gm2-libs-iso/WholeIO.mod (ReadInt): Call SkipSpaces.
1492 (ReadCard): Call SkipSpaces.
1493 * gm2-libs-iso/TextUtil.def: New file.
1494 * gm2-libs-iso/TextUtil.mod: New file.
1496 2023-05-16 Gaius Mulley <gaiusmod2@gmail.com>
1499 * gm2-libs-coroutines/TimerHandler.mod (EnableLED): New constant.
1500 (Timer): Test EnableLED before switching on the scroll LED.
1502 2023-05-12 Gaius Mulley <gaiusmod2@gmail.com>
1505 * gm2-libs-iso/SeqFile.mod (newCid): New parameter toAppend
1506 used to select FIO.OpenForRandom.
1507 (OpenRead): Pass extra parameter to newCid.
1508 (OpenWrite): Pass extra parameter to newCid.
1509 (OpenAppend): Pass extra parameter to newCid.
1511 2023-05-11 Gaius Mulley <gaiusmod2@gmail.com>
1514 * gm2-compiler/M2ALU.mod (ConvertConstToType): Use
1515 PrepareCopyString in place of DoCopyString.
1516 * gm2-compiler/M2GenGCC.def (DoCopyString): Rename to ...
1517 (PrepareCopyString): ... this.
1518 * gm2-compiler/M2GenGCC.mod (CodeStatement): Call CodeReturnValue
1519 with a single parameter. Call CodeXIndr with a single parameter.
1520 (CodeReturnValue): Remove parameters and replace with a single
1521 quadno. Reimplement using PrepareCopyString. Issue error
1522 if the string exceeds designator space.
1523 (DoCopyString): Reimplement and rename to ...
1524 (PrepareCopyString): ... this.
1525 (CodeXIndr): Remove parameters and replace with a single
1526 quadno. Reimplement using PrepareCopyString. Issue error
1527 if the string exceeds designator space.
1528 (CodeBecomes): Remove parameters and replace with a single
1529 quadno. Reimplement using PrepareCopyString. Issue error
1530 if the string exceeds designator space.
1531 * gm2-compiler/M2Quads.def (BuildReturn): Rename parameter to
1533 * gm2-compiler/M2Quads.mod (BuildReturn): Rename parameter to
1534 tokreturn. Rename tokno to tokcombined.
1536 2023-05-09 Gaius Mulley <gaiusmod2@gmail.com>
1539 * gm2-libs-iso/RTgen.mod (doLook): Remove old.
1540 Remove re-assignment of result.
1541 * gm2-libs-iso/TextIO.mod (CanRead): Rename into ...
1542 (CharAvailable): ... this.
1543 (DumpState): New procedure.
1544 (SetResult): Rename as SetNul.
1545 (WasGoodChar): Rename into ...
1546 (EofOrEoln): ... this.
1547 (SkipLine): Skip over the newline.
1548 (ReadString): Flip THEN ELSE statements after testing for
1550 (ReadRestLine): Flip THEN ELSE statements after testing for
1553 2023-05-04 Gaius Mulley <gaiusmod2@gmail.com>
1556 * gm2-compiler/M2GenGCC.mod (CodeStatement): Detect
1557 ArithAddOp and call CodeAddChecked.
1558 (ResolveConstantExpressions): Detect ArithAddOp and call
1560 (FoldArithAdd): New procedure.
1561 (FoldAdd): Refactor to use FoldArithAdd.
1562 * gm2-compiler/M2Quads.def (QuadOperator): Add ArithAddOp.
1563 * gm2-compiler/M2Quads.mod: Remove commented imports.
1564 (QuadFrame): Changed comments to use GNU coding standards.
1565 (ArithPlusTok): New global variable.
1566 (BuildForToByDo): Use ArithPlusTok instead of PlusTok.
1567 (MakeOp): Detect ArithPlusTok and return ArithAddOp.
1568 (WriteQuad): Add ArithAddOp clause.
1569 (WriteOperator): Add ArithAddOp clause.
1570 (Init): Initialize ArithPlusTok.
1572 2023-05-04 Gaius Mulley <gaiusmod2@gmail.com>
1575 * Make-lang.in (MC-LIB-DEFS): Remove M2LINK.def.
1576 (BUILD-PGE-O): Remove GM2LINK.o.
1577 * Make-maintainer.in (PPG-DEFS): New define.
1578 (PPG-LIB-DEFS): Remove M2LINK.def.
1579 (BUILD-BOOT-PPG-H): Add PPGDEF .h files.
1580 (m2/ppg$(exeext)): Remove M2LINK.o
1581 (PGE-DEPS): New define.
1582 (m2/pg$(exeext)): Remove M2LINK.o.
1583 (m2/gm2-pge-boot/$(SRC_PREFIX)%.o): Add -Im2/gm2-pge-boot.
1584 (m2/pge$(exeext)): Remove M2LINK.o.
1585 (pge-maintainer): Re-implement.
1586 (pge-libs-push): Re-implement.
1587 (m2/m2obj3/cc1gm2$(exeext)): Remove M2LINK.o.
1588 * gm2-libs/DynamicStrings.mod (writeAddress): Re-implement
1590 * gm2-libs/M2Dependent.mod: Remove commented out imports.
1591 * mc-boot/GDynamicStrings.cc: Rebuild.
1592 * mc-boot/GFIO.cc: Rebuild.
1593 * mc-boot/GFormatStrings.cc: Rebuild.
1594 * mc-boot/GM2Dependent.cc: Rebuild.
1595 * mc-boot/GM2Dependent.h: Rebuild.
1596 * mc-boot/GM2RTS.cc: Rebuild.
1597 * mc-boot/GM2RTS.h: Rebuild.
1598 * mc-boot/GRTExceptions.cc: Rebuild.
1599 * mc-boot/GRTint.cc: Rebuild.
1600 * mc-boot/GSFIO.cc: Rebuild.
1601 * mc-boot/GStringConvert.cc: Rebuild.
1602 * mc-boot/Gdecl.cc: Rebuild.
1603 * pge-boot/GASCII.cc: Rebuild.
1604 * pge-boot/GASCII.h: Rebuild.
1605 * pge-boot/GArgs.cc: Rebuild.
1606 * pge-boot/GArgs.h: Rebuild.
1607 * pge-boot/GAssertion.cc: Rebuild.
1608 * pge-boot/GAssertion.h: Rebuild.
1609 * pge-boot/GBreak.h: Rebuild.
1610 * pge-boot/GCmdArgs.h: Rebuild.
1611 * pge-boot/GDebug.cc: Rebuild.
1612 * pge-boot/GDebug.h: Rebuild.
1613 * pge-boot/GDynamicStrings.cc: Rebuild.
1614 * pge-boot/GDynamicStrings.h: Rebuild.
1615 * pge-boot/GEnvironment.h: Rebuild.
1616 * pge-boot/GFIO.cc: Rebuild.
1617 * pge-boot/GFIO.h: Rebuild.
1618 * pge-boot/GFormatStrings.h:: Rebuild.
1619 * pge-boot/GFpuIO.h:: Rebuild.
1620 * pge-boot/GIO.cc: Rebuild.
1621 * pge-boot/GIO.h: Rebuild.
1622 * pge-boot/GIndexing.cc: Rebuild.
1623 * pge-boot/GIndexing.h: Rebuild.
1624 * pge-boot/GLists.cc: Rebuild.
1625 * pge-boot/GLists.h: Rebuild.
1626 * pge-boot/GM2Dependent.cc: Rebuild.
1627 * pge-boot/GM2Dependent.h: Rebuild.
1628 * pge-boot/GM2EXCEPTION.cc: Rebuild.
1629 * pge-boot/GM2EXCEPTION.h: Rebuild.
1630 * pge-boot/GM2RTS.cc: Rebuild.
1631 * pge-boot/GM2RTS.h: Rebuild.
1632 * pge-boot/GNameKey.cc: Rebuild.
1633 * pge-boot/GNameKey.h: Rebuild.
1634 * pge-boot/GNumberIO.cc: Rebuild.
1635 * pge-boot/GNumberIO.h: Rebuild.
1636 * pge-boot/GOutput.cc: Rebuild.
1637 * pge-boot/GOutput.h: Rebuild.
1638 * pge-boot/GPushBackInput.cc: Rebuild.
1639 * pge-boot/GPushBackInput.h: Rebuild.
1640 * pge-boot/GRTExceptions.cc: Rebuild.
1641 * pge-boot/GRTExceptions.h: Rebuild.
1642 * pge-boot/GSArgs.h: Rebuild.
1643 * pge-boot/GSEnvironment.h: Rebuild.
1644 * pge-boot/GSFIO.cc: Rebuild.
1645 * pge-boot/GSFIO.h: Rebuild.
1646 * pge-boot/GSYSTEM.h: Rebuild.
1647 * pge-boot/GScan.h: Rebuild.
1648 * pge-boot/GStdIO.cc: Rebuild.
1649 * pge-boot/GStdIO.h: Rebuild.
1650 * pge-boot/GStorage.cc: Rebuild.
1651 * pge-boot/GStorage.h: Rebuild.
1652 * pge-boot/GStrCase.cc: Rebuild.
1653 * pge-boot/GStrCase.h: Rebuild.
1654 * pge-boot/GStrIO.cc: Rebuild.
1655 * pge-boot/GStrIO.h: Rebuild.
1656 * pge-boot/GStrLib.cc: Rebuild.
1657 * pge-boot/GStrLib.h: Rebuild.
1658 * pge-boot/GStringConvert.h: Rebuild.
1659 * pge-boot/GSymbolKey.cc: Rebuild.
1660 * pge-boot/GSymbolKey.h: Rebuild.
1661 * pge-boot/GSysExceptions.h: Rebuild.
1662 * pge-boot/GSysStorage.cc: Rebuild.
1663 * pge-boot/GSysStorage.h: Rebuild.
1664 * pge-boot/GTimeString.h: Rebuild.
1665 * pge-boot/GUnixArgs.h: Rebuild.
1666 * pge-boot/Gbnflex.cc: Rebuild.
1667 * pge-boot/Gbnflex.h: Rebuild.
1668 * pge-boot/Gdtoa.h: Rebuild.
1669 * pge-boot/Gerrno.h: Rebuild.
1670 * pge-boot/Gldtoa.h: Rebuild.
1671 * pge-boot/Glibc.h: Rebuild.
1672 * pge-boot/Glibm.h: Rebuild.
1673 * pge-boot/Gpge.cc: Rebuild.
1674 * pge-boot/Gtermios.h: Rebuild.
1675 * pge-boot/Gwrapc.h: Rebuild.
1676 * mc-boot/GM2LINK.h: Removed.
1677 * pge-boot/GM2LINK.cc: Removed.
1678 * pge-boot/GM2LINK.h: Removed.
1680 2023-04-30 Gaius Mulley <gaiusmod2@gmail.com>
1682 * gm2-compiler/SymbolTable.mod (ConstLitPoolEntry): New
1684 (ConstLitSym): New field RangeError.
1685 (ConstLitPoolTree): New SymbolTree representing name to
1687 (ConstLitArray): New dynamic array containing pointers
1688 to a ConstLitPoolEntry.
1689 (CreateConstLit): New procedure function.
1690 (LookupConstLitPoolEntry): New procedure function.
1691 (AddConstLitPoolEntry): New procedure function.
1692 (MakeConstLit): Re-implemented to check the constant lit
1693 pool before calling CreateConstLit.
1694 * m2.flex: Add ability to decode binary constant literals.
1696 2023-04-26 Gaius Mulley <gaiusmod2@gmail.com>
1699 * gm2-compiler/M2ALU.mod (Less): Reformatted.
1700 * gm2-compiler/SymbolTable.mod (DetermineSizeOfConstant): Remove
1702 (ConstantStringExceedsZType): Import.
1703 (GetConstLitType): Re-implement using ConstantStringExceedsZType.
1704 * gm2-gcc/m2decl.cc (m2decl_DetermineSizeOfConstant): Remove.
1705 (m2decl_ConstantStringExceedsZType): New function.
1706 (m2decl_BuildConstLiteralNumber): Re-implement.
1707 * gm2-gcc/m2decl.def (DetermineSizeOfConstant): Remove.
1708 (ConstantStringExceedsZType): New function.
1709 * gm2-gcc/m2decl.h (m2decl_DetermineSizeOfConstant): Remove.
1710 (m2decl_ConstantStringExceedsZType): New function.
1711 * gm2-gcc/m2expr.cc (append_digit): Remove.
1712 (m2expr_interpret_integer): Remove.
1713 (append_m2_digit): Remove.
1714 (m2expr_StrToWideInt): New function.
1715 (m2expr_interpret_m2_integer): Remove.
1716 * gm2-gcc/m2expr.def (CheckConstStrZtypeRange): New function.
1717 * gm2-gcc/m2expr.h (m2expr_StrToWideInt): New function.
1718 * gm2-gcc/m2type.cc (build_m2_word64_type_node): New function.
1719 (build_m2_ztype_node): New function.
1720 (m2type_InitBaseTypes): Call build_m2_ztype_node.
1721 * gm2-lang.cc (gm2_type_for_size): Re-write using early returns.
1723 2023-04-21 Arsen Arsenović <arsen@aarsen.me>
1725 * Make-lang.in: Remove references to $(P).
1726 * Make-maintainer.in: Ditto.
1728 2023-04-21 Gaius Mulley <gaiusmod2@gmail.com>
1731 * gm2-gcc/m2tree.cc (m2tree_IsAConstant): Add (TREE_CODE
1732 (t) == CONSTRUCTOR) to expression.
1734 2023-04-13 Gaius Mulley <gaiusmod2@gmail.com>
1737 * lang.opt: Fix typo "maybe" to "may be".
1739 2023-04-13 Gaius Mulley <gaiusmod2@gmail.com>
1741 * gm2-compiler/M2ALU.def (PopChar): New procedure function.
1742 * gm2-compiler/M2ALU.mod (PopChar): New procedure function.
1743 * gm2-compiler/M2GCCDeclare.mod (PromoteToString): Detect
1744 a single constant char and build a C string.
1745 * gm2-compiler/M2GenGCC.mod (IsConstStr): New procedure
1747 (GetStr): New procedure function.
1748 (FoldAdd): Use IsConstStr.
1749 * gm2-compiler/M2Quads.mod: Formatting changes.
1750 * gm2-gcc/m2expr.cc (m2expr_GetCstInteger): New function.
1751 * gm2-gcc/m2expr.def (GetCstInteger): New procedure function.
1752 * gm2-gcc/m2expr.h (m2expr_GetCstInteger): New prototype.
1754 2023-04-05 Gaius Mulley <gaiusmod2@gmail.com>
1757 * gm2-compiler/M2Base.def (Unbounded): Remove.
1758 * gm2-compiler/M2Error.def (ErrorAbort0): Add noreturn
1760 * gm2-compiler/M2Quads.mod (BuildInclProcedure): Correct
1761 error format string.
1762 (BuildExceptProcedure): Correct error format string.
1763 (BuildAdrFunction): Call PutWriteQuad when taking the
1764 address of a variable.
1765 * gm2-libs-ch/SysExceptions.c (_M2_SysExceptions_init): Add
1767 * gm2-libs-ch/wrapc.c (_M2_wrapc_init): Add parameters.
1768 * gm2-libs/DynamicStrings.mod (DumpStringInfo): Remove t.
1769 (PopAllocationExemption): Remove f.
1770 * gm2-libs/FIO.mod (BufferedWrite): Remove result.
1771 * gm2-libs/FormatStrings.mod (Copy): Remove endpos and
1773 (HandlePercent): Remove result.
1774 * gm2-libs/Indexing.mod (RemoveIndiceFromIndex): Remove k.
1775 * gm2-libs/M2Dependent.mod (CreateModule): Remove p0
1777 (DumpModuleData): Remove mptr.
1778 (ConstructModules): Remove nulp.
1779 * gm2-libs/RTExceptions.mod (PopHandler): Remove i.
1780 * gm2-libs/RTint.mod (Listen): Remove b4s, b4m, afs
1782 * gm2-libs/SFIO.mod (ReadS): Remove c.
1783 * gm2-libs/StringConvert.mod (doDecimalPlaces): Remove
1786 2023-04-03 Gaius Mulley <gaiusmod2@gmail.com>
1789 * gm2-compiler/M2GCCDeclare.mod (DoVariableDeclaration):
1790 Remove second parameter module. Adjust all callers to
1791 remove the second parameter.
1792 * gm2-compiler/PHBuild.bnf (CheckAndInsert): Remove.
1793 (InStopSet): Remove.
1794 (PeepToken): Remove.
1795 (PushQualident): Remove.
1796 (SimpleDes): Remove.
1797 (ActualParameters): Remove.
1799 2023-04-02 Gaius Mulley <gaiusmod2@gmail.com>
1802 * Make-lang.in (GM2_O): Set to -O0.
1803 (GM2_LIBS): Remove target libraries and replace with build libs.
1804 (BUILD-LIBS): New declaration.
1805 (m2/gm2-libs/libgm2.a): New rule.
1806 (m2/gm2-libs/%.o): New rule.
1807 (m2/gm2-libs/choosetemp.o): New rule.
1808 * gm2-compiler/M2ColorString.mod (append): Use ADR rather than
1809 implicit conversion.
1810 * gm2-compiler/M2Comp.mod (Compile): Add qprintf messages for when
1811 a source file is not found. Improve comments and formatting.
1812 * gm2-libs-ch/cgetopt.c (cgetopt_cgetopt_long): Remove
1813 ansi-decl.h. Add getopt.h.
1814 (cgetopt_cgetopt_long_only): Change cgetopt_ to getopt_.
1815 * gm2spec.cc (lang_specific_driver): Do not skip -fmod=.
1818 2023-03-29 Gaius Mulley <gaiusmod2@gmail.com>
1822 * gm2-compiler/M2FileName.mod (CalculateFileName): Simplified by
1823 ensuring the extension contains the ".".
1824 (CalculateStemName): Re-formatted.
1825 (ExtractExtension): Re-formatted.
1826 (ExtractModule): Re-formatted.
1827 * gm2-compiler/M2Options.def (setdefextension): Add block comment.
1828 (setmodextension): Add block comment. Re-formatted.
1829 * gm2-compiler/M2Options.mod (setdefextension): Add block comment.
1830 (setmodextension): Add block comment. Re-formatted.
1831 * gm2-compiler/M2Search.mod (FindSourceDefFile): Use
1833 (DefaultDefExt): New constant.
1834 (DefaultModExt): New constant.
1835 (FindSourceModFile): Use DefaultModExt.
1836 * gm2-gcc/m2decl.cc (m2decl_DeclareKnownVariable): Correct
1838 * gm2spec.cc (M2SOURCE): New constant.
1839 (LANGSPEC): New value.
1840 (MATHLIB): New value.
1841 (WITHLIBC): New value.
1842 (SKIPOPT): New value.
1843 (lang_specific_driver): Replace seen_module_extension bool with
1844 module_extension char *. Detect -fmod= and remember extension.
1845 Use the extension to detect modula-2 source and mark it as such.
1847 2023-03-23 Gaius Mulley <gaiusmod2@gmail.com>
1850 * gm2-compiler/M2Quads.mod (BuildConstFunctionCall): Comment
1851 out ErrorString in debugging block.
1852 (BuildConstructorStart): Replace Assert with a call to
1853 MetaErrorT3. Import MetaErrorT3.
1854 * gm2-compiler/PCSymBuild.mod (buildConstFunction): Rename
1856 (WalkFunctionParam): Remove test for IsEnumeration when
1857 resolving MIN or MAX parameters.
1858 * gm2-compiler/PHBuild.bnf (BlockAssert): New procedure.
1859 (ErrorArrayat): New procedure.
1860 (Expect): Renamed parameter t to tok.
1861 (PushQualident): New rule.
1862 (ConstSetOrQualidentOrFunction): Force AutoOn.
1863 (TypeDeclaration): Add debugging assert.
1864 (SimpleType): Add debugging assert.
1865 (DefaultRecordAttributes): New rule (and bugfix).
1866 (FieldPragmaExpression): New rule (and bugfix).
1867 (PragmaConstExpression): New rule (and bugfix).
1868 (SetOrDesignatorOrFunction): Add debugging assert.
1869 (Block): Add debugging assert.
1870 * gm2-gcc/m2expr.cc (m2expr_ConstantExpressionWarning): int
1872 * gm2-gcc/m2expr.h (m2expr_TreeOverflow): int to bool.
1873 (m2expr_GetBooleanTrue): Remove.
1874 (m2expr_GetBooleanFalse): Remove.
1875 * gm2-gcc/m2options.h (M2Options_SetStatistics): Replace
1878 2023-03-22 Gaius Mulley <gaiusmod2@gmail.com>
1881 * Make-lang.in (m2/pge-boot/%.o): Add CFLAGS and CXXFLAGS for C
1883 * gm2spec.cc (add_m2_I_path): Indentation.
1884 (lang_specific_driver): New variable seen_pathname.
1885 Detect -fm2-pathname. If not seen then push_back_Ipath (".").
1886 Change non iso library path to "m2cor,m2log,m2pim,m2iso".
1888 2023-03-22 Gaius Mulley <gaiusmod2@gmail.com>
1891 * Make-lang.in (m2/stage2/cc1gm2$(exeext)): Remove
1892 m2/gm2-libs-boot/M2LINK.o.
1893 (m2/stage1/cc1gm2$(exeext)): Ditto.
1894 (GM2-LIBS-BOOT-DEFS): Remove M2LINK.def.
1895 (GM2-LIBS-DEFS): Ditto.
1896 (m2/mc-boot/$(SRC_PREFIX)%.o): Replace CXX_FLAGS with CXXFLAGS.
1897 (m2/mc-boot-ch/$(SRC_PREFIX)%.o): Ditto.
1898 (m2/mc-boot/main.o): Ditto.
1899 (mcflex.o): Add $(CFLAGS).
1900 (m2/gm2-libs-boot/M2LINK.o): Remove rule.
1901 * gm2-compiler/M2GCCDeclare.def (DeclareM2linkGlobals): Remove.
1902 * gm2-compiler/M2GCCDeclare.mod: (M2LinkEntry): Remove.
1903 (M2LinkIndex): Remove.
1904 (DoVariableDeclaration): Remove initial and call to
1906 (AddEntryM2Link): Remove.
1907 (GetEntryM2Link): Remove.
1908 (DeclareM2linkGlobals): Remove.
1909 (DetectM2LinkInitial): Remove.
1910 (InitM2LinkModule): Remove.
1911 * gm2-compiler/M2GenGCC.mod (CodeFinallyEnd): Remove call to
1912 DeclareM2linkGlobals.
1913 * gm2-compiler/M2Quads.mod (BuildM2InitFunction): Add extra
1914 parameter containing runtime module override to ConstructModules.
1915 * gm2-compiler/M2Scaffold.mod: Update comment describing
1917 * gm2-gcc/m2decl.cc (m2decl_DeclareM2linkForcedModuleInitOrder):
1919 * gm2-libs-iso/M2RTS.def (ConstructModules): Add overrideliborder
1921 * gm2-libs-iso/M2RTS.mod: Add overrideliborder parameter.
1922 * gm2-libs/M2Dependent.def (ConstructModules): Add overrideliborder
1924 * gm2-libs/M2Dependent.mod (ConstructModules): Add overrideliborder
1926 * gm2-libs/M2RTS.def (ConstructModules): Add overrideliborder parameter.
1927 * gm2-libs/M2RTS.mod (ConstructModules): Add overrideliborder
1929 * gm2-libs/M2LINK.def: Removed.
1931 2023-03-21 Gaius Mulley <gaiusmod2@gmail.com>
1933 * Make-lang.in (m2/mc-boot/$(SRC_PREFIX)%.o): Add $(CXXFLAGS).
1934 (m2/mc-boot-ch/$(SRC_PREFIX)%.o): Add $(CXXFLAGS).
1935 (m2/mc-boot-ch/$(SRC_PREFIX)%.o): Add $(CXXFLAGS).
1936 (m2/mc-boot/main.o): Add $(CXXFLAGS).
1938 2023-03-19 Gaius Mulley <gaiusmod2@gmail.com>
1940 * Make-maintainer.in (gm2.maintainer-clean): Remove.
1941 (gm2.maintainer-help): Add gm2.maintainer-tools,
1942 gm2.maintainer-doc. Remove gm2.maintainer-clean.
1943 Change target-independent directory to target-independent/m2.
1944 * gm2-compiler/ppg.mod: Correct __FILE_ typo to __FILE__.
1945 * gm2-compiler/M2Options.def (SetAutoInit): Update comment.
1946 * gm2-compiler/M2Options.mod (SetAutoInit): Update comment.
1947 * gm2-gcc/m2color.cc (m2color_colorize_start): Rename name_len
1949 * gm2-gcc/m2color.def (colorize_start): change ARRAY OF CHAR to
1950 ADDRESS and add _name_high.
1951 * gm2-gcc/m2decl.cc (m2decl_BuildStartFunctionDeclaration): Change
1953 * gm2-gcc/m2decl.h (m2decl_BuildStartFunctionDeclaration): Change
1955 * gm2-gcc/m2expr.cc (m2expr_BuildBinarySetDo): Change int to bool.
1956 (m2expr_BuildIfConstInVar): Change int to bool.
1957 (m2expr_BuildIfNotConstInVar): Change int to bool.
1958 (m2expr_BuildIfVarInVar): Change int to bool.
1959 (m2expr_BuildIfNotVarInVar): Change int to bool.
1960 (m2expr_BuildForeachWordInSetDoIfExpr): Change int to bool.
1961 * gm2-gcc/m2expr.h (m2expr_BuildIfNotVarInVar): Change int to bool.
1962 (m2expr_BuildIfVarInVar): Change int to bool.
1963 (m2expr_BuildIfNotConstInVar): Change int to bool.
1964 (m2expr_BuildIfConstInVar): Change int to bool.
1965 * gm2-gcc/m2options.h (M2Options_SetAutoInit): Change int to bool.
1966 (M2Options_SetNilCheck): Change int to bool.
1967 (M2Options_SetReturnCheck): Change int to bool.
1968 (M2Options_SetCaseCheck): Change int to bool.
1969 (M2Options_SetCheckAll): Change int to bool.
1970 (M2Options_SetVerboseUnbounded): Change int to bool.
1971 (M2Options_SetUnboundedByReference): Change int to bool.
1972 (M2Options_SetOptimizing): Change int to bool.
1973 (M2Options_SetQuiet): Change int to bool.
1974 (M2Options_SetCpp): Change int to bool.
1975 (M2Options_SetM2g): Change int to bool.
1976 (M2Options_SetLowerCaseKeywords): Change int to bool.
1977 (M2Options_SetVerbose): Change int to bool.
1978 * gm2-gcc/m2treelib.cc (m2treelib_get_rvalue): Change int to bool.
1979 (m2treelib_get_field_no): Change int to bool.
1980 (m2treelib_get_set_value): Change int to bool.
1981 (m2treelib_get_set_address): Change int to bool.
1982 (m2treelib_get_set_address_if_var): Change int to bool.
1983 * gm2-gcc/m2treelib.def (get_set_address_if_var): Change int to bool.
1984 (get_set_address): Change int to bool.
1985 (get_set_value): Change int to bool.
1986 (get_field_no): Change int to bool.
1987 (get_rvalue): Change int to bool.
1988 * gm2-gcc/m2treelib.h (m2treelib_get_field_no): Change int to bool.
1989 (m2treelib_get_set_value): Change int to bool.
1990 (m2treelib_get_set_address): Change int to bool.
1991 (m2treelib_get_set_address_if_var): Change int to bool.
1992 * gm2-gcc/m2type.cc (m2type_BuildEndFunctionType): Change int to bool.
1993 * gm2-gcc/m2type.h (m2type_BuildEndFunctionType): Change int to bool.
1994 * gm2-libs-ch/dtoa.cc (dtoa_calcsign): Change int to bool.
1995 * gm2-libs-ch/ldtoa.cc (dtoa_calcsign): Change int to bool.
1996 (ldtoa_ldtoa): Change int to bool.
1997 * m2.flex (functionInfo): Change int to bool.
1998 (pushFunction): Change parameter from int to bool.
1999 * mc-boot/GDebug.cc (Debug_Halt): Rebuild.
2000 * mc-boot/GDebug.h (Debug_Halt): Rebuild.
2001 * mc-boot/GDynamicStrings.cc: Rebuild.
2002 * mc-boot/GDynamicStrings.h: Rebuild.
2003 * mc-boot/GFIO.cc: Rebuild.
2004 * mc-boot/GM2RTS.cc: Rebuild.
2005 * mc-boot/GM2RTS.h: Rebuild.
2006 * mc-boot/GPushBackInput.cc: Rebuild.
2007 * mc-boot/GRTExceptions.cc: Rebuild.
2008 * mc-boot/GRTint.cc: Rebuild.
2009 * mc-boot/GSysStorage.cc: Rebuild.
2010 * mc-boot/Gdecl.cc: Rebuild.
2011 * mc-boot/GsymbolKey.cc: Rebuild.
2012 * mc/symbolKey.mod: Rebuild.
2013 * target-independent/m2/Builtins.texi: Rebuild.
2014 * target-independent/m2/SYSTEM-iso.texi: Rebuild.
2015 * target-independent/m2/SYSTEM-pim.texi: Rebuild.
2016 * target-independent/m2/gm2-libs.texi: Rebuild.
2017 * tools-src/def2doc.py (PIM_Log): Change gm2-libs-pim to
2020 2023-03-17 Gaius Mulley <gaiusmod2@gmail.com>
2023 * gm2-gcc/m2expr.cc: Correct ? : order in comments.
2024 (m2expr_BuildDivM2): Improve comment.
2025 * lang.opt: Improve option descriptions.
2027 2023-03-17 Gaius Mulley <gaiusmod2@gmail.com>
2030 * gm2-gcc/m2builtins.cc (ASSERT): Change format specifier to
2031 use %qs rather than quotes.
2033 2023-03-17 Gaius Mulley <gaiusmod2@gmail.com>
2035 * gm2-compiler/M2AsmUtil.mod (SymNeedsModulePrefix):
2037 * gm2-libs/SysStorage.mod (enableTrace): Disable tracing.
2039 2023-03-16 Gaius Mulley <gaiusmod2@gmail.com>
2041 * gm2-compiler/SymbolKey.mod (PutSymKey): Halt parameters
2044 * gm2-compiler/ppg.mod (GetEpsilon): Ditto.
2045 (GetReachEnd): Ditto.
2047 (CodeCondition): Ditto.
2048 (CodeThenDo): Ditto.
2050 (RecoverCondition): Ditto.
2051 (ConditionIndent): Ditto.
2052 * gm2-libs-ch/m2rts.h (M2RTS_Halt): Ditto.
2053 * gm2-libs-coroutines/Executive.mod (Assert): Ditto.
2054 (Resume): Remove redundant comments.
2055 (Wait): Remove redundant comments.
2056 * gm2-libs-coroutines/SYSTEM.mod (TRANSFER): Halt parameters
2058 (IOTransferHandler): Ditto.
2061 * gm2-libs-coroutines/TimerHandler.mod (WaitOn): Halt parameters
2064 (ReArmEvent): Ditto.
2065 (OnActiveQueue): Ditto.
2066 * gm2-libs-iso/COROUTINES.mod (NEWCOROUTINE): Ditto.
2068 (IOTRANSFER): Ditto.
2069 * gm2-libs-iso/EXCEPTIONS.mod (RAISE): Correct Halt parameters.
2070 * gm2-libs-iso/M2RTS.def (Halt): Halt parameters reordered.
2072 * gm2-libs-iso/M2RTS.mod: Ditto.
2073 * gm2-libs-iso/RTentity.mod (PutKey): Ditto.
2075 (findChildAndParent): Ditto.
2077 * gm2-libs-iso/Storage.mod (ALLOCATE): Add DebugTrace.
2078 Add UseMallocFree test.
2079 (DEALLOCATE): Add DebugTrace. Add UseMallocFree test.
2080 (assert): Halt parameters reordered.
2081 * gm2-libs-log/Termbase.mod (Read): Ditto.
2082 (KeyPressed): Ditto.
2085 * gm2-libs/Debug.def (Halt): Halt parameters reordered.
2086 * gm2-libs/Debug.mod (Halt): Ditto.
2087 * gm2-libs/DynamicStrings.def (PopAllocation): Improve comment.
2088 * gm2-libs/DynamicStrings.mod (PopAllocation): Improve comment.
2089 Halt parameters reordered.
2090 * gm2-libs/M2RTS.def (Halt): Ditto.
2092 * gm2-libs/M2RTS.mod (Halt): Ditto.
2094 * gm2-libs/PushBackInput.mod (PutStr): Ditto.
2097 * gm2-libs/RTExceptions.mod (GetBaseExceptionBlock): Ditto.
2098 * gm2-libs/RTint.mod (ReArmTimeVector): Ditto.
2099 (GetTimeVector): Ditto.
2100 (AttachVector): Ditto.
2101 (IncludeVector): Ditto.
2103 * gm2-libs/SysStorage.mod (ALLOCATE): Ditto.
2104 (DEALLOCATE): Ditto.
2105 (REALLOCATE): Ditto.
2106 * gm2-libs-coroutines/Debug.def: Removed.
2107 * gm2-libs-coroutines/Debug.mod: Removed.
2109 2023-03-16 Gaius Mulley <gaiusmod2@gmail.com>
2111 * Make-lang.in: Rename target-independent to
2112 target-independent/m2.
2113 * target-independent/readme.txt: Update.
2114 * target-independent/m2/gm2-ebnf.texi: New file.
2115 * target-independent/m2/gpl_v3_without_node.texi: New file.
2116 * target-independent/Builtins.texi: Rename ...
2117 * target-independent/m2/Builtins.texi: ... to this.
2118 * target-independent/SYSTEM-iso.texi: Rename ...
2119 * target-independent/m2/SYSTEM-iso.texi: ... to this.
2120 * target-independent/SYSTEM-pim.texi: Rename ...
2121 * target-independent/m2/SYSTEM-pim.texi: ... to this.
2122 * target-independent/gm2-libs.texi: Rename ...
2123 * target-independent/m2/gm2-libs.texi: ... to this.
2125 2023-03-15 Gaius Mulley <gaiusmod2@gmail.com>
2128 * gm2-libs-ch/dtoa.cc (dtoa_strtod): Replace int with bool.
2129 * gm2-libs-ch/ldtoa.cc (ldtoa_strtold): Replace int with bool.
2131 2023-03-14 Gaius Mulley <gaiusmod2@gmail.com>
2134 * gm2-libs-ch/cgetopt.c (cgetopt_SetOption): Replace int
2136 * gm2-libs-ch/termios.c (doSetUnset): Replace int for bool.
2137 * gm2-libs/Builtins.mod (isfinitef): Correct typo in return
2140 2023-03-13 Gaius Mulley <gaiusmod2@gmail.com>
2143 * gm2-compiler/M2ALU.def (PushString): New parameter issueError.
2144 * gm2-compiler/M2ALU.mod (PushString): New parameter issueError.
2145 * gm2-compiler/SymbolTable.mod (PushString): New parameter issueError.
2146 * gm2-gcc/m2decl.cc (m2decl_DetermineSizeOfConstant): Pass
2147 location to interpret_m2_integer.
2148 (m2decl_BuildConstLiteralNumber): New parameter issueError.
2149 * gm2-gcc/m2expr.cc (m2expr_IsTrue): Replace int with bool.
2150 (m2expr_IsFalse): Replace int with bool.
2151 (m2expr_AreConstantsEqual): Replace int with bool.
2152 (m2expr_BuildBinaryForeachWordDo): Call m2linemap_internal_error_at.
2153 (append_digit): Ditto.
2154 (m2expr_interpret_integer): Add location parameter.
2155 (append_m2_digit): Call m2linemap_internal_error_at.
2156 (m2expr_interpret_m2_integer): Add location parameter.
2157 (m2expr_GetSizeOf): Replace sizeof with SIZE in error message.
2158 * gm2-gcc/m2expr.h (m2expr_AreRealOrComplexConstantsEqual):
2159 Replace int with bool.
2160 (m2expr_AreConstantsEqual): Ditto.
2161 (m2expr_IsFalse): Ditto.
2162 (m2expr_IsTrue): Ditto.
2163 (m2expr_interpret_integer): Add location parameter.
2164 (m2expr_interpret_m2_integer): Add location parameter.
2165 * gm2-gcc/m2linemap.cc (mformat_value): New function.
2166 (expand_format): New function.
2167 (expand_message): New function.
2168 (gm2_internal_error_at): New function.
2169 (m2linemap_internal_error_at): New function.
2170 * gm2-gcc/m2linemap.h (m2linemap_internal_error_at): New function.
2171 * gm2-gcc/m2options.h (M2Options_SetISO): Replace int with bool.
2172 (M2Options_SetPIM): Ditto.
2173 (M2Options_SetPIM2): Ditto.
2174 (M2Options_SetPIM3): Ditto.
2175 (M2Options_SetPIM4): Ditto.
2176 (M2Options_SetFloatValueCheck): Ditto.
2177 (M2Options_SetWholeValueCheck): Ditto.
2178 (M2Options_GetISO): Ditto.
2179 (M2Options_GetPIM): Ditto.
2180 (M2Options_GetPIM2): Ditto.
2181 (M2Options_GetPIM3): Ditto.
2182 (M2Options_GetPIM4): Ditto.
2183 (M2Options_GetPositiveModFloor): Ditto.
2184 (M2Options_GetFloatValueCheck): Ditto.
2185 (M2Options_GetWholeValueCheck): Ditto.
2186 (M2Options_Setc): Ditto.
2187 (M2Options_Getc): Ditto.
2188 (M2Options_SetPPOnly): Ditto.
2189 (M2Options_GetPPOnly): Ditto.
2190 (M2Options_SetUselist): Ditto.
2191 (M2Options_SetAutoInit): Ditto.
2192 (M2Options_SetPositiveModFloor): Ditto.
2193 (M2Options_SetNilCheck): Ditto.
2194 (M2Options_SetWholeDiv): Ditto.
2195 (M2Options_SetIndex): Ditto.
2196 (M2Options_SetRange): Ditto.
2197 (M2Options_SetReturnCheck): Ditto.
2198 (M2Options_SetCaseCheck): Ditto.
2199 (M2Options_SetCheckAll): Ditto.
2200 (M2Options_SetExceptions): Ditto.
2201 (M2Options_SetStyle): Ditto.
2202 (M2Options_SetPedantic): Ditto.
2203 (M2Options_SetPedanticParamNames): Ditto.
2204 (M2Options_SetPedanticCast): Ditto.
2205 (M2Options_SetExtendedOpaque): Ditto.
2206 (M2Options_SetVerboseUnbounded): Ditto.
2207 (M2Options_SetXCode): Ditto.
2208 (M2Options_SetCompilerDebugging): Ditto.
2209 (M2Options_SetQuadDebugging): Ditto.
2210 (M2Options_SetDebugTraceQuad): Ditto.
2211 (M2Options_SetDebugTraceAPI): Ditto.
2212 (M2Options_SetSources): Ditto.
2213 (M2Options_SetUnboundedByReference): Ditto.
2214 (M2Options_SetDumpSystemExports): Ditto.
2215 (M2Options_SetOptimizing): Ditto.
2216 (M2Options_SetQuiet): Ditto.
2217 (M2Options_SetCC1Quiet): Ditto.
2218 (M2Options_SetCpp): Ditto.
2219 (M2Options_SetSwig): Ditto.
2220 (M2Options_SetWholeProgram): Ditto.
2221 (M2Options_SetDebugFunctionLineNumbers): Ditto.
2222 (M2Options_SetGenerateStatementNote): Ditto.
2223 (M2Options_GetCpp): Ditto.
2224 (M2Options_GetM2g): Ditto.
2225 (M2Options_SetM2g): Ditto.
2226 (M2Options_SetLowerCaseKeywords): Ditto.
2227 (M2Options_SetVerbose): Ditto.
2228 (M2Options_SetUnusedVariableChecking): Ditto.
2229 (M2Options_SetUnusedParameterChecking): Ditto.
2230 (M2Options_SetStrictTypeChecking): Ditto.
2231 (M2Options_SetWall): Ditto.
2232 (M2Options_SetSaveTemps): Ditto.
2233 (M2Options_GetSaveTemps): Ditto.
2234 (M2Options_SetScaffoldStatic): Ditto.
2235 (M2Options_SetScaffoldDynamic): Ditto.
2236 (M2Options_SetScaffoldMain): Ditto.
2237 (M2Options_SetGenModuleList): Ditto.
2238 (M2Options_SetShared): Ditto.
2239 * gm2-libs-ch/M2LINK.c: Ditto.
2240 * gm2-libs-ch/m2rts.h (M2RTS_RequestDependant): Replace
2241 const char * with const void *.
2242 (M2RTS_RegisterModule): Ditto.
2243 (M2RTS_ConstructModules): Ditto.
2244 * gm2-gcc/m2decl.def (DetermineSizeOfConstant): New parameter
2246 * gm2-gcc/m2decl.h (DetermineSizeOfConstant): New parameter
2249 2023-03-12 Gaius Mulley <gaiusmod2@gmail.com>
2252 * gm2-compiler/M2GCCDeclare.mod (DeclareKnownType): Import.
2253 * gm2-gcc/gcc-consolidation.h (stdbool.h): Include.
2254 * gm2-gcc/init.h (defined): Change block start.
2255 * gm2-gcc/m2block.cc: Change FALSE to false, change TRUE to true.
2256 * gm2-gcc/m2block.h: Change int to bool.
2257 * gm2-gcc/m2builtins.cc: Ditto.
2258 * gm2-gcc/m2builtins.h: Ditto.
2259 * gm2-gcc/m2convert.cc: Change FALSE to false, TRUE to true and
2261 * gm2-gcc/m2convert.h: Change int to bool.
2262 * gm2-gcc/m2decl.cc: Change int to bool.
2263 * gm2-gcc/m2decl.h: Change int to bool.
2264 * gm2-gcc/m2expr.cc: Change FALSE to false, TRUE to true and
2266 * gm2-gcc/m2expr.h: Change int to bool.
2267 * gm2-gcc/m2statement.cc: Change FALSE to false, TRUE to true and
2269 * gm2-gcc/m2statement.h: Change int to bool.
2270 * gm2-gcc/m2top.cc: Change int to bool.
2271 * gm2-gcc/m2top.h: Change int to bool.
2272 * gm2-gcc/m2tree.cc: Change int to bool.
2273 * gm2-gcc/m2tree.h: Change int to bool.
2274 * gm2-gcc/m2type.cc: Change int to bool.
2275 * gm2-gcc/m2type.h: Change int to bool.
2276 * gm2-lang.cc (convert_loc): Call convert_to_integer for BOOLEAN_TYPE.
2277 * gm2-libs/Builtins.def (isfinitef): Change return value from
2281 * gm2-libs/Builtins.mod (isfinitef): Change return value from
2285 * mc-boot/GASCII.cc: Rebuild.
2286 * mc-boot/GASCII.h: Rebuild.
2287 * mc-boot/GArgs.cc: Rebuild.
2288 * mc-boot/GArgs.h: Rebuild.
2289 * mc-boot/GAssertion.cc: Rebuild.
2290 * mc-boot/GAssertion.h: Rebuild.
2291 * mc-boot/GBreak.cc: Rebuild.
2292 * mc-boot/GBreak.h: Rebuild.
2293 * mc-boot/GCOROUTINES.h: Rebuild.
2294 * mc-boot/GCmdArgs.cc: Rebuild.
2295 * mc-boot/GCmdArgs.h: Rebuild.
2296 * mc-boot/GDebug.cc: Rebuild.
2297 * mc-boot/GDebug.h: Rebuild.
2298 * mc-boot/GDynamicStrings.cc: Rebuild.
2299 * mc-boot/GDynamicStrings.h: Rebuild.
2300 * mc-boot/GEnvironment.cc: Rebuild.
2301 * mc-boot/GEnvironment.h: Rebuild.
2302 * mc-boot/GFIO.cc: Rebuild.
2303 * mc-boot/GFIO.h: Rebuild.
2304 * mc-boot/GFormatStrings.cc: Rebuild.
2305 * mc-boot/GFormatStrings.h: Rebuild.
2306 * mc-boot/GFpuIO.cc: Rebuild.
2307 * mc-boot/GFpuIO.h: Rebuild.
2308 * mc-boot/GIO.cc: Rebuild.
2309 * mc-boot/GIO.h: Rebuild.
2310 * mc-boot/GIndexing.cc: Rebuild.
2311 * mc-boot/GIndexing.h: Rebuild.
2312 * mc-boot/GM2Dependent.cc: Rebuild.
2313 * mc-boot/GM2Dependent.h: Rebuild.
2314 * mc-boot/GM2EXCEPTION.cc: Rebuild.
2315 * mc-boot/GM2EXCEPTION.h: Rebuild.
2316 * mc-boot/GM2LINK.h: Rebuild.
2317 * mc-boot/GM2RTS.cc: Rebuild.
2318 * mc-boot/GM2RTS.h: Rebuild.
2319 * mc-boot/GMemUtils.cc: Rebuild.
2320 * mc-boot/GMemUtils.h: Rebuild.
2321 * mc-boot/GNumberIO.cc: Rebuild.
2322 * mc-boot/GNumberIO.h: Rebuild.
2323 * mc-boot/GPushBackInput.cc: Rebuild.
2324 * mc-boot/GPushBackInput.h: Rebuild.
2325 * mc-boot/GRTExceptions.cc: Rebuild.
2326 * mc-boot/GRTExceptions.h: Rebuild.
2327 * mc-boot/GRTco.h: Rebuild.
2328 * mc-boot/GRTentity.h: Rebuild.
2329 * mc-boot/GRTint.cc: Rebuild.
2330 * mc-boot/GRTint.h: Rebuild.
2331 * mc-boot/GSArgs.cc: Rebuild.
2332 * mc-boot/GSArgs.h: Rebuild.
2333 * mc-boot/GSFIO.cc: Rebuild.
2334 * mc-boot/GSFIO.h: Rebuild.
2335 * mc-boot/GSYSTEM.h: Rebuild.
2336 * mc-boot/GSelective.h: Rebuild.
2337 * mc-boot/GStdIO.cc: Rebuild.
2338 * mc-boot/GStdIO.h: Rebuild.
2339 * mc-boot/GStorage.cc: Rebuild.
2340 * mc-boot/GStorage.h: Rebuild.
2341 * mc-boot/GStrCase.cc: Rebuild.
2342 * mc-boot/GStrCase.h: Rebuild.
2343 * mc-boot/GStrIO.cc: Rebuild.
2344 * mc-boot/GStrIO.h: Rebuild.
2345 * mc-boot/GStrLib.cc: Rebuild.
2346 * mc-boot/GStrLib.h: Rebuild.
2347 * mc-boot/GStringConvert.cc: Rebuild.
2348 * mc-boot/GStringConvert.h: Rebuild.
2349 * mc-boot/GSysExceptions.h: Rebuild.
2350 * mc-boot/GSysStorage.cc: Rebuild.
2351 * mc-boot/GSysStorage.h: Rebuild.
2352 * mc-boot/GTimeString.cc: Rebuild.
2353 * mc-boot/GTimeString.h: Rebuild.
2354 * mc-boot/GUnixArgs.h: Rebuild.
2355 * mc-boot/Galists.cc: Rebuild.
2356 * mc-boot/Galists.h: Rebuild.
2357 * mc-boot/Gdecl.cc: Rebuild.
2358 * mc-boot/Gdecl.h: Rebuild.
2359 * mc-boot/Gdtoa.h: Rebuild.
2360 * mc-boot/Gerrno.h: Rebuild.
2361 * mc-boot/Gkeyc.cc: Rebuild.
2362 * mc-boot/Gkeyc.h: Rebuild.
2363 * mc-boot/Gldtoa.h: Rebuild.
2364 * mc-boot/Glibc.h: Rebuild.
2365 * mc-boot/Glibm.h: Rebuild.
2366 * mc-boot/Glists.cc: Rebuild.
2367 * mc-boot/Glists.h: Rebuild.
2368 * mc-boot/GmcComment.cc: Rebuild.
2369 * mc-boot/GmcComment.h: Rebuild.
2370 * mc-boot/GmcComp.cc: Rebuild.
2371 * mc-boot/GmcComp.h: Rebuild.
2372 * mc-boot/GmcDebug.cc: Rebuild.
2373 * mc-boot/GmcDebug.h: Rebuild.
2374 * mc-boot/GmcError.cc: Rebuild.
2375 * mc-boot/GmcError.h: Rebuild.
2376 * mc-boot/GmcFileName.cc: Rebuild.
2377 * mc-boot/GmcFileName.h: Rebuild.
2378 * mc-boot/GmcLexBuf.cc: Rebuild.
2379 * mc-boot/GmcLexBuf.h: Rebuild.
2380 * mc-boot/GmcMetaError.cc: Rebuild.
2381 * mc-boot/GmcMetaError.h: Rebuild.
2382 * mc-boot/GmcOptions.cc: Rebuild.
2383 * mc-boot/GmcOptions.h: Rebuild.
2384 * mc-boot/GmcPreprocess.cc: Rebuild.
2385 * mc-boot/GmcPreprocess.h: Rebuild.
2386 * mc-boot/GmcPretty.cc: Rebuild.
2387 * mc-boot/GmcPretty.h: Rebuild.
2388 * mc-boot/GmcPrintf.cc: Rebuild.
2389 * mc-boot/GmcPrintf.h: Rebuild.
2390 * mc-boot/GmcQuiet.cc: Rebuild.
2391 * mc-boot/GmcQuiet.h: Rebuild.
2392 * mc-boot/GmcReserved.cc: Rebuild.
2393 * mc-boot/GmcReserved.h: Rebuild.
2394 * mc-boot/GmcSearch.cc: Rebuild.
2395 * mc-boot/GmcSearch.h: Rebuild.
2396 * mc-boot/GmcStack.cc: Rebuild.
2397 * mc-boot/GmcStack.h: Rebuild.
2398 * mc-boot/GmcStream.cc: Rebuild.
2399 * mc-boot/GmcStream.h: Rebuild.
2400 * mc-boot/Gmcflex.h: Rebuild.
2401 * mc-boot/Gmcp1.cc: Rebuild.
2402 * mc-boot/Gmcp1.h: Rebuild.
2403 * mc-boot/Gmcp2.cc: Rebuild.
2404 * mc-boot/Gmcp2.h: Rebuild.
2405 * mc-boot/Gmcp3.cc: Rebuild.
2406 * mc-boot/Gmcp3.h: Rebuild.
2407 * mc-boot/Gmcp4.cc: Rebuild.
2408 * mc-boot/Gmcp4.h: Rebuild.
2409 * mc-boot/Gmcp5.cc: Rebuild.
2410 * mc-boot/Gmcp5.h: Rebuild.
2411 * mc-boot/GnameKey.cc: Rebuild.
2412 * mc-boot/GnameKey.h: Rebuild.
2413 * mc-boot/GsymbolKey.cc: Rebuild.
2414 * mc-boot/GsymbolKey.h: Rebuild.
2415 * mc-boot/Gtermios.h: Rebuild.
2416 * mc-boot/Gtop.cc: Rebuild.
2417 * mc-boot/Gvarargs.cc: Rebuild.
2418 * mc-boot/Gvarargs.h: Rebuild.
2419 * mc-boot/Gwlists.cc: Rebuild.
2420 * mc-boot/Gwlists.h: Rebuild.
2421 * mc-boot/Gwrapc.h: Rebuild.
2422 * mc/decl.mod (doBoolC): New procedure.
2423 (doBaseC): Call doBoolC.
2424 * mc/keyc.mod: Import useBool.
2425 (genBool): New procedure.
2426 (genDefs): Call genBool.
2427 * mc/mcOptions.def (useBool): New procedure.
2428 * mc/mcOptions.mod (useBool): New procedure.
2429 (useBoolType): New variable.
2430 (optionIs): Assign useBoolType to TRUE.
2432 2023-03-04 Gaius Mulley <gaiusmod2@gmail.com>
2434 * mc-boot-ch/GBuiltins.cc: New file.
2435 * mc-boot-ch/Gdtoa.cc: New file.
2436 * mc-boot-ch/Gerrno.cc: New file.
2437 * mc-boot-ch/Gldtoa.cc: New file.
2438 * mc-boot-ch/Gm2rtsdummy.cc: New file.
2439 * mc-boot/GASCII.cc: New file.
2440 * mc-boot/GArgs.cc: New file.
2441 * mc-boot/GAssertion.cc: New file.
2442 * mc-boot/GBreak.cc: New file.
2443 * mc-boot/GCmdArgs.cc: New file.
2444 * mc-boot/GDebug.cc: New file.
2445 * mc-boot/GDynamicStrings.cc: New file.
2446 * mc-boot/GEnvironment.cc: New file.
2447 * mc-boot/GFIO.cc: New file.
2448 * mc-boot/GFormatStrings.cc: New file.
2449 * mc-boot/GFpuIO.cc: New file.
2450 * mc-boot/GIO.cc: New file.
2451 * mc-boot/GIndexing.cc: New file.
2452 * mc-boot/GM2Dependent.cc: New file.
2453 * mc-boot/GM2EXCEPTION.cc: New file.
2454 * mc-boot/GM2RTS.cc: New file.
2455 * mc-boot/GMemUtils.cc: New file.
2456 * mc-boot/GNumberIO.cc: New file.
2457 * mc-boot/GPushBackInput.cc: New file.
2458 * mc-boot/GRTExceptions.cc: New file.
2459 * mc-boot/GRTint.cc: New file.
2460 * mc-boot/GSArgs.cc: New file.
2461 * mc-boot/GSFIO.cc: New file.
2462 * mc-boot/GStdIO.cc: New file.
2463 * mc-boot/GStorage.cc: New file.
2464 * mc-boot/GStrCase.cc: New file.
2465 * mc-boot/GStrIO.cc: New file.
2466 * mc-boot/GStrLib.cc: New file.
2467 * mc-boot/GStringConvert.cc: New file.
2468 * mc-boot/GSysStorage.cc: New file.
2469 * mc-boot/GTimeString.cc: New file.
2470 * mc-boot/Galists.cc: New file.
2471 * mc-boot/Gdecl.cc: New file.
2472 * mc-boot/Gkeyc.cc: New file.
2473 * mc-boot/Glists.cc: New file.
2474 * mc-boot/GmcComment.cc: New file.
2475 * mc-boot/GmcComp.cc: New file.
2476 * mc-boot/GmcDebug.cc: New file.
2477 * mc-boot/GmcError.cc: New file.
2478 * mc-boot/GmcFileName.cc: New file.
2479 * mc-boot/GmcLexBuf.cc: New file.
2480 * mc-boot/GmcMetaError.cc: New file.
2481 * mc-boot/GmcOptions.cc: New file.
2482 * mc-boot/GmcPreprocess.cc: New file.
2483 * mc-boot/GmcPretty.cc: New file.
2484 * mc-boot/GmcPrintf.cc: New file.
2485 * mc-boot/GmcQuiet.cc: New file.
2486 * mc-boot/GmcReserved.cc: New file.
2487 * mc-boot/GmcSearch.cc: New file.
2488 * mc-boot/GmcStack.cc: New file.
2489 * mc-boot/GmcStream.cc: New file.
2490 * mc-boot/Gmcp1.cc: New file.
2491 * mc-boot/Gmcp2.cc: New file.
2492 * mc-boot/Gmcp3.cc: New file.
2493 * mc-boot/Gmcp4.cc: New file.
2494 * mc-boot/Gmcp5.cc: New file.
2495 * mc-boot/GnameKey.cc: New file.
2496 * mc-boot/GsymbolKey.cc: New file.
2497 * mc-boot/Gtop.cc: New file.
2498 * mc-boot/Gvarargs.cc: New file.
2499 * mc-boot/Gwlists.cc: New file.
2500 * pge-boot/GASCII.cc: New file.
2501 * pge-boot/GArgs.cc: New file.
2502 * pge-boot/GAssertion.cc: New file.
2503 * pge-boot/GBuiltins.cc: New file.
2504 * pge-boot/GDebug.cc: New file.
2505 * pge-boot/GDynamicStrings.cc: New file.
2506 * pge-boot/GFIO.cc: New file.
2507 * pge-boot/GIO.cc: New file.
2508 * pge-boot/GIndexing.cc: New file.
2509 * pge-boot/GLists.cc: New file.
2510 * pge-boot/GM2Dependent.cc: New file.
2511 * pge-boot/GM2EXCEPTION.cc: New file.
2512 * pge-boot/GM2LINK.cc: New file.
2513 * pge-boot/GM2RTS.cc: New file.
2514 * pge-boot/GNameKey.cc: New file.
2515 * pge-boot/GNumberIO.cc: New file.
2516 * pge-boot/GOutput.cc: New file.
2517 * pge-boot/GPushBackInput.cc: New file.
2518 * pge-boot/GRTExceptions.cc: New file.
2519 * pge-boot/GRTco.cc: New file.
2520 * pge-boot/GSFIO.cc: New file.
2521 * pge-boot/GSYSTEM.cc: New file.
2522 * pge-boot/GSelective.cc: New file.
2523 * pge-boot/GStdIO.cc: New file.
2524 * pge-boot/GStorage.cc: New file.
2525 * pge-boot/GStrCase.cc: New file.
2526 * pge-boot/GStrIO.cc: New file.
2527 * pge-boot/GStrLib.cc: New file.
2528 * pge-boot/GSymbolKey.cc: New file.
2529 * pge-boot/GSysExceptions.cc: New file.
2530 * pge-boot/GSysStorage.cc: New file.
2531 * pge-boot/Gabort.cc: New file.
2532 * pge-boot/Gbnflex.cc: New file.
2533 * pge-boot/Gcbuiltin.cc: New file.
2534 * pge-boot/Gdtoa.cc: New file.
2535 * pge-boot/Gerrno.cc: New file.
2536 * pge-boot/Gldtoa.cc: New file.
2537 * pge-boot/Glibc.cc: New file.
2538 * pge-boot/Glibm.cc: New file.
2539 * pge-boot/Gmcrts.cc: New file.
2540 * pge-boot/Gpge.cc: New file.
2541 * pge-boot/Gwrapc.cc: New file.
2542 * pge-boot/main.cc: New file.
2543 * pge-boot/network.cc: New file.
2545 2023-03-04 Gaius Mulley <gaiusmod2@gmail.com>
2547 * Make-lang.in (MC-LIB-BOOT-C): Rename to MC-LIB-BOOT-CC.
2548 (MC-BOOT-C): Rename to MC-BOOT-CC.
2549 (BUILD-MC-BOOT-C): Rename to BUILD-MC-BOOT-CC.
2550 (BUILD-MC-BOOT-AUTO-C): Rename to BUILD-MC-BOOT-AUTO-CC.
2551 (m2/mc-boot/$(SRC_PREFIX)%.o): Change source file extension to .cc.
2552 (m2/mc-boot-ch/$(SRC_PREFIX)%.o): Ditto.
2553 * Make-maintainer.in (m2/gm2-ppg-boot/$(SRC_PREFIX)%.o): Change
2554 source file extension to .cc.
2555 (m2/gm2-ppg-boot/main.o): Ditto.
2556 (m2/gm2-ppg-boot/$(SRC_PREFIX)%.o): Ditto.
2558 (m2/gm2-pg-boot/main.o): Ditto.
2559 (m2/gm2-pge-boot/$(SRC_PREFIX)ldtoa.o): Ditto.
2560 (m2/gm2-pge-boot/$(SRC_PREFIX)dtoa.o): Ditto.
2561 (m2/gm2-pge-boot/$(SRC_PREFIX)errno.o): Ditto.
2562 (m2/gm2-pge-boot/$(SRC_PREFIX)M2RTS.o): Ditto.
2563 (m2/gm2-pge-boot/$(SRC_PREFIX)%.o): Ditto.
2564 (m2/gm2-pge-boot/$(SRC_PREFIX)%.o): Ditto.
2565 (m2/gm2-pge-boot/$(SRC_PREFIX)pge.o): Ditto.
2566 (m2/gm2-pge-boot/main.o): Ditto.
2570 ((objdir)/m2/mc-boot-gen): Ditto.
2571 (m2/mc-boot-gen/$(SRC_PREFIX)decl.c): Ditto.
2572 (m2/mc-boot-gen/$(SRC_PREFIX)%.c): Ditto.
2573 * mc-boot-ch/GBuiltins.c: Correct comment and rename.
2574 * mc-boot-ch/Gdtoa.c: Correct comment and rename.
2575 * mc-boot-ch/Gldtoa.c: Correct comment and rename
2576 * mc-boot-ch/Gtermios.cc: Rename from Gtermios.c.
2577 * mc-boot-ch/Gerrno.c: Rename.
2578 * mc-boot-ch/GRTco.c: Removed.
2579 * mc-boot/GASCII.c: Rename to mc-boot/GASCII.cc.
2580 * mc-boot/GArgs.c: Rename to mc-boot/GArgs.cc.
2581 * mc-boot/GAssertion.c: Rename to mc-boot/GAssertion.cc.
2582 * mc-boot/GBreak.c: Rename to mc-boot/GBreak.cc.
2583 * mc-boot/GCmdArgs.c: Rename to mc-boot/GCmdArgs.cc.
2584 * mc-boot/GDebug.c: Rename to mc-boot/GDebug.cc.
2585 * mc-boot/GDynamicStrings.c: Rename to mc-boot/GDynamicStrings.cc.
2586 * mc-boot/GEnvironment.c: Rename to mc-boot/GEnvironment.cc.
2587 * mc-boot/GFIO.c: Rename to mc-boot/GFIO.cc.
2588 * mc-boot/GFormatStrings.c: Rename to mc-boot/GFormatStrings.cc.
2589 * mc-boot/GFpuIO.c: Rename to mc-boot/GFpuIO.cc.
2590 * mc-boot/GIO.c: Rename to mc-boot/GIO.cc.
2591 * mc-boot/GIndexing.c: Rename to mc-boot/GIndexing.cc.
2592 * mc-boot/GM2Dependent.c: Rename to mc-boot/GM2Dependent.cc.
2593 * mc-boot/GM2EXCEPTION.c: Rename to mc-boot/GM2EXCEPTION.cc.
2594 * mc-boot/GM2RTS.c: Rename to mc-boot/GM2RTS.cc.
2595 * mc-boot/GMemUtils.c: Rename to mc-boot/GMemUtils.cc.
2596 * mc-boot/GNumberIO.c: Rename to mc-boot/GNumberIO.cc.
2597 * mc-boot/GPushBackInput.c: Rename to mc-boot/GPushBackInput.cc.
2598 * mc-boot/GRTExceptions.c: Rename to mc-boot/GRTExceptions.cc.
2599 * mc-boot/GRTint.c: Rename to mc-boot/GRTint.cc.
2600 * mc-boot/GSArgs.c: Rename to mc-boot/GSArgs.cc.
2601 * mc-boot/GSFIO.c: Rename to mc-boot/GSFIO.cc.
2602 * mc-boot/GStdIO.c: Rename to mc-boot/GStdIO.cc.
2603 * mc-boot/GStorage.c: Rename to mc-boot/GStorage.cc.
2604 * mc-boot/GStrCase.c: Rename to mc-boot/GStrCase.cc.
2605 * mc-boot/GStrIO.c: Rename to mc-boot/GStrIO.cc.
2606 * mc-boot/GStrLib.c: Rename to mc-boot/GStrLib.cc.
2607 * mc-boot/GStringConvert.c: Rename to mc-boot/GStringConvert.cc.
2608 * mc-boot/GSysStorage.c: Rename to mc-boot/GSysStorage.cc.
2609 * mc-boot/GTimeString.c: Rename to mc-boot/GTimeString.cc.
2610 * mc-boot/Galists.c: Rename to mc-boot/Galists.cc.
2611 * mc-boot/Gdecl.c: Rename to mc-boot/Gdecl.cc.
2612 * mc-boot/Gkeyc.c: Rename to mc-boot/Gkeyc.cc.
2613 * mc-boot/Glists.c: Rename to mc-boot/Glists.cc.
2614 * mc-boot/GmcComment.c: Rename to mc-boot/GmcComment.cc.
2615 * mc-boot/GmcComp.c: Rename to mc-boot/GmcComp.cc.
2616 * mc-boot/GmcDebug.c: Rename to mc-boot/GmcDebug.cc.
2617 * mc-boot/GmcError.c: Rename to mc-boot/GmcError.cc.
2618 * mc-boot/GmcFileName.c: Rename to mc-boot/GmcFileName.cc.
2619 * mc-boot/GmcLexBuf.c: Rename to mc-boot/GmcLexBuf.cc.
2620 * mc-boot/GmcMetaError.c: Rename to mc-boot/GmcMetaError.cc.
2621 * mc-boot/GmcOptions.c: Rename to mc-boot/GmcOptions.cc.
2622 * mc-boot/GmcPreprocess.c: Rename to mc-boot/GmcPreprocess.cc.
2623 * mc-boot/GmcPretty.c: Rename to mc-boot/GmcPretty.cc.
2624 * mc-boot/GmcPrintf.c: Rename to mc-boot/GmcPrintf.cc.
2625 * mc-boot/GmcQuiet.c: Rename to mc-boot/GmcQuiet.cc.
2626 * mc-boot/GmcReserved.c: Rename to mc-boot/GmcReserved.cc.
2627 * mc-boot/GmcSearch.c: Rename to mc-boot/GmcSearch.cc.
2628 * mc-boot/GmcStack.c: Rename to mc-boot/GmcStack.cc.
2629 * mc-boot/GmcStream.c: Rename to mc-boot/GmcStream.cc.
2630 * mc-boot/Gmcp1.c: Rename to mc-boot/Gmcp1.cc.
2631 * mc-boot/Gmcp2.c: Rename to mc-boot/Gmcp2.cc.
2632 * mc-boot/Gmcp3.c: Rename to mc-boot/Gmcp3.cc.
2633 * mc-boot/Gmcp4.c: Rename to mc-boot/Gmcp4.cc.
2634 * mc-boot/Gmcp5.c: Rename to mc-boot/Gmcp5.cc.
2635 * mc-boot/GnameKey.c: Rename to mc-boot/GnameKey.cc.
2636 * mc-boot/GsymbolKey.c: Rename to mc-boot/GsymbolKey.cc.
2637 * mc-boot/Gtop.c: Rename to mc-boot/Gtop.cc.
2638 * mc-boot/Gvarargs.c: Rename to mc-boot/Gvarargs.cc.
2639 * mc-boot/Gwlists.c: Rename to mc-boot/Gwlists.cc.
2640 * pge-boot/GASCII.c: Rename to pge-boot/GASCII.cc.
2641 * pge-boot/GArgs.c: Rename to pge-boot/GArgs.cc.
2642 * pge-boot/GAssertion.c: Rename to pge-boot/GAssertion.cc.
2643 * pge-boot/GBuiltins.c: Rename to pge-boot/GBuiltins.cc.
2644 * pge-boot/GDebug.c: Rename to pge-boot/GDebug.cc.
2645 * pge-boot/GDynamicStrings.c: Rename to pge-boot/GDynamicStrings.cc.
2646 * pge-boot/GFIO.c: Rename to pge-boot/GFIO.cc.
2647 * pge-boot/GIO.c: Rename to pge-boot/GIO.cc.
2648 * pge-boot/GIndexing.c: Rename to pge-boot/GIndexing.cc.
2649 * pge-boot/GLists.c: Rename to pge-boot/GLists.cc.
2650 * pge-boot/GM2Dependent.c: Rename to pge-boot/GM2Dependent.cc.
2651 * pge-boot/GM2EXCEPTION.c: Rename to pge-boot/GM2EXCEPTION.cc.
2652 * pge-boot/GM2LINK.c: Rename to pge-boot/GM2LINK.cc.
2653 * pge-boot/GM2RTS.c: Rename to pge-boot/GM2RTS.cc.
2654 * pge-boot/GNameKey.c: Rename to pge-boot/GNameKey.cc.
2655 * pge-boot/GNumberIO.c: Rename to pge-boot/GNumberIO.cc.
2656 * pge-boot/GOutput.c: Rename to pge-boot/GOutput.cc.
2657 * pge-boot/GPushBackInput.c: Rename to pge-boot/GPushBackInput.cc.
2658 * pge-boot/GRTExceptions.c: Rename to pge-boot/GRTExceptions.cc.
2659 * pge-boot/GRTco.c: Rename to pge-boot/GRTco.cc.
2660 * pge-boot/GSFIO.c: Rename to pge-boot/GSFIO.cc.
2661 * pge-boot/GSYSTEM.c: Rename to pge-boot/GSYSTEM.cc.
2662 * pge-boot/GSelective.c: Rename to pge-boot/GSelective.cc.
2663 * pge-boot/GStdIO.c: Rename to pge-boot/GStdIO.cc.
2664 * pge-boot/GStorage.c: Rename to pge-boot/GStorage.cc.
2665 * pge-boot/GStrCase.c: Rename to pge-boot/GStrCase.cc.
2666 * pge-boot/GStrIO.c: Rename to pge-boot/GStrIO.cc.
2667 * pge-boot/GStrLib.c: Rename to pge-boot/GStrLib.cc.
2668 * pge-boot/GSymbolKey.c: Rename to pge-boot/GSymbolKey.cc.
2669 * pge-boot/GSysExceptions.c: Rename to pge-boot/GSysExceptions.cc.
2670 * pge-boot/GSysStorage.c: Rename to pge-boot/GSysStorage.cc.
2671 * pge-boot/Gabort.c: Rename to pge-boot/Gabort.cc.
2672 * pge-boot/Gbnflex.c: Rename to pge-boot/Gbnflex.cc.
2673 * pge-boot/Gcbuiltin.c: Rename to pge-boot/Gcbuiltin.cc.
2674 * pge-boot/Gdtoa.c: Rename to pge-boot/Gdtoa.cc.
2675 * pge-boot/Gerrno.c: Rename to pge-boot/Gerrno.cc.
2676 * pge-boot/Gldtoa.c: Rename to pge-boot/Gldtoa.cc.
2677 * pge-boot/Glibc.c: Rename to pge-boot/Glibc.cc.
2678 * pge-boot/Glibm.c: Rename to pge-boot/Glibm.cc.
2679 * pge-boot/Gmcrts.c: Rename to pge-boot/Gmcrts.cc.
2680 * pge-boot/Gpge.c: Rename to pge-boot/Gpge.cc.
2681 * pge-boot/Gwrapc.c: Rename to pge-boot/Gwrapc.cc.
2682 * pge-boot/README: Correct description.
2683 * pge-boot/main.c: Rename to pge-boot/main.cc.
2684 * pge-boot/network.c: Rename to pge-boot/network.cc.
2686 2023-02-28 Gaius Mulley <gaiusmod2@gmail.com>
2689 * Make-lang.in (m2/gm2-libs-boot/M2RTS.o): New specific rule to
2690 add the --suppress-noreturn option.
2691 * Make-maintainer.in (m2/gm2-ppg-boot/$(SRC_PREFIX)M2RTS.o): New
2692 specific rule to add the --suppress-noreturn option.
2693 (m2/gm2-pg-boot/$(SRC_PREFIX)M2RTS.o): New
2694 specific rule to add the --suppress-noreturn option.
2695 (m2/gm2-pg-boot/$(SRC_PREFIX)%.o): Add missing $(srcdir).
2696 (m2/gm2-pge-boot/$(SRC_PREFIX)M2RTS.o): New
2697 specific rule to add the --suppress-noreturn option.
2698 (m2/gm2-pge-boot/$(SRC_PREFIX)%.o): Add missing $(srcdir).
2699 * gm2-libs-ch/UnixArgs.cc (LIBNAME): New define.
2700 (_M2_UnixArgs_ctor): Add LIBNAME parameter to RegisterModule.
2701 * gm2-libs-ch/dtoa.cc (LIBNAME): New define.
2702 (_M2_dtoa_ctor): Add LIBNAME parameter to RegisterModule.
2703 * gm2-libs-ch/ldtoa.cc (LIBNAME): New define.
2704 (_M2_ldtoa_ctor): Add LIBNAME parameter to RegisterModule.
2705 * pge-boot/m2rts.h (M2RTS_RegisterModule): Add libname
2707 * gm2-libs-ch/m2rts.h (M2RTS_RegisterModule): Add libname
2709 * mc-boot-ch/GUnixArgs.cc (_M2_UnixArgs_ctor): Remove.
2710 * pge-boot/GUnixArgs.cc (LIBNAME): New define.
2711 (_M2_UnixArgs_ctor): Add LIBNAME parameter to RegisterModule.
2712 * gm2-libs/RTint.def (AttachVector): Rename parameter.
2713 * mc-boot/GDynamicStrings.c: Rebuilt.
2714 * mc-boot/GFIO.c: Rebuilt.
2715 * mc-boot/GIndexing.c: Rebuilt.
2716 * mc-boot/GM2EXCEPTION.c: Rebuilt.
2717 * mc-boot/GPushBackInput.c: Rebuilt.
2718 * mc-boot/GRTExceptions.c: Rebuilt.
2719 * mc-boot/GRTint.c: Rebuilt.
2720 * mc-boot/GRTint.h: Rebuilt.
2721 * mc-boot/GStdIO.c: Rebuilt.
2722 * mc-boot/GStringConvert.c: Rebuilt.
2723 * mc-boot/GSysStorage.c: Rebuilt.
2724 * mc-boot/Gdecl.c: Rebuilt.
2725 * mc-boot/Gkeyc.c: Rebuilt.
2726 * mc-boot/GmcComment.c: Rebuilt.
2727 * mc-boot/GmcComp.c: Rebuilt.
2728 * mc-boot/GmcDebug.c: Rebuilt.
2729 * mc-boot/GmcMetaError.c: Rebuilt.
2730 * mc-boot/GmcOptions.c: Rebuilt.
2731 * mc-boot/GmcOptions.h: Rebuilt.
2732 * mc-boot/GmcStack.c: Rebuilt.
2733 * mc-boot/GnameKey.c: Rebuilt.
2734 * mc-boot/GsymbolKey.c: Rebuilt.
2735 * mc/decl.mod:: Rebuilt.
2736 * mc/mcOptions.def: Rebuilt.
2737 * mc/mcOptions.mod:: Rebuilt.
2738 * pge-boot/GDynamicStrings.c: Rebuilt.
2739 * pge-boot/GFIO.c: Rebuilt.
2740 * pge-boot/GIndexing.c: Rebuilt.
2741 * pge-boot/GM2EXCEPTION.c: Rebuilt.
2742 * pge-boot/GM2RTS.c: Rebuilt.
2743 * pge-boot/GNameKey.c: Rebuilt.
2744 * pge-boot/GPushBackInput.c: Rebuilt.
2745 * pge-boot/GRTExceptions.c: Rebuilt.
2746 * pge-boot/GStdIO.c: Rebuilt.
2747 * pge-boot/GSymbolKey.c: Rebuilt.
2748 * pge-boot/GSysStorage.c: Rebuilt.
2750 2023-02-25 Gaius Mulley <gaiusmod2@gmail.com>
2753 * Make-lang.in (GM2-COMP-BOOT-DEFS): DynamicStringPath.def
2754 remove. DynamicPath.def add.
2755 (GM2-COMP-BOOT-MODS): DynamicStringPath.mod remove.
2756 DynamicPath.mod add.
2757 * Make-maintainer.in (BUILD-BOOT-PPG-H): New dependency.
2758 (m2/gm2-ppg-boot/$(SRC_PREFIX)%.o): $(BUILD-BOOT-PPG-H) Add
2760 (PGE-DEF): New definition.
2761 (BUILD-BOOT-PG-H): New dependency.
2762 (m2/gm2-pg-boot/$(SRC_PREFIX)%.o): $(BUILD-BOOT-PG-H) Add
2764 (BUILD-BOOT-PGE-H): New dependency.
2765 (m2/gm2-pge-boot/$(SRC_PREFIX)%.o): $(BUILD-BOOT-PGE-H) Add
2767 (GM2PATH): Add pathname entries.
2768 (m2/boot-bin/mc-devel$(exeext)): Add m2/mc-boot-ch/Gm2rtsdummy.o
2770 (m2/boot-bin/mc-opt$(exeext)): Fix -I path.
2771 * gm2-compiler/DynamicStringPath.def: Renamed module to
2773 (GetUserPath): Remove.
2774 (GetSystemPath): Remove.
2775 (SetUserPath): Remove.
2776 (SetSystemPath): Remove.
2777 (DumpPath): New procedure definition.
2778 * gm2-compiler/DynamicStringPath.mod: Renamed module to
2780 (GetUserPath): Remove.
2781 (GetSystemPath): Remove.
2782 (SetUserPath): Remove.
2783 (SetSystemPath): Remove.
2784 (DumpPath): Remove Debugging conditional.
2785 * gm2-compiler/M2AsmUtil.mod: Import EqualArray, NulName and
2787 (Debugging): New declaration.
2788 (GetFullSymName): Re-implemented to prefix (mange) libname
2789 to any extern variable/procedure which is IsExportQualified.
2790 * gm2-compiler/M2Comp.mod (qprintLibName): New procedure.
2791 * gm2-compiler/M2Graph.mod (resolveImports): Add libname.
2792 * gm2-compiler/M2Options.def (SetM2Prefix): New procedure.
2793 (GetM2Prefix): New procedure function.
2794 (SetM2PathName): New procedure.
2795 (GetM2PathName): New procedure function.
2796 * gm2-compiler/M2Options.mod: (SetM2Prefix): New procedure implemented.
2797 (GetM2Prefix): New procedure function implemented.
2798 (SetM2PathName): New procedure implemented.
2799 (GetM2PathName): New procedure function implemented.
2800 (RuntimeModuleOverride): Set to DefaultRuntimeModuleOverride.
2801 * gm2-compiler/M2Quads.mod: Import GetLibName.
2802 (SafeRequestSym) Pass result of GetLibName to RequestDependant.
2803 (callRequestDependant): Add libname as a parameter.
2804 (BuildM2InitFunction): Add libname as a parameter.
2805 (BuildM2FiniFunction): Add libname as a parameter.
2806 (BuildM2CtorFunction): Add libname as a parameter.
2807 * gm2-compiler/M2Scaffold.mod (LookupModuleSym): Set LibName
2808 if a definition source was found.
2809 * gm2-compiler/M2Search.def (FindSourceFile): Add named library parameter.
2810 (FindSourceDefFile): Add named library parameter.
2811 (FindSourceModFile): Add named library parameter.
2812 * gm2-compiler/M2Search.mod (FindSourceFile): Reimplement.
2813 (FindSourceDefFile): Add named library parameter.
2814 (FindSourceModFile): Add named library parameter.
2815 * gm2-compiler/SymbolTable.def (MakeProcedureCtorExtern): Add
2817 (PutLibName): New procedure.
2818 (GetLibName): New procedure function.
2819 * gm2-compiler/SymbolTable.mod (MakeProcedureCtorExtern): Add
2821 (GenName): Add libname parameter.
2822 (InitCtorFields): Add moduleSym as a parameter.
2823 (PutCtorExtern): Add libname parameter to GenName.
2824 * gm2-gcc/init.cc (_M2_DynamicStringPath_init): Rename function...
2825 (_M2_DynamicPath_init): ...to this.
2826 (_M2_PathName_init): Added.
2827 * gm2-gcc/m2decl.cc (m2decl_DeclareM2linkStaticInitialization):
2828 Add m2pim as the manged component of the exported symbol.
2829 (m2decl_DeclareM2linkForcedModuleInitOrder): Add m2pim mangle prefix.
2830 * gm2-gcc/m2options.h (M2Options_SetM2Prefix): New function.
2831 (M2Options_GetM2Prefix): New function.
2832 (M2Options_SetM2PathName): New function.
2833 (M2Options_GetM2PathName): New function.
2834 * gm2-lang.cc (push_back_Ipath): New function.
2835 (add_one_import_path): New function.
2836 (gm2_langhook_handle_option): Record -I component. Call
2837 SetM2PathName when -fm2-pathname= is seen. Record -fm2-pathnameI
2838 component. Call SetM2Prefix when -fm2-prefix= is seen.
2839 (gm2_langhook_post_options): Iterative over pathname entries
2840 and call SetM2PathName, SetSearchPath as appropriate.
2841 * gm2-libs-iso/M2RTS.def (ConstructModules): Add libname parameter.
2842 (DeconstructModules): Add libname parameter.
2843 (RegisterModule): Add libname parameter.
2844 (RequestDependant): Add libname parameter.
2845 * gm2-libs-iso/M2RTS.mod (ConstructModules): Add libname parameter.
2846 (DeconstructModules): Add libname parameter.
2847 (RegisterModule): Add libname parameter.
2848 (RequestDependant): Add libname parameter.
2849 * gm2-libs-min/M2RTS.def (ConstructModules): Add libname parameter.
2850 (DeconstructModules): Add libname parameter.
2851 (RegisterModule): Add libname parameter.
2852 (RequestDependant): Add libname parameter.
2853 * gm2-libs-min/M2RTS.mod (ConstructModules): Add libname parameter.
2854 (DeconstructModules): Add libname parameter.
2855 (RegisterModule): Add libname parameter.
2856 (RequestDependant): Add libname parameter.
2857 * gm2-libs/M2Dependent.def (ConstructModules): Add libname parameter.
2858 (DeconstructModules): Add libname parameter.
2859 (RegisterModule): Add libname parameter.
2860 (RequestDependant): Add libname parameter.
2861 * gm2-libs/M2Dependent.mod (ConstructModules): Add libname parameter.
2862 (DeconstructModules): Add libname parameter.
2863 (RegisterModule): Add libname parameter.
2864 (RequestDependant): Add libname parameter.
2865 * gm2-libs/M2RTS.def (ConstructModules): Add libname parameter.
2866 (DeconstructModules): Add libname parameter.
2867 (RegisterModule): Add libname parameter.
2868 (RequestDependant): Add libname parameter.
2869 * gm2-libs/M2RTS.mod (ConstructModules): Add libname parameter.
2870 (DeconstructModules): Add libname parameter.
2871 (RegisterModule): Add libname parameter.
2872 (RequestDependant): Add libname parameter.
2873 * gm2-libs/RTint.mod (FindVector): Rename variables.
2874 (initInputVector): Rename variables.
2875 (initOutputVector): Rename variables.
2876 (InitTimeVector): Rename variables.
2877 (FindVectorNo): Rename variables.
2878 (FindPendingVector): Rename variables.
2879 (ReArmTimeVector): Rename variables.
2880 (GetTimeVector): Rename variables.
2881 (AttachVector): Rename variables.
2882 (AttachVector): Rename variables.
2883 (IncludeVector): Rename variables.
2884 (ExcludeVector): Rename variables.
2885 (AddFd): Rename variables.
2886 (AddFd): Rename variables.
2887 (DumpPendingQueue): Rename variables.
2889 (activatePending): Rename variables.
2890 (Listen): Rename variables.
2891 * gm2-libs/libc.def (snprintf): New function.
2892 * gm2-libs/sckt.def: Change all exported identifiers to be
2894 * gm2spec.cc (push_back_Ipath): New function.
2895 (add_m2_I_path): New function.
2896 (lang_specific_driver): Skip -fm2-pathname= and remember pathname.
2897 Skip -I and record the path and current pathname. Call add_m2_I_path.
2898 * lang-specs.h: Replace %{I*} with %{fm2-pathname*}.
2899 * lang.opt (-fm2-pathname=): New entry.
2900 (-fm2-pathname): New entry.
2901 (-fm2-prefix=): New entry.
2902 * mc-boot-ch/GUnixArgs.cc (_M2_UnixArgs_dep): New function.
2903 (_M2_UnixArgs_ctor::_M2_UnixArgs_ctor): New method.
2904 * mc-boot-ch/Glibc.c (libc_snprintf): New function.
2905 * mc-boot-ch/m2rts.h (M2RTS_RequestDependant): Changed prototype.
2906 (M2RTS_RegisterModule): Changed prototype.
2907 * mc-boot/GDynamicStrings.c: Rebuild.
2908 * mc-boot/GFIO.c: Rebuild.
2909 * mc-boot/GIndexing.c: Rebuild.
2910 * mc-boot/GM2Dependent.c: Rebuild.
2911 * mc-boot/GM2Dependent.h: Rebuild.
2912 * mc-boot/GM2EXCEPTION.c: Rebuild.
2913 * mc-boot/GM2RTS.c: Rebuild.
2914 * mc-boot/GM2RTS.h: Rebuild.
2915 * mc-boot/GPushBackInput.c: Rebuild.
2916 * mc-boot/GRTExceptions.c: Rebuild.
2917 * mc-boot/GRTint.c: Rebuild.
2918 * mc-boot/GStdIO.c: Rebuild.
2919 * mc-boot/GStringConvert.c: Rebuild.
2920 * mc-boot/GSysStorage.c: Rebuild.
2921 * mc-boot/Gdecl.c: Rebuild.
2922 * mc-boot/Gkeyc.c: Rebuild.
2923 * mc-boot/Glibc.h: Rebuild.
2924 * mc-boot/GmcComment.c: Rebuild.
2925 * mc-boot/GmcComp.c: Rebuild.
2926 * mc-boot/GmcDebug.c: Rebuild.
2927 * mc-boot/GmcMetaError.c: Rebuild.
2928 * mc-boot/GmcStack.c: Rebuild.
2929 * mc-boot/GnameKey.c: Rebuild.
2930 * mc-boot/GsymbolKey.c: Rebuild.
2931 * pge-boot/GASCII.c: Rebuild.
2932 * pge-boot/GArgs.c: Rebuild.
2933 * pge-boot/GAssertion.c: Rebuild.
2934 * pge-boot/GDebug.c: Rebuild.
2935 * pge-boot/GDynamicStrings.c: Rebuild.
2936 * pge-boot/GFIO.c: Rebuild.
2937 * pge-boot/GIO.c: Rebuild.
2938 * pge-boot/GIndexing.c: Rebuild.
2939 * pge-boot/GLists.c: Rebuild.
2940 * pge-boot/GM2Dependent.c: Rebuild.
2941 * pge-boot/GM2Dependent.h: Rebuild.
2942 * pge-boot/GM2EXCEPTION.c: Rebuild.
2943 * pge-boot/GM2RTS.c: Rebuild.
2944 * pge-boot/GM2RTS.h: Rebuild.
2945 * pge-boot/GNameKey.c: Rebuild.
2946 * pge-boot/GNumberIO.c: Rebuild.
2947 * pge-boot/GOutput.c: Rebuild.
2948 * pge-boot/GPushBackInput.c: Rebuild.
2949 * pge-boot/GRTExceptions.c: Rebuild.
2950 * pge-boot/GSFIO.c: Rebuild.
2951 * pge-boot/GStdIO.c: Rebuild.
2952 * pge-boot/GStorage.c: Rebuild.
2953 * pge-boot/GStrCase.c: Rebuild.
2954 * pge-boot/GStrIO.c: Rebuild.
2955 * pge-boot/GStrLib.c: Rebuild.
2956 * pge-boot/GSymbolKey.c: Rebuild.
2957 * pge-boot/GSysExceptions.c (_M2_SysExceptions_finish): Rename this...
2958 (_M2_SysExceptions_fini): ... to this.
2959 * pge-boot/GSysStorage.c: Rebuild.
2960 (_M2_SysStorage_finish): Rename this...
2961 (_M2_SysStorage_fini): ... to this.
2962 * pge-boot/GUnixArgs.cc: New file.
2963 * pge-boot/Gbnflex.c (_M2_bnflex_finish): Rename this...
2964 (_M2_bnflex_fini): ... to this.
2965 * pge-boot/Gerrno.c (_M2_errno_finish): Rename this...
2966 (_M2_errno_fini): ... to this.
2967 * pge-boot/Glibc.c (libc_snprintf): New function.
2968 * pge-boot/Glibc.h (libc_snprintf): New prototype.
2969 * pge-boot/Gpge.c (_M2_pge_finish): Rename this...
2970 (_M2_pge_fini): ... to this.
2971 * pge-boot/Gtermios.cc (_M2_termios_finish): Rename this...
2972 (_M2_termios_fini): ... to this.
2973 * pge-boot/main.c (_M2_RTExceptions_finish): Rename this...
2974 (_M2_RTExceptions_fini): ... to this.
2975 (_M2_M2EXCEPTION_finish): Rename this...
2976 (_M2_M2EXCEPTION_fini): ... to this.
2977 (_M2_M2RTS_finish): Rename this...
2978 (_M2_M2RTS_fini): ... to this.
2979 (_M2_SysExceptions_finish): Rename this...
2980 (_M2_SysExceptions_fini): ... to this.
2981 (_M2_StrLib_finish): Rename this...
2982 (_M2_StrLib_fini): ... to this.
2983 (_M2_errno_finish): Rename this...
2984 (_M2_errno_fini): ... to this.
2985 (_M2_termios_finish): Rename this...
2986 (_M2_termios_fini): ... to this.
2987 (_M2_IO_finish): Rename this...
2988 (_M2_IO_fini): ... to this.
2989 (_M2_StdIO_finish): Rename this...
2990 (_M2_StdIO_fini): ... to this.
2991 (_M2_Debug_finish): Rename this...
2992 (_M2_Debug_fini): ... to this.
2993 (_M2_SysStorage_finish): Rename this...
2994 (_M2_SysStorage_fini): ... to this.
2995 (_M2_Storage_finish): Rename this...
2996 (_M2_Storage_fini): ... to this.
2997 (_M2_StrIO_finish): Rename this...
2998 (_M2_StrIO_fini): ... to this.
2999 (_M2_DynamicStrings_finish): Rename this...
3000 (_M2_DynamicStrings_fini): ... to this.
3001 (_M2_Assertion_finish): Rename this...
3002 (_M2_Assertion_fini): ... to this.
3003 (_M2_Indexing_finish): Rename this...
3004 (_M2_Indexing_fini): ... to this.
3005 (_M2_NameKey_finish): Rename this...
3006 (_M2_NameKey_fini): ... to this.
3007 (_M2_NumberIO_finish): Rename this...
3008 (_M2_NumberIO_fini): ... to this.
3009 (_M2_PushBackInput_finish): Rename this...
3010 (_M2_PushBackInput_fini): ... to this.
3011 (_M2_SymbolKey_finish): Rename this...
3012 (_M2_SymbolKey_fini): ... to this.
3013 (_M2_UnixArgs_finish): Rename this...
3014 (_M2_UnixArgs_fini): ... to this.
3015 (_M2_FIO_finish): Rename this...
3016 (_M2_FIO_fini): ... to this.
3017 (_M2_SFIO_finish): Rename this...
3018 (_M2_SFIO_fini): ... to this.
3019 (_M2_StrCase_finish): Rename this...
3020 (_M2_StrCase_fini): ... to this.
3021 (_M2_bnflex_finish): Rename this...
3022 (_M2_bnflex_fini): ... to this.
3023 (_M2_Lists_finish): Rename this...
3024 (_M2_Lists_fini): ... to this.
3025 (_M2_Args_finish): Rename this...
3026 (_M2_Args_fini): ... to this.
3027 (_M2_Output_finish): Rename this...
3028 (_M2_Output_fini): ... to this.
3029 (_M2_pge_finish): Rename this...
3030 (_M2_pge_fini): ... to this.
3031 * plugin/m2rte.cc (m2_runtime_error_calls): Change all runtime
3032 procedure names to their name mangled counterparts.
3033 * gm2-libs-iso/wrapsock.c: Removed.
3034 * gm2-libs-iso/wraptime.c: Removed.
3035 * mc-boot/Gpth.h: Removed.
3036 * gm2-compiler/PathName.def: New file.
3037 * gm2-compiler/PathName.mod: New file.
3038 * gm2-compiler/DynamicPath.def: New file.
3039 * gm2-compiler/DynamicPath.mod: New file.
3041 2023-02-06 Gaius Mulley <gaiusmod2@gmail.com>
3044 * gm2-compiler/M2Search.mod (DSdbEnter): Comment out.
3045 (DSdbExit): Comment out.
3047 2023-02-06 Co-Authored by: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3050 * m2pp.cc (m2pp_integer_cst): Use
3051 HOST_WIDE_INT_PRINT_UNSIGNED as the format specifier.
3053 2023-02-06 Gaius Mulley <gaiusmod2@gmail.com>
3055 * gm2-compiler/M2Preprocess.mod (BaseName): Comment out.
3056 * gm2-lang.cc (opt): Remove.
3057 * gm2spec.cc (add_include): Remove.
3058 (full_libraries): Remove.
3059 (concat_option): Remove.
3061 2023-02-03 Gaius Mulley <gaiusmod2@gmail.com>
3063 * Make-lang.in (TEXISRC): Remove m2/images/gnu.eps.
3064 (RSTSRC): Remove m2/images/gnu.eps.
3065 (doc/m2.dvi): Add $(objdir)/m2/images/gnu.eps.
3066 (doc/m2.pdf): Add $(objdir)/m2/images/gnu.eps.
3067 (M2_PDFFILES): New definition.
3068 (m2.install-pdf): New rule.
3069 (m2.pod): Add $(objdir)/m2/images/gnu.eps.
3070 (m2.info): Add $(objdir)/m2/images/gnu.eps.
3071 (m2.html): New rule.
3072 (m2/gpl_v3_without_node.texi): New rule.
3073 (plugin/m2rte$(soext)): Simplify mkinstalldirs.
3074 (cc1gm2$(exeext)): Ditto.
3075 (m2/stage1/cc1gm2$(exeext)): Ditto.
3076 (m2/gm2-gcc/%.o): Ditto.
3077 (m2/gm2-gcc/rtegraph.o): Ditto.
3078 (m2/gm2-gcc/$(SRC_PREFIX)%.h): Ditto.
3079 (m2/mc-boot/$(SRC_PREFIX)%.o):Ditto.
3080 (m2/mc-boot-ch/$(SRC_PREFIX)%.o): Ditto.
3081 (m2/mc-boot/main.o): Ditto.
3082 (m2/gm2-libs-boot/%.o): Ditto.
3083 (m2/gm2-libs-boot/$(SRC_PREFIX)%.h): Ditto.
3084 (m2/gm2-libs-boot/RTcodummy.o): Ditto.
3085 (m2/gm2-libs-boot/wrapc.o): Ditto.
3086 (m2/gm2-libs-boot/M2LINK.o): Ditto.
3087 (m2/gm2-libs-boot/UnixArgs.o): Ditto.
3088 (m2/gm2-libs-boot/choosetemp.o): Ditto.
3089 (m2/gm2-libs-boot/errno.o): Ditto.
3090 (m2/gm2-libs-boot/dtoa.o): Ditto.
3091 (m2/gm2-libs-boot/ldtoa.o): Ditto.
3092 (m2/gm2-libs-boot/termios.o): Ditto.
3093 (m2/gm2-libs-boot/SysExceptions.o): Ditto.
3094 (m2/gm2-libs-boot/SysStorage.o): Ditto.
3095 (m2/gm2-compiler-boot/M2GCCDeclare.o): Ditto.
3096 (m2/gm2-compiler-boot/M2Error.o): Ditto.
3097 (m2/gm2-compiler-boot/%.o): Ditto.
3098 (m2/gm2-compiler-boot/$(SRC_PREFIX)%.h): Ditto.
3099 (m2/gm2-compiler-boot/m2flex.o): Ditto.
3100 (m2/gm2-compiler/m2flex.c): Ditto.
3101 (m2/gm2-libiberty/$(SRC_PREFIX)%.h): Ditto.
3102 (m2/gm2-compiler/%.o): Ditto.
3103 (m2/gm2-compiler/m2flex.o): Ditto.
3104 (m2/gm2-compiler/%.o): Ditto.
3105 (m2/gm2-libs-iso/%.o): Ditto.
3106 (m2/gm2-libs/gm2-libs-host.h): Ditto.
3107 ($(objdir)/m2/gm2-libs-min/SYSTEM.def): Ditto.
3108 ($(objdir)/m2/gm2-libs/SYSTEM.def): Ditto.
3109 ($(objdir)/m2/gm2-libs-iso/SYSTEM.def): Ditto.
3110 ($(objdir)/m2/gm2-libs-coroutines/SYSTEM.def): Ditto.
3111 (m2/gm2-compiler/gm2.a): Ditto.
3112 (m2/gm2-libs-boot/libgm2.a): Ditto.
3113 (m2/gm2-compiler-boot/gm2.a): Ditto.
3114 (m2/boot-bin/mklink$(exeext)): Ditto.
3115 (m2/gm2-compiler-boot/$(SRC_PREFIX)%.h): Ditto.
3116 (m2/gm2-compiler/%.mod): Ditto.
3117 (m2/gm2-compiler-boot/%.mod): Ditto.
3118 (m2/pge-boot/%.o): Ditto.
3120 2023-02-01 Gaius Mulley <gaiusmod2@gmail.com>
3122 * Make-lang.in (GM2_FLAGS): Add -fno-return -Wreturn-type.
3123 (GM2_ISO_FLAGS): Add -fno-return -Wreturn-type.
3124 * Make-maintainer.in (GM2PATH): Split into separate -I components.
3125 (MC-LIB-DEFS): Add RTentity.def.
3126 (m2/boot-bin/mc-devel$(exeext)): Changed -I$(GM2PATH) to
3128 (m2/boot-bin/mc-opt$(exeext)): Separate -I paths.
3129 (m2/mc/decl.o): Separate -I paths.
3130 (gm2-bootstrap): Separate -I paths.
3131 (m2/mc-boot-gen/$(SRC_PREFIX)%.h): Separate -I paths.
3132 (m2/mc-boot-gen/$(SRC_PREFIX)decl.c): Separate -I paths.
3133 (m2/mc-boot-gen/$(SRC_PREFIX)%.c): Separate -I paths.
3134 (gm2.verifyparanoid): Separate -I paths.
3135 (gm2.verifystage12): Separate -I paths.
3136 * gm2-compiler/M2ALU.mod (GetConstructorElement): Add default
3137 Return NulSym. Remove return from the error case.
3138 * gm2-compiler/M2Base.mod (ComplexToScalar): Return RType
3139 from the error case.
3140 (MixMetaTypes): Return MakeError as a default.
3141 * gm2-compiler/M2GCCDeclare.mod (GetTypeMin): Return NulSym
3142 from the error case.
3143 (GetTypeMax): Return NulSym from the error case.
3144 * gm2-compiler/M2GenGCC.mod (IsExportedGcc): Replace Assert
3146 * gm2-compiler/M2Quads.mod (GetItemPointedTo): Add InternalError.
3147 (GetTypeMin): Add InternalError.
3148 (GetTypeMax): Add InternalError.
3149 * gm2-compiler/M2System.mod (InitSystem): Call
3150 PutProcedureNoReturn on Throw.
3151 * gm2-gcc/m2except.cc (m2except_InitExceptions): fn_throw_tree
3152 declare as noreturn. fn_rethrow_tree declare as noreturn.
3153 * gm2-libs-coroutines/Debug.def (Halt): Add noreturn attribute.
3154 * gm2-libs-coroutines/SYSTEM.def (THROW): Add noreturn attribute.
3155 * gm2-libs-iso/ClientSocket.mod (dorbytes): Add return FALSE.
3156 * gm2-libs-iso/EXCEPTIONS.def (RAISE): Add noreturn attribute.
3157 * gm2-libs-iso/IOLink.def (RAISEdevException): Add noreturn attribute.
3158 * gm2-libs-iso/M2RTS.def (HALT): Add noreturn attribute.
3161 (ErrorMessage): Ditto.
3162 (AssignmentException): Ditto.
3163 (ReturnException): Ditto.
3164 (IncException): Ditto.
3165 (DecException): Ditto.
3166 (InclException): Ditto.
3167 (ExclException): Ditto.
3168 (ShiftException): Ditto.
3169 (RotateException): Ditto.
3170 (StaticArraySubscriptException): Ditto.
3171 (DynamicArraySubscriptException): Ditto.
3172 (ForLoopBeginException): Ditto.
3173 (ForLoopToException): Ditto.
3174 (ForLoopEndException): Ditto.
3175 (PointerNilException): Ditto.
3176 (NoReturnException): Ditto.
3177 (CaseException): Ditto.
3178 (WholeNonPosDivException): Ditto.
3179 (WholeNonPosModException): Ditto.
3180 (WholeZeroDivException): Ditto.
3181 (WholeZeroRemException): Ditto.
3182 (WholeValueException): Ditto.
3183 (RealValueException): Ditto.
3184 (ParameterException): Ditto.
3185 (NoException): Ditto.
3186 * gm2-libs-iso/SYSTEM.def (THROW): Ditto.
3187 * gm2-libs-iso/TermFile.mod (dorbytes): Add default return FALSE.
3188 * gm2-libs-min/M2RTS.def: Add noreturn attribute.
3189 * gm2-libs/FIO.mod (BufferedRead): Return -1.
3190 (getFileName): Return NIL.
3191 (getFileNameLength): Return 0.
3192 * gm2-libs/M2RTS.def (HaltC): Add noreturn attribute.
3193 (AssignmentException): Ditto.
3194 (ReturnException): Ditto.
3195 (IncException): Ditto.
3196 (DecException): Ditto.
3197 (InclException): Ditto.
3198 (ExclException): Ditto.
3199 (ShiftException): Ditto.
3200 (RotateException): Ditto.
3201 (StaticArraySubscriptException): Ditto.
3202 (DynamicArraySubscriptException): Ditto.
3203 (ForLoopBeginException): Ditto.
3204 (ForLoopToException): Ditto.
3205 (ForLoopEndException): Ditto.
3206 (PointerNilException): Ditto.
3207 (NoReturnException): Ditto.
3208 (CaseException): Ditto.
3209 (WholeNonPosDivException): Ditto.
3210 (WholeNonPosModException): Ditto.
3211 (WholeZeroDivException): Ditto.
3212 (WholeZeroRemException): Ditto.
3213 (WholeValueException): Ditto.
3214 (RealValueException): Ditto.
3215 (ParameterException): Ditto.
3216 (NoException): Ditto.
3217 * gm2-libs/RTExceptions.def (Raise): Ditto.
3218 * gm2-libs/RTExceptions.mod (InvokeHandler): Ditto.
3219 * gm2-libs/SYSTEM.def (THROW): Ditto.
3220 * m2.flex (_M2_m2flex_fini): Remamed to...
3221 (_M2_m2flex_finish): ...here.
3222 * mc-boot-ch/GBuiltins.c (_M2_Builtins_finish): Remamed to...
3223 (_M2_Builtins_fini): ...this.
3224 * mc-boot-ch/GRTco.c (_M2_RTco_finish): Remamed to...
3225 (_M2_RTco_fini): ...this.
3226 * mc-boot-ch/GSYSTEM.c (_M2_SYSTEM_finish): Remamed to...
3227 (_M2_SYSTEM_fini): ...this.
3228 * mc-boot-ch/GSelective.c (_M2_Selective_finish): Remamed to...
3229 (_M2_Selective_fini): ...this.
3230 * mc-boot-ch/GSysExceptions.c (_M2_SysExceptions_init): Add
3232 (_M2_SysExceptions_finish): Remamed to...
3233 (_M2_SysExceptions_fini): ...this.
3234 * mc-boot-ch/GUnixArgs.cc (_M2_UnixArgs_finish): Remamed to...
3235 (_M2_UnixArgs_fini): ...this.
3236 (_M2_UnixArgs_ctor::_M2_UnixArgs_ctor): Change parameter
3237 to _M2_UnixArgs_fini.
3238 * mc-boot-ch/Gdtoa.c (_M2_dtoa_finish): Remamed to...
3239 (_M2_dtoa_fini): ...this.
3240 * mc-boot-ch/Gerrno.c (_M2_errno_finish): Remamed to...
3241 (_M2_errno_fini): ...this.
3242 * mc-boot-ch/Gldtoa.c (_M2_ldtoa_finish): Remamed to...
3243 (_M2_ldtoa_fini): ...this.
3244 * mc-boot-ch/Gtermios.cc (_M2_termios_init): Add parameters.
3245 (_M2_termios_finish): Remamed to...
3246 (_M2_termios_fini): ...this.
3247 * mc-boot-ch/Gwrapc.c (_M2_wrapc_init): Add parameters.
3248 (_M2_wrapc_finish): Remamed to...
3249 (_M2_wrapc_fini): ...this.
3250 * mc-boot/GASCII.c: Rebuild.
3251 * mc-boot/GArgs.c: Rebuild.
3252 * mc-boot/GAssertion.c: Rebuild.
3253 * mc-boot/GBreak.c: Rebuild.
3254 * mc-boot/GCmdArgs.c: Rebuild.
3255 * mc-boot/GDebug.c: Rebuild.
3256 * mc-boot/GDynamicStrings.c: Rebuild.
3257 * mc-boot/GEnvironment.c: Rebuild.
3258 * mc-boot/GFIO.c: Rebuild.
3259 * mc-boot/GFormatStrings.c: Rebuild.
3260 * mc-boot/GFpuIO.c: Rebuild.
3261 * mc-boot/GIO.c: Rebuild.
3262 * mc-boot/GIndexing.c: Rebuild.
3263 * mc-boot/GM2Dependent.c: Rebuild.
3264 * mc-boot/GM2EXCEPTION.c: Rebuild.
3265 * mc-boot/GM2RTS.c: Rebuild.
3266 * mc-boot/GM2RTS.h: Rebuild.
3267 * mc-boot/GMemUtils.c: Rebuild.
3268 * mc-boot/GNumberIO.c: Rebuild.
3269 * mc-boot/GPushBackInput.c: Rebuild.
3270 * mc-boot/GRTExceptions.c: Rebuild.
3271 * mc-boot/GRTExceptions.h: Rebuild.
3272 * mc-boot/GRTco.h: Rebuild.
3273 * mc-boot/GRTint.c: Rebuild.
3274 * mc-boot/GSArgs.c: Rebuild.
3275 * mc-boot/GSFIO.c: Rebuild.
3276 * mc-boot/GStdIO.c: Rebuild.
3277 * mc-boot/GStorage.c: Rebuild.
3278 * mc-boot/GStrCase.c: Rebuild.
3279 * mc-boot/GStrIO.c: Rebuild.
3280 * mc-boot/GStrLib.c: Rebuild.
3281 * mc-boot/GStringConvert.c: Rebuild.
3282 * mc-boot/GSysStorage.c: Rebuild.
3283 * mc-boot/GTimeString.c: Rebuild.
3284 * mc-boot/Galists.c: Rebuild.
3285 * mc-boot/Gdecl.c: Rebuild.
3286 * mc-boot/Gkeyc.c: Rebuild.
3287 * mc-boot/Glists.c: Rebuild.
3288 * mc-boot/GmcComment.c: Rebuild.
3289 * mc-boot/GmcComp.c: Rebuild.
3290 * mc-boot/GmcDebug.c: Rebuild.
3291 * mc-boot/GmcError.c: Rebuild.
3292 * mc-boot/GmcFileName.c: Rebuild.
3293 * mc-boot/GmcLexBuf.c: Rebuild.
3294 * mc-boot/GmcMetaError.c: Rebuild.
3295 * mc-boot/GmcOptions.c: Rebuild.
3296 * mc-boot/GmcPreprocess.c: Rebuild.
3297 * mc-boot/GmcPretty.c: Rebuild.
3298 * mc-boot/GmcPrintf.c: Rebuild.
3299 * mc-boot/GmcQuiet.c: Rebuild.
3300 * mc-boot/GmcReserved.c: Rebuild.
3301 * mc-boot/GmcSearch.c: Rebuild.
3302 * mc-boot/GmcStack.c: Rebuild.
3303 * mc-boot/GmcStream.c: Rebuild.
3304 * mc-boot/Gmcp1.c: Rebuild.
3305 * mc-boot/Gmcp2.c: Rebuild.
3306 * mc-boot/Gmcp3.c: Rebuild.
3307 * mc-boot/Gmcp4.c: Rebuild.
3308 * mc-boot/Gmcp5.c: Rebuild.
3309 * mc-boot/GnameKey.c: Rebuild.
3310 * mc-boot/GsymbolKey.c: Rebuild.
3311 * mc-boot/Gtop.c: Rebuild.
3312 * mc-boot/Gvarargs.c: Rebuild.
3313 * mc-boot/Gwlists.c: Rebuild.
3314 * mc-boot/GRTentity.h: New file.
3315 * mc/decl.mod (scaffoldStatic): Change _finish to _fini.
3316 * mc/mc.flex (_M2_mcflex_fini): New function.
3317 (_M2_mcflex_finish): Remove function.
3318 * tools-src/mklink.c (GenerateFinishCalls): Change
3320 (GeneratePrototypes): Change _finish to _fini.
3322 2023-01-31 Gaius Mulley <gaiusmod2@gmail.com>
3324 * Make-lang.in (gm2-libs.texi-check): Rename
3325 m2/gm2-libs-pim to m2/gm2-libs-log.
3326 * gm2-libs-pim/BitBlockOps.def: Moved to...
3327 * gm2-libs-log/BitBlockOps.def: ...here.
3328 * gm2-libs-pim/BitBlockOps.mod: Moved to...
3329 * gm2-libs-log/BitBlockOps.mod: ...here.
3330 * gm2-libs-pim/BitByteOps.def: Moved to...
3331 * gm2-libs-log/BitByteOps.def: ...here.
3332 * gm2-libs-pim/BitByteOps.mod: Moved to...
3333 * gm2-libs-log/BitByteOps.mod: ...here.
3334 * gm2-libs-pim/BitWordOps.def: Moved to...
3335 * gm2-libs-log/BitWordOps.def: ...here.
3336 * gm2-libs-pim/BitWordOps.mod: Moved to...
3337 * gm2-libs-log/BitWordOps.mod: ...here.
3338 * gm2-libs-pim/BlockOps.def: Moved to...
3339 * gm2-libs-log/BlockOps.def: ...here.
3340 * gm2-libs-pim/BlockOps.mod: Moved to...
3341 * gm2-libs-log/BlockOps.mod: ...here.
3342 * gm2-libs-pim/Break.c: Moved to...
3343 * gm2-libs-log/Break.c: ...here.
3344 * gm2-libs-pim/Break.def: Moved to...
3345 * gm2-libs-log/Break.def: ...here.
3346 * gm2-libs-pim/CardinalIO.def: Moved to...
3347 * gm2-libs-log/CardinalIO.def: ...here.
3348 * gm2-libs-pim/CardinalIO.mod: Moved to...
3349 * gm2-libs-log/CardinalIO.mod: ...here.
3350 * gm2-libs-pim/Conversions.def: Moved to...
3351 * gm2-libs-log/Conversions.def: ...here.
3352 * gm2-libs-pim/Conversions.mod: Moved to...
3353 * gm2-libs-log/Conversions.mod: ...here.
3354 * gm2-libs-pim/DebugPMD.def: Moved to...
3355 * gm2-libs-log/DebugPMD.def: ...here.
3356 * gm2-libs-pim/DebugPMD.mod: Moved to...
3357 * gm2-libs-log/DebugPMD.mod: ...here.
3358 * gm2-libs-pim/DebugTrace.def: Moved to...
3359 * gm2-libs-log/DebugTrace.def: ...here.
3360 * gm2-libs-pim/DebugTrace.mod: Moved to...
3361 * gm2-libs-log/DebugTrace.mod: ...here.
3362 * gm2-libs-pim/Delay.def: Moved to...
3363 * gm2-libs-log/Delay.def: ...here.
3364 * gm2-libs-pim/Delay.mod: Moved to...
3365 * gm2-libs-log/Delay.mod: ...here.
3366 * gm2-libs-pim/Display.def: Moved to...
3367 * gm2-libs-log/Display.def: ...here.
3368 * gm2-libs-pim/Display.mod: Moved to...
3369 * gm2-libs-log/Display.mod: ...here.
3370 * gm2-libs-pim/ErrorCode.def: Moved to...
3371 * gm2-libs-log/ErrorCode.def: ...here.
3372 * gm2-libs-pim/ErrorCode.mod: Moved to...
3373 * gm2-libs-log/ErrorCode.mod: ...here.
3374 * gm2-libs-pim/FileSystem.def: Moved to...
3375 * gm2-libs-log/FileSystem.def: ...here.
3376 * gm2-libs-pim/FileSystem.mod: Moved to...
3377 * gm2-libs-log/FileSystem.mod: ...here.
3378 * gm2-libs-pim/FloatingUtilities.def: Moved to...
3379 * gm2-libs-log/FloatingUtilities.def: ...here.
3380 * gm2-libs-pim/FloatingUtilities.mod: Moved to...
3381 * gm2-libs-log/FloatingUtilities.mod: ...here.
3382 * gm2-libs-pim/InOut.def: Moved to...
3383 * gm2-libs-log/InOut.def: ...here.
3384 * gm2-libs-pim/InOut.mod: Moved to...
3385 * gm2-libs-log/InOut.mod: ...here.
3386 * gm2-libs-pim/Keyboard.def: Moved to...
3387 * gm2-libs-log/Keyboard.def: ...here.
3388 * gm2-libs-pim/Keyboard.mod: Moved to...
3389 * gm2-libs-log/Keyboard.mod: ...here.
3390 * gm2-libs-pim/LongIO.def: Moved to...
3391 * gm2-libs-log/LongIO.def: ...here.
3392 * gm2-libs-pim/LongIO.mod: Moved to...
3393 * gm2-libs-log/LongIO.mod: ...here.
3394 * gm2-libs-pim/NumberConversion.def: Moved to...
3395 * gm2-libs-log/NumberConversion.def: ...here.
3396 * gm2-libs-pim/NumberConversion.mod: Moved to...
3397 * gm2-libs-log/NumberConversion.mod: ...here.
3398 * gm2-libs-pim/README.texi: Moved to...
3399 * gm2-libs-log/README.texi: ...here.
3400 * gm2-libs-pim/Random.def: Moved to...
3401 * gm2-libs-log/Random.def: ...here.
3402 * gm2-libs-pim/Random.mod: Moved to...
3403 * gm2-libs-log/Random.mod: ...here.
3404 * gm2-libs-pim/RealConversions.def: Moved to...
3405 * gm2-libs-log/RealConversions.def: ...here.
3406 * gm2-libs-pim/RealConversions.mod: Moved to...
3407 * gm2-libs-log/RealConversions.mod: ...here.
3408 * gm2-libs-pim/RealInOut.def: Moved to...
3409 * gm2-libs-log/RealInOut.def: ...here.
3410 * gm2-libs-pim/RealInOut.mod: Moved to...
3411 * gm2-libs-log/RealInOut.mod: ...here.
3412 * gm2-libs-pim/Strings.def: Moved to...
3413 * gm2-libs-log/Strings.def: ...here.
3414 * gm2-libs-pim/Strings.mod: Moved to...
3415 * gm2-libs-log/Strings.mod: ...here.
3416 * gm2-libs-pim/Termbase.def: Moved to...
3417 * gm2-libs-log/Termbase.def: ...here.
3418 * gm2-libs-pim/Termbase.mod: Moved to...
3419 * gm2-libs-log/Termbase.mod: ...here.
3420 * gm2-libs-pim/Terminal.def: Moved to...
3421 * gm2-libs-log/Terminal.def: ...here.
3422 * gm2-libs-pim/Terminal.mod: Moved to...
3423 * gm2-libs-log/Terminal.mod: ...here.
3424 * gm2-libs-pim/TimeDate.def: Moved to...
3425 * gm2-libs-log/TimeDate.def: ...here.
3426 * gm2-libs-pim/TimeDate.mod: Moved to...
3427 * gm2-libs-log/TimeDate.mod: ...here.
3429 2023-01-28 Iain Sandoe <iain@sandoe.co.uk>
3431 * lang.opt: Claim Wreturn-type.
3433 2023-01-27 Gaius Mulley <gaiusmod2@gmail.com>
3435 * gm2-compiler/M2Comp.mod: Import MetaString0.
3436 (ExamineCompilationUnit): New variable Message.
3437 Create and format error string.
3438 * gm2-compiler/M2LexBuf.mod: New variable SeenEof.
3439 (GetNonEofToken): New procedure.
3440 (Init): Set SeenEof to FALSE.
3441 (GetToken): Use GetNonEofToken instead of calls to
3442 m2flex.GetToken and GetToken.
3443 (AddTok): Detect eoftok and set SeenEof.
3445 2023-01-27 Gaius Mulley <gaiusmod2@gmail.com>
3447 * gm2-compiler/M2Options.def: Export GetMQ, SetMQ.
3448 * gm2-compiler/M2Preprocess.mod: (MakeSaveTempsFileName):
3449 Test NewDir against NIL. Test Dumpdir against NIL.
3450 Test GetMD () against NIL. Test GetMMD () against NIL.
3451 Test GetMQ () against NIL. Test GetObj () against NIL.
3452 Test tempfile against NIL.
3453 * gm2-compiler/P2SymBuild.def: Export
3454 BuildNoReturnAttribute.
3456 2023-01-27 Iain Sandoe <iain@sandoe.co.uk>
3461 * gm2-lang.cc (gm2_langhook_option_lang_mask): Do not claim CL_C
3463 (gm2_langhook_init_options): Handle options that we want to pass
3464 to the preprocessor.
3465 * lang-specs.h: Pass -B and -save-temps to regular compile lines.
3466 * lang.opt: Add C and Driver options that Modula-2 intercepts for
3467 internal use. Reorder options into two sections and to collate.
3469 2023-01-26 Gaius Mulley <gaiusmod2@gmail.com>
3471 * gm2-compiler/M2GCCDeclare.mod: Import IsProcedureNoReturn.
3472 (DeclareProcedureToGccWholeProgram): New variable declared and set
3473 returnType. Pass returnType to BuildEndFunctionDeclaration.
3474 Extra parameter IsProcedureNoReturn passed to
3475 BuildEndFunctionDeclaration.
3476 * gm2-compiler/M2Quads.mod (BuildM2MainFunction): Correct
3477 scaffold comment and add extra return 0.
3478 * gm2-compiler/P2Build.bnf: Import BuildNoReturnAttribute.
3479 (ProcedureHeading): Process EndBuildFormalParameters before
3480 parsing AttributeNoReturn.
3481 (DefProcedureHeading): Process EndBuildFormalParameters before
3482 parsing AttributeNoReturn.
3483 (AttributeNoReturn): Call BuildNoReturnAttribute.
3484 * gm2-compiler/P2SymBuild.def (BuildNoReturnAttribute): New
3486 * gm2-compiler/P2SymBuild.mod (BuildNoReturnAttribute): New
3488 * gm2-compiler/SymbolTable.def (PutProcedureInline): Corrected
3490 (PutProcedureNoReturn): New procedure.
3491 (IsProcedureNoReturn): New procedure function.
3492 * gm2-compiler/SymbolTable.mod (SymProcedure): IsNoReturn
3494 (MakeProcedure): Initialize IsNoReturn to FALSE.
3495 (PutProcedureNoReturn): New procedure.
3496 (IsProcedureNoReturn): New procedure function.
3497 * gm2-gcc/m2decl.cc (m2decl_BuildEndFunctionDeclaration):
3498 Add extra parameter isnoreturn. Set TREE_THIS_VOLATILE
3500 * gm2-gcc/m2decl.def (BuildEndFunctionDeclaration): Add
3501 extra parameter isnoreturn.
3502 * gm2-gcc/m2decl.h (m2decl_BuildEndFunctionDeclaration): Add
3503 extra parameter isnoreturn.
3504 * gm2-gcc/m2except.cc (m2except_InitExceptions): Change all
3505 function decl to pass an extra parameter isnoreturn.
3507 2023-01-26 Gaius Mulley <gaiusmod2@gmail.com>
3509 * m2.flex (splitSlashStar): Fix comment so that /* does not
3510 appear inside the comment.
3512 2023-01-26 Iain Sandoe <iain@sandoe.co.uk>
3515 * gm2-lang.cc (gm2_langhook_init_options): Remove debug code.
3517 2023-01-26 Gaius Mulley <gaiusmod2@gmail.com>
3519 * Make-lang.in (m2/gm2config.h): Rewrite rule to be
3520 dependent upon m2/gm2config.aci.
3521 (m2/gm2config.aci): Newrule.
3522 * configure.ac (AC_CONFIG_HEADERS): Change destination
3524 * configure: Regenerate.
3525 * gm2-libs/config-host: Regenerate.
3526 * gm2-compiler/M2GCCDeclare.mod (AddSymToWatch): Comment
3528 * gm2-compiler/M2Quads.mod (BuildConstHighFromSym): Remove
3530 (StartBuildWith): Call BuildStmtNoteTok.
3531 (BuildStmtNoteTok): New procedure.
3532 (BuildStmtNote): Re-implement re-factor into two
3533 procedures and call BuildStmtNoteTok.
3534 * gm2config.h.in: Remove.
3535 * gm2config.aci.in: New file.
3537 2023-01-25 Iain Sandoe <iain@sandoe.co.uk>
3541 * gm2-compiler/M2Comp.mod: Early exit for pre-processor-only jobs.
3542 * gm2-compiler/M2Options.def (SetPPOnly, GetPPOnly, SetMD, GetMD,
3543 SetMMD, GetMMD, SetMQ, GetMQ, SetObj, GetObj, SetDumpDir,
3545 * gm2-compiler/M2Options.mod:(SetPPOnly, GetPPOnly, SetMD, GetMD,
3546 SetMMD, GetMMD, SetMQ, GetMQ, SetObj, GetObj, SetDumpDir,
3548 * gm2-compiler/M2Preprocess.def (PreprocessModule): Add flag to
3549 indicate the main file.
3550 * gm2-compiler/M2Preprocess.mod: Handle Preprocess-only jobs,
3551 handle MD, MMD and MQ options.
3552 * gm2-gcc/m2options.h (M2Options_SetPPOnly, M2Options_GetPPOnly,
3553 M2Options_SetDumpDir, M2Options_SetMD, M2Options_GetMD,
3554 M2Options_SetMMD, M2Options_GetMMD, M2Options_SetMQ, M2Options_GetMQ,
3555 M2Options_SetObj, M2Options_GetObj): New.
3556 * gm2-gcc/m2type.cc (m2type_InitBaseTypes): Early exit for pre-
3557 processor-only jobs.
3558 * gm2-lang.cc (gm2_langhook_init): Handle preprocess-only commands.
3559 (gm2_langhook_option_lang_mask): Claim C and Driver options so that
3560 we can intercept them for building pre-processor commands.
3561 (gm2_langhook_init_options): Collect the preprocessor line here.
3562 Save options that have different actions for preprocessor and compile
3564 (gm2_langhook_handle_option): Only handle the modula-2 options here.
3565 (gm2_langhook_post_options): Do not create a back-end for pre-
3566 processor-only jobs.
3567 * gm2spec.cc (lang_specific_driver): Ignore PCH options, append a
3568 scaffold-main for cases where we are building a main module with
3570 * lang-specs.h: Revise to handle preprocessor-only jobs and to
3571 consume pre-processed files.
3572 * lang.opt: Remove Driver and C options copies (we claim these
3575 2023-01-24 Co-Authored by: Iain Sandoe <iain@sandoe.co.uk>
3577 * Make-lang.in (GM2-COMP-BOOT-DEFS): Add
3578 DynamicStringPath.def.
3579 (GM2-COMP-BOOT-MODS): Add DynamicStringPath.mod.
3580 (GM2-COMP-DEFS): Add DynamicStringPath.def.
3581 (GM2-COMP-MODS): Add DynamicStringPath.mod.
3582 ($(objdir)/m2/gm2-libs-min/SYSTEM.def): Split path into
3583 multiple -I components.
3584 ($(objdir)/m2/gm2-libs/SYSTEM.def): Ditto.
3585 ($(objdir)/m2/gm2-libs-coroutines/SYSTEM.def): Ditto.
3586 * gm2-compiler/M2Options.mod: Import DynamicStringPath.
3587 (SetSearchPath): Reimplement using DynamicStringPath
3589 * gm2-compiler/M2Search.def (InitSearchPath): Remove.
3590 (PrependSearchPath): Remove.
3591 * gm2-compiler/M2Search.mod (SFIO): Remove import.
3592 (DynamicStringPath): Add import.
3593 (Directory): Remove.
3595 (InitialPath): Remove.
3596 (InitSearchPath): Remove.
3597 (PrependSearchPath): Remove.
3598 (FindSourceFile): Re-implement.
3599 (FindSourceDefFile): Re-implement.
3600 (FindSourceModFile): Re-implement.
3601 * gm2-gcc/init.cc (_M2_DynamicStringPath_init):
3603 (init_FrontEndInit): Call _M2_DynamicStringPath_init.
3604 * tools-src/makeSystem: Allow multiple -I paths.
3605 * gm2-compiler/DynamicStringPath.def: New file.
3606 * gm2-compiler/DynamicStringPath.mod: New file.
3607 * gm2-gcc/m2options.h (M2Options_SetMakeIncludePath): Add
3610 2023-01-24 Gaius Mulley <gaiusmod2@gmail.com>
3612 * m2.flex (cpreprocessor): Add temporary variable
3613 which is initialized to 0.
3614 (commentCLevel): New variable.
3615 (endOfCComment): New function.
3616 (splitSlashStar): New function to split /* into / and *
3618 (COMMENTC): New flex state.
3619 ("/*"): New rule to test whether we should treat /*
3620 as a single token or as two tokens.
3621 (<COMMENTC>.): New rule to skip a character.
3622 (<COMMENTC>\n.*): New rule to consume the line.
3623 (<COMMENTC>"*/"): New rule to call endOfCComment.
3625 2023-01-24 Gaius Mulley <gaiusmod2@gmail.com>
3627 * gm2-libs-iso/RTco.def: Import RTentity.
3628 Declare RTco as a definition for C module.
3630 2023-01-23 Iain Sandoe <iain@sandoe.co.uk>
3634 * Make-lang.in: Pass libsubdir to the language init
3636 * gm2-lang.cc (INCLUDE_VECTOR): Define.
3637 (add_one_import_path): New.
3638 (add_m2_import_paths): New.
3639 (gm2_langhook_post_options): Arrange to add the include
3640 paths (and add the system ones) in the same order as C
3642 * gm2spec.cc (build_archive_path): Remove.
3643 (add_default_combination): Remove.
3644 (add_default_archives): Remove.
3645 (add_default_libs): We no longer need a '-L' option, just
3646 emit the -l and each library in use.
3647 (build_include_path): Remove.
3648 (add_include): Remove.
3649 (add_default_includes): Remove.
3650 (library_installed): Remove.
3651 (check_valid_library): Remove.
3652 (check_valid_list): Remove.
3653 (convert_abbreviation): Diagnose unhandled cases.
3654 (lang_specific_driver): Skip options where we will add back
3655 a validated version.
3656 * lang-specs.h (M2CPP): Reformat, append %I when -fcpp is not
3657 in use. Revise the cc1gm2 spec to omit mentioning options that
3658 are handled in the c pre-processor line.
3659 * lang.opt: Allow preprocessing and path options as input to the
3660 cc1gm2 invocation, so that they can be passed to the preprocessor
3663 2023-01-23 Iain Sandoe <iain@sandoe.co.uk>
3666 * gm2-libs-iso/Preemptive.mod (initPreemptive): Use a value for
3667 extra space that is divisible by common OS pagesizes.
3669 2023-01-20 Gaius Mulley <gaiusmod2@gmail.com>
3671 * gm2-libs/Args.mod (GetArg): Check index before
3673 * gm2-libs/M2Dependent.mod (toCString): Check index
3674 before accessing array.
3675 * mc-boot/GArgs.c: Rebuilt.
3676 * mc-boot/GM2Dependent.c: Rebuilt.
3677 * mc-boot/Gkeyc.c: Rebuilt.
3678 * mc/keyc.mod (seenUIntMin): Initialize once.
3679 (seenUIntMax): Initialize once.
3680 (checkLimits): Only test seenUIntMin and seenUIntMax
3682 * pge-boot/GArgs.c: Rebuilt.
3683 * pge-boot/GM2Dependent.c: Rebuilt.
3685 2023-01-20 Gaius Mulley <gaiusmod2@gmail.com>
3687 * gm2-gcc/m2statement.cc (gm2_gimplify_function_node):
3689 * gm2-libs/DynamicStrings.mod (Equal): Remove dead code.
3690 * m2.flex (<COMMENT>"<*"): Add {} for else statement.
3691 * m2pp.cc (hextree): Add conditional #ifdef DEBUGGING.
3692 * mc-boot/GDynamicStrings.c: Rebuild.
3693 * pge-boot/GDynamicStrings.c: Rebuild.
3694 * pge-boot/GFIO.c: Rebuild.
3695 * pge-boot/GIndexing.c: Rebuild.
3696 * pge-boot/GM2EXCEPTION.c: Rebuild.
3697 * pge-boot/GM2RTS.c: Rebuild.
3698 * pge-boot/GNameKey.c: Rebuild.
3699 * pge-boot/GPushBackInput.c: Rebuild.
3700 * pge-boot/GRTExceptions.c: Rebuild.
3701 * pge-boot/GStdIO.c: Rebuild.
3702 * pge-boot/GSymbolKey.c: Rebuild.
3703 * pge-boot/GSysStorage.c: Rebuild.
3705 2023-01-17 Gaius Mulley <gaiusmod2@gmail.com>
3707 * mc-boot/GM2RTS.c: Rebuilt.
3708 * mc-boot/GM2RTS.h: Rebuilt.
3709 * mc-boot/Gdecl.c: Rebuilt.
3710 * mc-boot/GmcOptions.c: Rebuilt.
3711 * mc/mcOptions.mod (displayVersion):
3712 Split first printf into three components
3714 2023-01-17 Gaius Mulley <gaiusmod2@gmail.com>
3716 * gm2-libs-iso/M2RTS.def (Halt): Parameter file renamed to filename.
3717 (HaltC): New procedure declaration.
3718 (ErrorMessage): Parameter file renamed to filename.
3719 * gm2-libs-iso/M2RTS.mod (Halt): Parameter file renamed to
3721 (HaltC): New procedure implementation.
3722 (ErrorStringC): New procedure implementation.
3723 (ErrorMessageC): New procedure implementation.
3724 * gm2-libs/M2RTS.def (Halt): Parameter file renamed to filename.
3725 (HaltC): New procedure declaration.
3726 (ErrorMessage): Parameter file renamed to filename.
3727 * gm2-libs/M2RTS.mod (Halt): Parameter file renamed to filename.
3728 (HaltC): New procedure implementation.
3729 (ErrorStringC): New procedure implementation.
3730 (ErrorMessageC): New procedure implementation.
3732 2023-01-16 Gaius Mulley <gaiusmod2@gmail.com>
3734 * mc-boot-ch/Glibc.c (libc_time): New function.
3735 (libc_localtime): New function.
3736 * mc-boot/GDynamicStrings.c: Regenerate.
3737 * mc-boot/GFIO.c: Regenerate.
3738 * mc-boot/GFormatStrings.c: Regenerate.
3739 * mc-boot/GIndexing.c: Regenerate.
3740 * mc-boot/GM2Dependent.c: Regenerate.
3741 * mc-boot/GM2EXCEPTION.c: Regenerate.
3742 * mc-boot/GPushBackInput.c: Regenerate.
3743 * mc-boot/GRTExceptions.c: Regenerate.
3744 * mc-boot/GRTint.c: Regenerate.
3745 * mc-boot/GStdIO.c: Regenerate.
3746 * mc-boot/GStringConvert.c: Regenerate.
3747 * mc-boot/GSysStorage.c: Regenerate.
3748 * mc-boot/Gdecl.c: Regenerate.
3749 * mc-boot/GmcComment.c: Regenerate.
3750 * mc-boot/GmcComp.c: Regenerate.
3751 * mc-boot/GmcDebug.c: Regenerate.
3752 * mc-boot/GmcMetaError.c: Regenerate.
3753 * mc-boot/GmcOptions.c: Regenerate.
3754 * mc-boot/GmcStack.c: Regenerate.
3755 * mc-boot/GnameKey.c: Regenerate.
3756 * mc-boot/GsymbolKey.c: Regenerate.
3757 * mc-boot/Gkeyc.c: Regenerate.
3758 * mc/decl.mod (putFieldRecord): Change NulName to NulKey
3759 and fix type comparision.
3760 * mc/mcOptions.mod (YEAR): Remove.
3761 (getYear): New procedure function.
3762 (displayVersion): Use result from getYear instead of YEAR.
3763 Emit boilerplate for GPL v3.
3764 (gplBody): Use result from getYear instead of YEAR.
3765 (glplBody): Use result from getYear instead of YEAR.
3767 2023-01-16 Gaius Mulley <gaiusmod2@gmail.com>
3769 * gm2-compiler/M2Quads.mod (AssignUnboundedVar): Check Type
3770 against NulSym and call MetaErrorT1 if necessary.
3771 (AssignUnboundedNonVar): Check Type against NulSym and
3772 call MetaErrorT1 if necessary.
3773 (BuildDesignatorPointer): Check Type1 against NulSym and
3774 call MetaErrorT1 if necessary.
3776 2023-01-16 Gaius Mulley <gaiusmod2@gmail.com>
3778 * mc/mcOptions.mod (displayVersion): Change GPLv2 to GPLv3.
3781 2023-01-15 Gaius Mulley <gaiusmod2@gmail.com>
3783 * gm2-compiler/M2LexBuf.mod (isSrcToken): Add block comment.
3785 * gm2-compiler/M2Quads.def (BuildNot): Add notTokPos parameter.
3786 * gm2-compiler/M2Quads.mod (BuildNot): Add notTokPos parameter.
3787 Create and push virtual token.
3788 (PopBooltok): New procedure.
3789 (PushBooltok): New procedure.
3790 (PushBool): Re-implement using PushBooltok.
3791 (PopBool): Re-implement using PopBooltok.
3792 * gm2-compiler/P3Build.bnf (ConstFactor): Record token
3794 (Factor): Record token position of NOT.
3795 * gm2-compiler/PHBuild.bnf (ConstFactor): Record token
3797 (Relation): Push token position.
3798 (UnaryOrConstTerm): Push token position.
3799 (AddOperator): Push token position.
3800 (MulOperator): Push token position.
3802 2023-01-13 Iain Sandoe <iain@sandoe.co.uk>
3804 * gm2-gcc/m2options.h (M2Options_SetVerbose): Export the
3806 * gm2-lang.cc: Handle OPT_v, passing it to the compiler.
3807 * lang-specs.h: Pass -v to cc1gm2.
3809 2023-01-13 Gaius Mulley <gaiusmod2@gmail.com>
3811 * mc-boot-ch/GRTco.c (RTco_select): Add return 0.
3812 * pge-boot/GRTco.c (RTco_select): Add return 0.
3814 2023-01-10 Gaius Mulley <gaiusmod2@gmail.com>
3816 * Make-lang.in (m2/mc-boot/$(SRC_PREFIX)%.o): Add
3817 m2/gm2-libs/gm2-libs-host.h dependency.
3818 (m2/mc-boot-ch/$(SRC_PREFIX)%.o): Add
3819 m2/gm2-libs/gm2-libs-host.h dependency.
3821 2023-01-10 Gaius Mulley <gaiusmod2@gmail.com>
3823 * Make-lang.in (GM2_1): Change -B path to m2/stage1.
3824 ($(objdir)/m2/images/gnu.eps): Check and create dest dir
3826 (gm2-libs.texi-check): Check and create dir m2/gm2-libs-pim,
3827 m2/gm2-libs-iso and m2/gm2-libs if necessary.
3828 ($(objdir)/m2/gm2-compiler-boot): Remove.
3829 ($(objdir)/m2/gm2-libs-boot): Remove.
3830 ($(objdir)/m2/gm2-libs-libiberty): Remove.
3831 ($(objdir)/m2/gm2-libiberty): Remove.
3832 ($(objdir)/m2/gm2-gcc): Remove.
3833 ($(objdir)/m2/gm2-compiler): Remove.
3834 ($(objdir)/m2/gm2-libs): Remove.
3835 ($(objdir)/m2/gm2-libs-iso): Remove.
3836 ($(objdir)/m2/gm2-libs-min): Remove.
3837 ($(objdir)/m2/gm2-compiler-paranoid): Remove.
3838 ($(objdir)/m2/gm2-libs-paranoid): Remove.
3839 ($(objdir)/m2/gm2-compiler-verify): Remove.
3840 ($(objdir)/m2/boot-bin): Remove.
3841 ($(objdir)/m2/gm2-libs-pim): Remove.
3842 ($(objdir)/m2/gm2-libs-coroutines): Remove.
3843 (stage1/m2): Remove.
3844 (stage2/m2): Remove.
3845 (stage3/m2): Remove.
3846 (m2.stageprofile): New rule.
3847 (m2.stagefeedback): New rule.
3848 (cc1gm2$(exeext)): Change dependent name.
3849 (m2/stage2/cc1gm2$(exeext)): Change dependent name.
3850 Check and create dest dir.
3851 (m2/stage1/cc1gm2$(exeext)): Check and create dest dir
3853 (m2/gm2-gcc/%.o): Ditto.
3854 (m2/gm2-gcc/rtegraph.o): Ditto.
3855 (m2/gm2-gcc/$(SRC_PREFIX)%.h): Ditto.
3856 (m2/gm2-gcc/$(SRC_PREFIX)%.h): Ditto.
3857 (m2/mc-boot): Ditto.
3858 (m2/mc-boot-ch): Ditto.
3859 (m2/gm2-libs-boot): Ditto.
3860 (m2/gm2-compiler-boot): Ditto.
3861 (m2/gm2-compiler): Ditto.
3862 (m2/gm2-libiberty): Ditto.
3863 (m2/gm2-compiler): Ditto.
3864 (m2/gm2-libs-iso): Ditto.
3865 (m2/gm2-libs): Ditto.
3866 (m2/gm2-libs-min): Ditto.
3867 (m2/gm2-libs-coroutines): Ditto.
3868 (m2/boot-bin): Ditto.
3869 (m2/pge-boot): Ditto.
3870 (m2/pge-boot): Ditto.
3871 * Make-maintainer.in (m2/gm2-ppg-boot): Check and create
3872 dest dir if necessary.
3874 (m2/gm2-ppg-boot): Ditto.
3875 (m2/gm2-pg-boot): Ditto.
3876 (m2/gm2-auto): Ditto.
3877 (m2/gm2-pg-boot): Ditto.
3878 (m2/gm2-pge-boot): Ditto.
3879 ($(objdir)/plugin): Ditto.
3880 ($(objdir)/m2/mc-boot-ch): Ditto.
3881 ($(objdir)/m2/mc-boot-gen): Ditto.
3882 (m2/boot-bin): Ditto.
3885 ($(objdir)/m2/gm2-ppg-boot): Ditto.
3886 ($(objdir)/m2/gm2-pg-boot): Ditto.
3887 ($(objdir)/m2/gm2-pge-boot): Ditto.
3888 (m2/mc-boot-gen): Ditto.
3890 (m2/gm2-libs-paranoid): Ditto.
3891 (m2/gm2-compiler-paranoid): Ditto.
3892 (m2/gm2-libs-paranoid): Ditto.
3893 (m2/gm2-compiler-paranoid): Ditto.
3894 (m2/gm2-libs-paranoid): Ditto.
3895 (m2/gm2-compiler-paranoid): Ditto.
3896 * config-lang.in (m2/gm2-compiler-boot): Remove mkdir.
3897 (m2/gm2-libs-boot): Ditto.
3898 (m2/gm2-ici-boot): Ditto.
3899 (m2/gm2-libiberty): Ditto.
3900 (m2/gm2-gcc): Ditto.
3901 (m2/gm2-compiler): Ditto.
3902 (m2/gm2-libs): Ditto.
3903 (m2/gm2-libs-iso): Ditto.
3904 (m2/gm2-compiler-paranoid): Ditto.
3905 (m2/gm2-libs-paranoid): Ditto.
3906 (m2/gm2-compiler-verify): Ditto.
3907 (m2/boot-bin): Ditto.
3908 (m2/gm2-libs-pim): Ditto.
3909 (m2/gm2-libs-coroutines): Ditto.
3910 (m2/gm2-libs-min): Ditto.
3911 (m2/pge-boot): Ditto.
3917 (m2/gm2-auto): Ditto.
3918 (m2/gm2-pg-boot): Ditto.
3919 (m2/gm2-pge-boot): Ditto.
3920 (m2/gm2-ppg-boot): Ditto.
3921 (m2/mc-boot): Ditto.
3922 (m2/mc-boot-ch): Ditto.
3923 (m2/mc-boot-gen): Ditto.
3925 2023-01-09 Gaius Mulley <gaiusmod2@gmail.com>
3927 * Make-lang.in (m2/pge-boot/%.o): Add m2/gm2config.h.
3928 * gm2-libs/config-host: Regenerate.
3930 2023-01-07 Iain Sandoe <iain@sandoe.co.uk>
3932 * gm2-libs-min/libc.c (abort): Update declaration to match the
3933 expected form, add no-return attribute.
3934 (exit): Add no-return attribute.
3936 2023-01-05 Iain Sandoe <iain@sandoe.co.uk>
3939 * gm2-gcc/m2builtins.cc: Remove scalb, scalbf, scalbl,
3940 significand, significandf, significandl.
3941 * gm2-libs/Builtins.def (significand): Likewise.
3942 * gm2-libs/Builtins.mod: Likewise.
3943 * target-independent/Builtins.texi: Likewise.
3944 * gm2-libs-iso/LowLong.mod: Implement fraction with scalbn*() and
3946 * gm2-libs-iso/LowReal.mod: Likewise.
3947 * gm2-libs-iso/LowShort.mod: Likewise.
3949 2023-01-05 Gaius Mulley <gaiusmod2@gmail.com>
3951 * gm2-libs-min/M2RTS.def (ConstructModules): New procedure
3953 (DeconstructModules): New procedure declaration.
3954 * gm2-libs-min/M2RTS.mod (ConstructModules): New procedure
3955 dummy implementation.
3956 (DeconstructModules): New procedure dummy implementation.
3958 2023-01-05 Iain Sandoe <iain@sandoe.co.uk>
3960 * gm2spec.cc (lang_specific_driver): Handle static-libgm2.
3961 * lang.opt: Add static-libgm2.
3963 2023-01-05 Iain Sandoe <iain@sandoe.co.uk>
3965 * gm2spec.cc (lang_specific_driver): Pass -static-libstdc++ on to
3966 the target driver if the linker does not support Bstatic/dynamic.
3968 2023-01-04 Iain Sandoe <iain@sandoe.co.uk>
3971 * gm2-libs-ch/UnixArgs.cc (_M2_UnixArgs_ctor): Rework to use
3972 an extern "C" function with 'constructor' attribute.
3973 * gm2-libs-ch/dtoa.cc (_M2_dtoa_ctor): Likewise.
3974 * gm2-libs-ch/ldtoa.cc (_M2_ldtoa_ctor): Likewise.
3976 2023-01-04 Iain Sandoe <iain@sandoe.co.uk>
3979 * gm2-gcc/m2decl.cc (m2decl_DeclareModuleCtor): Make module
3980 registration constructors visible.
3982 2023-01-04 Iain Sandoe <iain@sandoe.co.uk>
3984 * Make-lang.in (dvi, ps, pdf): Build in the gcc/doc directory, also
3985 use the configured tools for texi -> dvi and texi -> pdf.
3987 2023-01-01 Iain Sandoe <iain@sandoe.co.uk>
3988 Gaius Mulley <gaiusmod2@gmail.com>
3991 * gm2-compiler/M2GCCDeclare.mod: Module registration constructors are
3992 externs to the builder of m2_link.
3994 2022-12-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3995 Iain Sandoe <iain@sandoe.co.uk>
3998 * Make-lang.in (soext): Use .dylib for Darwin.
3999 (PLUGINLDFLAGS): Use dynmic lookup, set the plugin name, and append
4000 -nodefaultlibs to suppress the linking of libstdc++.
4001 Use INCINTL in compile lines for the plugin.
4003 2022-12-21 Jakub Jelinek <jakub@redhat.com>
4006 * gm2-gcc/m2linemap.def (location_t): Use CARDINAL instead of INTEGER.
4008 2022-12-19 Jakub Jelinek <jakub@redhat.com>
4010 * gm2-gcc/m2linemap.cc (m2linemap_ErrorAt, m2linemap_ErrorAtf,
4011 m2linemap_WarningAtf, m2linemap_NoteAtf, m2linemap_internal_error):
4012 Call functions with "%s", message rather than just message, so that
4013 % chars in message aren't treated as format specifiers.
4015 2022-12-19 Jakub Jelinek <jakub@redhat.com>
4018 * gm2-gcc/m2linemap.def (ErrorAtf, WarningAtf, NoteAtf):
4019 Comment out prototypes with varargs.
4020 * gm2-gcc/m2linemap.h (m2linemap_ErrorAtf, m2linemap_WarningAtf,
4021 m2linemap_NoteAtf): No longer varargs.
4022 * gm2-gcc/m2linemap.cc (m2linemap_ErrorAtf): Turned into a
4023 non-varargs wrapper around ...
4024 (m2linemap_ErrorAtf_1): ... this. New static function.
4025 (m2linemap_WarningAtf): Turned into a non-varargs wrapper around ...
4026 (m2linemap_WarningAtf_1): ... this. New static function.
4027 (m2linemap_NoteAtf): Turned into a non-varargs wrapper around ...
4028 (m2linemap_NoteAtf_1): ... this. New static function.
4030 2022-12-15 Gaius Mulley <gaiusmod2@gmail.com>
4032 * configure.ac: Stop probing for realpath.
4033 * tools-src/calcpath: Break dependency on realpath, cut
4035 * configure: Rebuilt.
4037 2022-12-15 Gaius Mulley <gaiusmod2@gmail.com>
4039 * gm2config.h.in: Rebuilt.
4041 2022-12-14 Gaius Mulley <gaiusmod2@gmail.com>
4043 * COPYING.FDL: New file.
4044 * COPYING.RUNTIME: New file.
4045 * COPYING3: New file.
4046 * COPYING3.LIB: New file.
4047 * Make-lang.in: New file.
4048 * Make-maintainer.in: New file.
4051 * config-lang.in: New file.
4052 * config-make.in: New file.
4053 * configure.ac: New file.
4054 * gm2-compiler/CLexBuf.def: New file.
4055 * gm2-compiler/CLexBuf.mod: New file.
4056 * gm2-compiler/FifoQueue.def: New file.
4057 * gm2-compiler/FifoQueue.mod: New file.
4058 * gm2-compiler/Lists.def: New file.
4059 * gm2-compiler/Lists.mod: New file.
4060 * gm2-compiler/M2ALU.def: New file.
4061 * gm2-compiler/M2ALU.mod: New file.
4062 * gm2-compiler/M2AsmUtil.def: New file.
4063 * gm2-compiler/M2AsmUtil.mod: New file.
4064 * gm2-compiler/M2Base.def: New file.
4065 * gm2-compiler/M2Base.mod: New file.
4066 * gm2-compiler/M2BasicBlock.def: New file.
4067 * gm2-compiler/M2BasicBlock.mod: New file.
4068 * gm2-compiler/M2Batch.def: New file.
4069 * gm2-compiler/M2Batch.mod: New file.
4070 * gm2-compiler/M2Bitset.def: New file.
4071 * gm2-compiler/M2Bitset.mod: New file.
4072 * gm2-compiler/M2CaseList.def: New file.
4073 * gm2-compiler/M2CaseList.mod: New file.
4074 * gm2-compiler/M2Check.def: New file.
4075 * gm2-compiler/M2Check.mod: New file.
4076 * gm2-compiler/M2Code.def: New file.
4077 * gm2-compiler/M2Code.mod: New file.
4078 * gm2-compiler/M2ColorString.def: New file.
4079 * gm2-compiler/M2ColorString.mod: New file.
4080 * gm2-compiler/M2Comp.def: New file.
4081 * gm2-compiler/M2Comp.mod: New file.
4082 * gm2-compiler/M2Const.def: New file.
4083 * gm2-compiler/M2Const.mod: New file.
4084 * gm2-compiler/M2Debug.def: New file.
4085 * gm2-compiler/M2Debug.mod: New file.
4086 * gm2-compiler/M2DebugStack.def: New file.
4087 * gm2-compiler/M2DebugStack.mod: New file.
4088 * gm2-compiler/M2Defaults.def: New file.
4089 * gm2-compiler/M2Defaults.mod: New file.
4090 * gm2-compiler/M2DriverOptions.def: New file.
4091 * gm2-compiler/M2DriverOptions.mod: New file.
4092 * gm2-compiler/M2Emit.def: New file.
4093 * gm2-compiler/M2Emit.mod: New file.
4094 * gm2-compiler/M2Error.def: New file.
4095 * gm2-compiler/M2Error.mod: New file.
4096 * gm2-compiler/M2EvalSym.def: New file.
4097 * gm2-compiler/M2FileName.def: New file.
4098 * gm2-compiler/M2FileName.mod: New file.
4099 * gm2-compiler/M2GCCDeclare.def: New file.
4100 * gm2-compiler/M2GCCDeclare.mod: New file.
4101 * gm2-compiler/M2GenGCC.def: New file.
4102 * gm2-compiler/M2GenGCC.mod: New file.
4103 * gm2-compiler/M2Graph.def: New file.
4104 * gm2-compiler/M2Graph.mod: New file.
4105 * gm2-compiler/M2Lex.def: New file.
4106 * gm2-compiler/M2Lex.mod: New file.
4107 * gm2-compiler/M2LexBuf.def: New file.
4108 * gm2-compiler/M2LexBuf.mod: New file.
4109 * gm2-compiler/M2MetaError.def: New file.
4110 * gm2-compiler/M2MetaError.mod: New file.
4111 * gm2-compiler/M2Optimize.def: New file.
4112 * gm2-compiler/M2Optimize.mod: New file.
4113 * gm2-compiler/M2Options.def: New file.
4114 * gm2-compiler/M2Options.mod: New file.
4115 * gm2-compiler/M2Pass.def: New file.
4116 * gm2-compiler/M2Pass.mod: New file.
4117 * gm2-compiler/M2Preprocess.def: New file.
4118 * gm2-compiler/M2Preprocess.mod: New file.
4119 * gm2-compiler/M2Printf.def: New file.
4120 * gm2-compiler/M2Printf.mod: New file.
4121 * gm2-compiler/M2Quads.def: New file.
4122 * gm2-compiler/M2Quads.mod: New file.
4123 * gm2-compiler/M2Quiet.def: New file.
4124 * gm2-compiler/M2Quiet.mod: New file.
4125 * gm2-compiler/M2Range.def: New file.
4126 * gm2-compiler/M2Range.mod: New file.
4127 * gm2-compiler/M2Reserved.def: New file.
4128 * gm2-compiler/M2Reserved.mod: New file.
4129 * gm2-compiler/M2SSA.def: New file.
4130 * gm2-compiler/M2SSA.mod: New file.
4131 * gm2-compiler/M2Scaffold.def: New file.
4132 * gm2-compiler/M2Scaffold.mod: New file.
4133 * gm2-compiler/M2Scope.def: New file.
4134 * gm2-compiler/M2Scope.mod: New file.
4135 * gm2-compiler/M2Search.def: New file.
4136 * gm2-compiler/M2Search.mod: New file.
4137 * gm2-compiler/M2Size.def: New file.
4138 * gm2-compiler/M2Size.mod: New file.
4139 * gm2-compiler/M2StackAddress.def: New file.
4140 * gm2-compiler/M2StackAddress.mod: New file.
4141 * gm2-compiler/M2StackWord.def: New file.
4142 * gm2-compiler/M2StackWord.mod: New file.
4143 * gm2-compiler/M2Students.def: New file.
4144 * gm2-compiler/M2Students.mod: New file.
4145 * gm2-compiler/M2Swig.def: New file.
4146 * gm2-compiler/M2Swig.mod: New file.
4147 * gm2-compiler/M2System.def: New file.
4148 * gm2-compiler/M2System.mod: New file.
4149 * gm2-compiler/M2Version.def: New file.
4150 * gm2-compiler/NameKey.def: New file.
4151 * gm2-compiler/NameKey.mod: New file.
4152 * gm2-compiler/ObjectFiles.def: New file.
4153 * gm2-compiler/ObjectFiles.mod: New file.
4154 * gm2-compiler/Output.def: New file.
4155 * gm2-compiler/Output.mod: New file.
4156 * gm2-compiler/P0SymBuild.def: New file.
4157 * gm2-compiler/P0SymBuild.mod: New file.
4158 * gm2-compiler/P0SyntaxCheck.bnf: New file.
4159 * gm2-compiler/P0SyntaxCheck.def: New file.
4160 * gm2-compiler/P1Build.bnf: New file.
4161 * gm2-compiler/P1Build.def: New file.
4162 * gm2-compiler/P1SymBuild.def: New file.
4163 * gm2-compiler/P1SymBuild.mod: New file.
4164 * gm2-compiler/P2Build.bnf: New file.
4165 * gm2-compiler/P2Build.def: New file.
4166 * gm2-compiler/P2SymBuild.def: New file.
4167 * gm2-compiler/P2SymBuild.mod: New file.
4168 * gm2-compiler/P3Build.bnf: New file.
4169 * gm2-compiler/P3Build.def: New file.
4170 * gm2-compiler/P3SymBuild.def: New file.
4171 * gm2-compiler/P3SymBuild.mod: New file.
4172 * gm2-compiler/PCBuild.bnf: New file.
4173 * gm2-compiler/PCBuild.def: New file.
4174 * gm2-compiler/PCSymBuild.def: New file.
4175 * gm2-compiler/PCSymBuild.mod: New file.
4176 * gm2-compiler/PHBuild.bnf: New file.
4177 * gm2-compiler/PHBuild.def: New file.
4178 * gm2-compiler/README: New file.
4179 * gm2-compiler/Sets.def: New file.
4180 * gm2-compiler/Sets.mod: New file.
4181 * gm2-compiler/SymbolConversion.def: New file.
4182 * gm2-compiler/SymbolConversion.mod: New file.
4183 * gm2-compiler/SymbolKey.def: New file.
4184 * gm2-compiler/SymbolKey.mod: New file.
4185 * gm2-compiler/SymbolTable.def: New file.
4186 * gm2-compiler/SymbolTable.mod: New file.
4187 * gm2-compiler/bnflex.def: New file.
4188 * gm2-compiler/bnflex.mod: New file.
4189 * gm2-compiler/cflex.def: New file.
4190 * gm2-compiler/gm2.mod: New file.
4191 * gm2-compiler/gm2lcc.mod: New file.
4192 * gm2-compiler/gm2lgen.mod: New file.
4193 * gm2-compiler/gm2lorder.mod: New file.
4194 * gm2-compiler/m2flex.def: New file.
4195 * gm2-compiler/ppg.mod: New file.
4196 * gm2-gcc/README: New file.
4197 * gm2-gcc/dynamicstrings.h: New file.
4198 * gm2-gcc/gcc-consolidation.h: New file.
4199 * gm2-gcc/init.cc: New file.
4200 * gm2-gcc/init.def: New file.
4201 * gm2-gcc/init.h: New file.
4202 * gm2-gcc/m2assert.cc: New file.
4203 * gm2-gcc/m2assert.h: New file.
4204 * gm2-gcc/m2block.cc: New file.
4205 * gm2-gcc/m2block.def: New file.
4206 * gm2-gcc/m2block.h: New file.
4207 * gm2-gcc/m2builtins.cc: New file.
4208 * gm2-gcc/m2builtins.def: New file.
4209 * gm2-gcc/m2builtins.h: New file.
4210 * gm2-gcc/m2color.cc: New file.
4211 * gm2-gcc/m2color.def: New file.
4212 * gm2-gcc/m2color.h: New file.
4213 * gm2-gcc/m2configure.cc: New file.
4214 * gm2-gcc/m2configure.def: New file.
4215 * gm2-gcc/m2configure.h: New file.
4216 * gm2-gcc/m2convert.cc: New file.
4217 * gm2-gcc/m2convert.def: New file.
4218 * gm2-gcc/m2convert.h: New file.
4219 * gm2-gcc/m2decl.cc: New file.
4220 * gm2-gcc/m2decl.def: New file.
4221 * gm2-gcc/m2decl.h: New file.
4222 * gm2-gcc/m2except.cc: New file.
4223 * gm2-gcc/m2except.def: New file.
4224 * gm2-gcc/m2except.h: New file.
4225 * gm2-gcc/m2expr.cc: New file.
4226 * gm2-gcc/m2expr.def: New file.
4227 * gm2-gcc/m2expr.h: New file.
4228 * gm2-gcc/m2linemap.cc: New file.
4229 * gm2-gcc/m2linemap.def: New file.
4230 * gm2-gcc/m2linemap.h: New file.
4231 * gm2-gcc/m2misc.cc: New file.
4232 * gm2-gcc/m2misc.def: New file.
4233 * gm2-gcc/m2misc.h: New file.
4234 * gm2-gcc/m2options.h: New file.
4235 * gm2-gcc/m2range.h: New file.
4236 * gm2-gcc/m2search.h: New file.
4237 * gm2-gcc/m2statement.cc: New file.
4238 * gm2-gcc/m2statement.def: New file.
4239 * gm2-gcc/m2statement.h: New file.
4240 * gm2-gcc/m2top.cc: New file.
4241 * gm2-gcc/m2top.def: New file.
4242 * gm2-gcc/m2top.h: New file.
4243 * gm2-gcc/m2tree.cc: New file.
4244 * gm2-gcc/m2tree.def: New file.
4245 * gm2-gcc/m2tree.h: New file.
4246 * gm2-gcc/m2treelib.cc: New file.
4247 * gm2-gcc/m2treelib.def: New file.
4248 * gm2-gcc/m2treelib.h: New file.
4249 * gm2-gcc/m2type.cc: New file.
4250 * gm2-gcc/m2type.def: New file.
4251 * gm2-gcc/m2type.h: New file.
4252 * gm2-gcc/rtegraph.cc: New file.
4253 * gm2-gcc/rtegraph.h: New file.
4254 * gm2-ici/M2Emit.mod: New file.
4255 * gm2-ici/README: New file.
4256 * gm2-ici/m2linemap.c: New file.
4257 * gm2-internals.texi: New file.
4258 * gm2-lang.cc: New file.
4259 * gm2-lang.h: New file.
4260 * gm2-libiberty/README: New file.
4261 * gm2-libiberty/choosetemp.def: New file.
4262 * gm2-libiberty/pexecute.def: New file.
4263 * gm2-libs-ch/M2LINK.c: New file.
4264 * gm2-libs-ch/README: New file.
4265 * gm2-libs-ch/RTcodummy.c: New file.
4266 * gm2-libs-ch/RTintdummy.c: New file.
4267 * gm2-libs-ch/Selective.c: New file.
4268 * gm2-libs-ch/SysExceptions.c: New file.
4269 * gm2-libs-ch/UnixArgs.cc: New file.
4270 * gm2-libs-ch/cgetopt.c: New file.
4271 * gm2-libs-ch/choosetemp.c: New file.
4272 * gm2-libs-ch/dtoa.cc: New file.
4273 * gm2-libs-ch/errno.c: New file.
4274 * gm2-libs-ch/host.c: New file.
4275 * gm2-libs-ch/ldtoa.cc: New file.
4276 * gm2-libs-ch/m2rts.h: New file.
4277 * gm2-libs-ch/termios.c: New file.
4278 * gm2-libs-ch/tools.c: New file.
4279 * gm2-libs-ch/wrapc.c: New file.
4280 * gm2-libs-ch/xlibc.c: New file.
4281 * gm2-libs-coroutines/Debug.def: New file.
4282 * gm2-libs-coroutines/Debug.mod: New file.
4283 * gm2-libs-coroutines/Executive.def: New file.
4284 * gm2-libs-coroutines/Executive.mod: New file.
4285 * gm2-libs-coroutines/KeyBoardLEDs.def: New file.
4286 * gm2-libs-coroutines/README.texi: New file.
4287 * gm2-libs-coroutines/SYSTEM.def: New file.
4288 * gm2-libs-coroutines/SYSTEM.mod: New file.
4289 * gm2-libs-coroutines/TimerHandler.def: New file.
4290 * gm2-libs-coroutines/TimerHandler.mod: New file.
4291 * gm2-libs-iso/COROUTINES.def: New file.
4292 * gm2-libs-iso/COROUTINES.mod: New file.
4293 * gm2-libs-iso/ChanConsts.def: New file.
4294 * gm2-libs-iso/ChanConsts.h: New file.
4295 * gm2-libs-iso/ChanConsts.mod: New file.
4296 * gm2-libs-iso/CharClass.def: New file.
4297 * gm2-libs-iso/CharClass.mod: New file.
4298 * gm2-libs-iso/ClientSocket.def: New file.
4299 * gm2-libs-iso/ClientSocket.mod: New file.
4300 * gm2-libs-iso/ComplexMath.def: New file.
4301 * gm2-libs-iso/ComplexMath.mod: New file.
4302 * gm2-libs-iso/ConvStringLong.def: New file.
4303 * gm2-libs-iso/ConvStringLong.mod: New file.
4304 * gm2-libs-iso/ConvStringReal.def: New file.
4305 * gm2-libs-iso/ConvStringReal.mod: New file.
4306 * gm2-libs-iso/ConvTypes.def: New file.
4307 * gm2-libs-iso/ConvTypes.mod: New file.
4308 * gm2-libs-iso/EXCEPTIONS.def: New file.
4309 * gm2-libs-iso/EXCEPTIONS.mod: New file.
4310 * gm2-libs-iso/ErrnoCategory.def: New file.
4311 * gm2-libs-iso/GeneralUserExceptions.def: New file.
4312 * gm2-libs-iso/GeneralUserExceptions.mod: New file.
4313 * gm2-libs-iso/IOChan.def: New file.
4314 * gm2-libs-iso/IOChan.mod: New file.
4315 * gm2-libs-iso/IOConsts.def: New file.
4316 * gm2-libs-iso/IOConsts.mod: New file.
4317 * gm2-libs-iso/IOLink.def: New file.
4318 * gm2-libs-iso/IOLink.mod: New file.
4319 * gm2-libs-iso/IOResult.def: New file.
4320 * gm2-libs-iso/IOResult.mod: New file.
4321 * gm2-libs-iso/LongComplexMath.def: New file.
4322 * gm2-libs-iso/LongComplexMath.mod: New file.
4323 * gm2-libs-iso/LongConv.def: New file.
4324 * gm2-libs-iso/LongConv.mod: New file.
4325 * gm2-libs-iso/LongIO.def: New file.
4326 * gm2-libs-iso/LongIO.mod: New file.
4327 * gm2-libs-iso/LongMath.def: New file.
4328 * gm2-libs-iso/LongMath.mod: New file.
4329 * gm2-libs-iso/LongStr.def: New file.
4330 * gm2-libs-iso/LongStr.mod: New file.
4331 * gm2-libs-iso/LongWholeIO.def: New file.
4332 * gm2-libs-iso/LongWholeIO.mod: New file.
4333 * gm2-libs-iso/LowLong.def: New file.
4334 * gm2-libs-iso/LowLong.mod: New file.
4335 * gm2-libs-iso/LowReal.def: New file.
4336 * gm2-libs-iso/LowReal.mod: New file.
4337 * gm2-libs-iso/LowShort.def: New file.
4338 * gm2-libs-iso/LowShort.mod: New file.
4339 * gm2-libs-iso/M2EXCEPTION.def: New file.
4340 * gm2-libs-iso/M2EXCEPTION.mod: New file.
4341 * gm2-libs-iso/M2RTS.def: New file.
4342 * gm2-libs-iso/M2RTS.mod: New file.
4343 * gm2-libs-iso/MemStream.def: New file.
4344 * gm2-libs-iso/MemStream.mod: New file.
4345 * gm2-libs-iso/Preemptive.def: New file.
4346 * gm2-libs-iso/Preemptive.mod: New file.
4347 * gm2-libs-iso/Processes.def: New file.
4348 * gm2-libs-iso/Processes.mod: New file.
4349 * gm2-libs-iso/ProgramArgs.def: New file.
4350 * gm2-libs-iso/ProgramArgs.mod: New file.
4351 * gm2-libs-iso/README.texi: New file.
4352 * gm2-libs-iso/RTco.def: New file.
4353 * gm2-libs-iso/RTdata.def: New file.
4354 * gm2-libs-iso/RTdata.mod: New file.
4355 * gm2-libs-iso/RTentity.def: New file.
4356 * gm2-libs-iso/RTentity.mod: New file.
4357 * gm2-libs-iso/RTfio.def: New file.
4358 * gm2-libs-iso/RTfio.mod: New file.
4359 * gm2-libs-iso/RTgen.def: New file.
4360 * gm2-libs-iso/RTgen.mod: New file.
4361 * gm2-libs-iso/RTgenif.def: New file.
4362 * gm2-libs-iso/RTgenif.mod: New file.
4363 * gm2-libs-iso/RTio.def: New file.
4364 * gm2-libs-iso/RTio.mod: New file.
4365 * gm2-libs-iso/RandomNumber.def: New file.
4366 * gm2-libs-iso/RandomNumber.mod: New file.
4367 * gm2-libs-iso/RawIO.def: New file.
4368 * gm2-libs-iso/RawIO.mod: New file.
4369 * gm2-libs-iso/RealConv.def: New file.
4370 * gm2-libs-iso/RealConv.mod: New file.
4371 * gm2-libs-iso/RealIO.def: New file.
4372 * gm2-libs-iso/RealIO.mod: New file.
4373 * gm2-libs-iso/RealMath.def: New file.
4374 * gm2-libs-iso/RealMath.mod: New file.
4375 * gm2-libs-iso/RealStr.def: New file.
4376 * gm2-libs-iso/RealStr.mod: New file.
4377 * gm2-libs-iso/RndFile.def: New file.
4378 * gm2-libs-iso/RndFile.mod: New file.
4379 * gm2-libs-iso/SIOResult.def: New file.
4380 * gm2-libs-iso/SIOResult.mod: New file.
4381 * gm2-libs-iso/SLongIO.def: New file.
4382 * gm2-libs-iso/SLongIO.mod: New file.
4383 * gm2-libs-iso/SLongWholeIO.def: New file.
4384 * gm2-libs-iso/SLongWholeIO.mod: New file.
4385 * gm2-libs-iso/SRawIO.def: New file.
4386 * gm2-libs-iso/SRawIO.mod: New file.
4387 * gm2-libs-iso/SRealIO.def: New file.
4388 * gm2-libs-iso/SRealIO.mod: New file.
4389 * gm2-libs-iso/SShortIO.def: New file.
4390 * gm2-libs-iso/SShortIO.mod: New file.
4391 * gm2-libs-iso/SShortWholeIO.def: New file.
4392 * gm2-libs-iso/SShortWholeIO.mod: New file.
4393 * gm2-libs-iso/STextIO.def: New file.
4394 * gm2-libs-iso/STextIO.mod: New file.
4395 * gm2-libs-iso/SWholeIO.def: New file.
4396 * gm2-libs-iso/SWholeIO.mod: New file.
4397 * gm2-libs-iso/SYSTEM.def: New file.
4398 * gm2-libs-iso/SYSTEM.mod: New file.
4399 * gm2-libs-iso/Semaphores.def: New file.
4400 * gm2-libs-iso/Semaphores.mod: New file.
4401 * gm2-libs-iso/SeqFile.def: New file.
4402 * gm2-libs-iso/SeqFile.mod: New file.
4403 * gm2-libs-iso/ShortComplexMath.def: New file.
4404 * gm2-libs-iso/ShortComplexMath.mod: New file.
4405 * gm2-libs-iso/ShortIO.def: New file.
4406 * gm2-libs-iso/ShortIO.mod: New file.
4407 * gm2-libs-iso/ShortWholeIO.def: New file.
4408 * gm2-libs-iso/ShortWholeIO.mod: New file.
4409 * gm2-libs-iso/SimpleCipher.def: New file.
4410 * gm2-libs-iso/SimpleCipher.mod: New file.
4411 * gm2-libs-iso/StdChans.def: New file.
4412 * gm2-libs-iso/StdChans.mod: New file.
4413 * gm2-libs-iso/Storage.def: New file.
4414 * gm2-libs-iso/Storage.mod: New file.
4415 * gm2-libs-iso/StreamFile.def: New file.
4416 * gm2-libs-iso/StreamFile.mod: New file.
4417 * gm2-libs-iso/StringChan.def: New file.
4418 * gm2-libs-iso/StringChan.mod: New file.
4419 * gm2-libs-iso/Strings.def: New file.
4420 * gm2-libs-iso/Strings.mod: New file.
4421 * gm2-libs-iso/SysClock.def: New file.
4422 * gm2-libs-iso/SysClock.mod: New file.
4423 * gm2-libs-iso/TERMINATION.def: New file.
4424 * gm2-libs-iso/TERMINATION.mod: New file.
4425 * gm2-libs-iso/TermFile.def: New file.
4426 * gm2-libs-iso/TermFile.mod: New file.
4427 * gm2-libs-iso/TextIO.def: New file.
4428 * gm2-libs-iso/TextIO.mod: New file.
4429 * gm2-libs-iso/WholeConv.def: New file.
4430 * gm2-libs-iso/WholeConv.mod: New file.
4431 * gm2-libs-iso/WholeIO.def: New file.
4432 * gm2-libs-iso/WholeIO.mod: New file.
4433 * gm2-libs-iso/WholeStr.def: New file.
4434 * gm2-libs-iso/WholeStr.mod: New file.
4435 * gm2-libs-iso/wrapsock.c: New file.
4436 * gm2-libs-iso/wrapsock.def: New file.
4437 * gm2-libs-iso/wraptime.c: New file.
4438 * gm2-libs-iso/wraptime.def: New file.
4439 * gm2-libs-min/M2RTS.def: New file.
4440 * gm2-libs-min/M2RTS.mod: New file.
4441 * gm2-libs-min/SYSTEM.def: New file.
4442 * gm2-libs-min/SYSTEM.mod: New file.
4443 * gm2-libs-min/libc.c: New file.
4444 * gm2-libs-min/libc.def: New file.
4445 * gm2-libs-pim/BitBlockOps.def: New file.
4446 * gm2-libs-pim/BitBlockOps.mod: New file.
4447 * gm2-libs-pim/BitByteOps.def: New file.
4448 * gm2-libs-pim/BitByteOps.mod: New file.
4449 * gm2-libs-pim/BitWordOps.def: New file.
4450 * gm2-libs-pim/BitWordOps.mod: New file.
4451 * gm2-libs-pim/BlockOps.def: New file.
4452 * gm2-libs-pim/BlockOps.mod: New file.
4453 * gm2-libs-pim/Break.c: New file.
4454 * gm2-libs-pim/Break.def: New file.
4455 * gm2-libs-pim/CardinalIO.def: New file.
4456 * gm2-libs-pim/CardinalIO.mod: New file.
4457 * gm2-libs-pim/Conversions.def: New file.
4458 * gm2-libs-pim/Conversions.mod: New file.
4459 * gm2-libs-pim/DebugPMD.def: New file.
4460 * gm2-libs-pim/DebugPMD.mod: New file.
4461 * gm2-libs-pim/DebugTrace.def: New file.
4462 * gm2-libs-pim/DebugTrace.mod: New file.
4463 * gm2-libs-pim/Delay.def: New file.
4464 * gm2-libs-pim/Delay.mod: New file.
4465 * gm2-libs-pim/Display.def: New file.
4466 * gm2-libs-pim/Display.mod: New file.
4467 * gm2-libs-pim/ErrorCode.def: New file.
4468 * gm2-libs-pim/ErrorCode.mod: New file.
4469 * gm2-libs-pim/FileSystem.def: New file.
4470 * gm2-libs-pim/FileSystem.mod: New file.
4471 * gm2-libs-pim/FloatingUtilities.def: New file.
4472 * gm2-libs-pim/FloatingUtilities.mod: New file.
4473 * gm2-libs-pim/InOut.def: New file.
4474 * gm2-libs-pim/InOut.mod: New file.
4475 * gm2-libs-pim/Keyboard.def: New file.
4476 * gm2-libs-pim/Keyboard.mod: New file.
4477 * gm2-libs-pim/LongIO.def: New file.
4478 * gm2-libs-pim/LongIO.mod: New file.
4479 * gm2-libs-pim/NumberConversion.def: New file.
4480 * gm2-libs-pim/NumberConversion.mod: New file.
4481 * gm2-libs-pim/README.texi: New file.
4482 * gm2-libs-pim/Random.def: New file.
4483 * gm2-libs-pim/Random.mod: New file.
4484 * gm2-libs-pim/RealConversions.def: New file.
4485 * gm2-libs-pim/RealConversions.mod: New file.
4486 * gm2-libs-pim/RealInOut.def: New file.
4487 * gm2-libs-pim/RealInOut.mod: New file.
4488 * gm2-libs-pim/Strings.def: New file.
4489 * gm2-libs-pim/Strings.mod: New file.
4490 * gm2-libs-pim/Termbase.def: New file.
4491 * gm2-libs-pim/Termbase.mod: New file.
4492 * gm2-libs-pim/Terminal.def: New file.
4493 * gm2-libs-pim/Terminal.mod: New file.
4494 * gm2-libs-pim/TimeDate.def: New file.
4495 * gm2-libs-pim/TimeDate.mod: New file.
4496 * gm2-libs/ASCII.def: New file.
4497 * gm2-libs/ASCII.mod: New file.
4498 * gm2-libs/Args.def: New file.
4499 * gm2-libs/Args.mod: New file.
4500 * gm2-libs/Assertion.def: New file.
4501 * gm2-libs/Assertion.mod: New file.
4502 * gm2-libs/Break.def: New file.
4503 * gm2-libs/Break.mod: New file.
4504 * gm2-libs/Builtins.def: New file.
4505 * gm2-libs/Builtins.mod: New file.
4506 * gm2-libs/COROUTINES.def: New file.
4507 * gm2-libs/COROUTINES.mod: New file.
4508 * gm2-libs/CmdArgs.def: New file.
4509 * gm2-libs/CmdArgs.mod: New file.
4510 * gm2-libs/Debug.def: New file.
4511 * gm2-libs/Debug.mod: New file.
4512 * gm2-libs/DynamicStrings.def: New file.
4513 * gm2-libs/DynamicStrings.mod: New file.
4514 * gm2-libs/Environment.def: New file.
4515 * gm2-libs/Environment.mod: New file.
4516 * gm2-libs/FIO.def: New file.
4517 * gm2-libs/FIO.mod: New file.
4518 * gm2-libs/FormatStrings.def: New file.
4519 * gm2-libs/FormatStrings.mod: New file.
4520 * gm2-libs/FpuIO.def: New file.
4521 * gm2-libs/FpuIO.mod: New file.
4522 * gm2-libs/GetOpt.def: New file.
4523 * gm2-libs/GetOpt.mod: New file.
4524 * gm2-libs/IO.def: New file.
4525 * gm2-libs/IO.mod: New file.
4526 * gm2-libs/Indexing.def: New file.
4527 * gm2-libs/Indexing.mod: New file.
4528 * gm2-libs/LMathLib0.def: New file.
4529 * gm2-libs/LMathLib0.mod: New file.
4530 * gm2-libs/LegacyReal.def: New file.
4531 * gm2-libs/LegacyReal.mod: New file.
4532 * gm2-libs/M2Dependent.def: New file.
4533 * gm2-libs/M2Dependent.mod: New file.
4534 * gm2-libs/M2EXCEPTION.def: New file.
4535 * gm2-libs/M2EXCEPTION.mod: New file.
4536 * gm2-libs/M2LINK.def: New file.
4537 * gm2-libs/M2RTS.def: New file.
4538 * gm2-libs/M2RTS.mod: New file.
4539 * gm2-libs/MathLib0.def: New file.
4540 * gm2-libs/MathLib0.mod: New file.
4541 * gm2-libs/MemUtils.def: New file.
4542 * gm2-libs/MemUtils.mod: New file.
4543 * gm2-libs/NumberIO.def: New file.
4544 * gm2-libs/NumberIO.mod: New file.
4545 * gm2-libs/OptLib.def: New file.
4546 * gm2-libs/OptLib.mod: New file.
4547 * gm2-libs/PushBackInput.def: New file.
4548 * gm2-libs/PushBackInput.mod: New file.
4549 * gm2-libs/README.texi: New file.
4550 * gm2-libs/RTExceptions.def: New file.
4551 * gm2-libs/RTExceptions.mod: New file.
4552 * gm2-libs/RTint.def: New file.
4553 * gm2-libs/RTint.mod: New file.
4554 * gm2-libs/SArgs.def: New file.
4555 * gm2-libs/SArgs.mod: New file.
4556 * gm2-libs/SCmdArgs.def: New file.
4557 * gm2-libs/SCmdArgs.mod: New file.
4558 * gm2-libs/SEnvironment.def: New file.
4559 * gm2-libs/SEnvironment.mod: New file.
4560 * gm2-libs/SFIO.def: New file.
4561 * gm2-libs/SFIO.mod: New file.
4562 * gm2-libs/SMathLib0.def: New file.
4563 * gm2-libs/SMathLib0.mod: New file.
4564 * gm2-libs/SYSTEM.def: New file.
4565 * gm2-libs/SYSTEM.mod: New file.
4566 * gm2-libs/Scan.def: New file.
4567 * gm2-libs/Scan.mod: New file.
4568 * gm2-libs/Selective.def: New file.
4569 * gm2-libs/StdIO.def: New file.
4570 * gm2-libs/StdIO.mod: New file.
4571 * gm2-libs/Storage.def: New file.
4572 * gm2-libs/Storage.mod: New file.
4573 * gm2-libs/StrCase.def: New file.
4574 * gm2-libs/StrCase.mod: New file.
4575 * gm2-libs/StrIO.def: New file.
4576 * gm2-libs/StrIO.mod: New file.
4577 * gm2-libs/StrLib.def: New file.
4578 * gm2-libs/StrLib.mod: New file.
4579 * gm2-libs/StringConvert.def: New file.
4580 * gm2-libs/StringConvert.mod: New file.
4581 * gm2-libs/SysExceptions.def: New file.
4582 * gm2-libs/SysStorage.def: New file.
4583 * gm2-libs/SysStorage.mod: New file.
4584 * gm2-libs/TimeString.def: New file.
4585 * gm2-libs/TimeString.mod: New file.
4586 * gm2-libs/UnixArgs.def: New file.
4587 * gm2-libs/cbuiltin.def: New file.
4588 * gm2-libs/cgetopt.def: New file.
4589 * gm2-libs/config-host: New file.
4590 * gm2-libs/config-host.in: New file.
4591 * gm2-libs/cxxabi.def: New file.
4592 * gm2-libs/dtoa.def: New file.
4593 * gm2-libs/errno.def: New file.
4594 * gm2-libs/gdbif.def: New file.
4595 * gm2-libs/gdbif.mod: New file.
4596 * gm2-libs/gm2-libs-host.h.in: New file.
4597 * gm2-libs/ldtoa.def: New file.
4598 * gm2-libs/libc.def: New file.
4599 * gm2-libs/libm.def: New file.
4600 * gm2-libs/sckt.def: New file.
4601 * gm2-libs/termios.def: New file.
4602 * gm2-libs/wrapc.def: New file.
4603 * gm2config.h.in: New file.
4604 * gm2spec.cc: New file.
4605 * gm2version.h: New file.
4606 * init/README: New file.
4607 * init/mcinit: New file.
4608 * init/ppginit: New file.
4609 * lang-specs.h: New file.
4610 * lang.opt: New file.
4611 * m2-tree.def: New file.
4612 * m2-tree.h: New file.
4613 * m2.flex: New file.
4614 * m2pp.cc: New file.
4616 * mc-boot-ch/GBuiltins.c: New file.
4617 * mc-boot-ch/GM2LINK.c: New file.
4618 * mc-boot-ch/GRTco.c: New file.
4619 * mc-boot-ch/GSYSTEM.c: New file.
4620 * mc-boot-ch/GSelective.c: New file.
4621 * mc-boot-ch/GSysExceptions.c: New file.
4622 * mc-boot-ch/GUnixArgs.cc: New file.
4623 * mc-boot-ch/Gabort.c: New file.
4624 * mc-boot-ch/Gcbuiltin.c: New file.
4625 * mc-boot-ch/Gdtoa.c: New file.
4626 * mc-boot-ch/Gerrno.c: New file.
4627 * mc-boot-ch/Gldtoa.c: New file.
4628 * mc-boot-ch/Glibc.c: New file.
4629 * mc-boot-ch/Glibm.c: New file.
4630 * mc-boot-ch/Gmcrts.c: New file.
4631 * mc-boot-ch/Gmcrts.h: New file.
4632 * mc-boot-ch/Gnetwork.h: New file.
4633 * mc-boot-ch/Gtermios.cc: New file.
4634 * mc-boot-ch/Gwrapc.c: New file.
4635 * mc-boot-ch/README: New file.
4636 * mc-boot-ch/m2rts.h: New file.
4637 * mc-boot-ch/network.c: New file.
4638 * mc-boot/GASCII.c: New file.
4639 * mc-boot/GASCII.h: New file.
4640 * mc-boot/GArgs.c: New file.
4641 * mc-boot/GArgs.h: New file.
4642 * mc-boot/GAssertion.c: New file.
4643 * mc-boot/GAssertion.h: New file.
4644 * mc-boot/GBreak.c: New file.
4645 * mc-boot/GBreak.h: New file.
4646 * mc-boot/GCOROUTINES.h: New file.
4647 * mc-boot/GCmdArgs.c: New file.
4648 * mc-boot/GCmdArgs.h: New file.
4649 * mc-boot/GDebug.c: New file.
4650 * mc-boot/GDebug.h: New file.
4651 * mc-boot/GDynamicStrings.c: New file.
4652 * mc-boot/GDynamicStrings.h: New file.
4653 * mc-boot/GEnvironment.c: New file.
4654 * mc-boot/GEnvironment.h: New file.
4655 * mc-boot/GFIO.c: New file.
4656 * mc-boot/GFIO.h: New file.
4657 * mc-boot/GFormatStrings.c: New file.
4658 * mc-boot/GFormatStrings.h: New file.
4659 * mc-boot/GFpuIO.c: New file.
4660 * mc-boot/GFpuIO.h: New file.
4661 * mc-boot/GIO.c: New file.
4662 * mc-boot/GIO.h: New file.
4663 * mc-boot/GIndexing.c: New file.
4664 * mc-boot/GIndexing.h: New file.
4665 * mc-boot/GM2Dependent.c: New file.
4666 * mc-boot/GM2Dependent.h: New file.
4667 * mc-boot/GM2EXCEPTION.c: New file.
4668 * mc-boot/GM2EXCEPTION.h: New file.
4669 * mc-boot/GM2LINK.h: New file.
4670 * mc-boot/GM2RTS.c: New file.
4671 * mc-boot/GM2RTS.h: New file.
4672 * mc-boot/GMemUtils.c: New file.
4673 * mc-boot/GMemUtils.h: New file.
4674 * mc-boot/GNumberIO.c: New file.
4675 * mc-boot/GNumberIO.h: New file.
4676 * mc-boot/GPushBackInput.c: New file.
4677 * mc-boot/GPushBackInput.h: New file.
4678 * mc-boot/GRTExceptions.c: New file.
4679 * mc-boot/GRTExceptions.h: New file.
4680 * mc-boot/GRTco.h: New file.
4681 * mc-boot/GRTint.c: New file.
4682 * mc-boot/GRTint.h: New file.
4683 * mc-boot/GSArgs.c: New file.
4684 * mc-boot/GSArgs.h: New file.
4685 * mc-boot/GSFIO.c: New file.
4686 * mc-boot/GSFIO.h: New file.
4687 * mc-boot/GSYSTEM.h: New file.
4688 * mc-boot/GSelective.h: New file.
4689 * mc-boot/GStdIO.c: New file.
4690 * mc-boot/GStdIO.h: New file.
4691 * mc-boot/GStorage.c: New file.
4692 * mc-boot/GStorage.h: New file.
4693 * mc-boot/GStrCase.c: New file.
4694 * mc-boot/GStrCase.h: New file.
4695 * mc-boot/GStrIO.c: New file.
4696 * mc-boot/GStrIO.h: New file.
4697 * mc-boot/GStrLib.c: New file.
4698 * mc-boot/GStrLib.h: New file.
4699 * mc-boot/GStringConvert.c: New file.
4700 * mc-boot/GStringConvert.h: New file.
4701 * mc-boot/GSysExceptions.h: New file.
4702 * mc-boot/GSysStorage.c: New file.
4703 * mc-boot/GSysStorage.h: New file.
4704 * mc-boot/GTimeString.c: New file.
4705 * mc-boot/GTimeString.h: New file.
4706 * mc-boot/GUnixArgs.h: New file.
4707 * mc-boot/Galists.c: New file.
4708 * mc-boot/Galists.h: New file.
4709 * mc-boot/Gdecl.c: New file.
4710 * mc-boot/Gdecl.h: New file.
4711 * mc-boot/Gdtoa.h: New file.
4712 * mc-boot/Gerrno.h: New file.
4713 * mc-boot/Gkeyc.c: New file.
4714 * mc-boot/Gkeyc.h: New file.
4715 * mc-boot/Gldtoa.h: New file.
4716 * mc-boot/Glibc.h: New file.
4717 * mc-boot/Glibm.h: New file.
4718 * mc-boot/Glists.c: New file.
4719 * mc-boot/Glists.h: New file.
4720 * mc-boot/GmcComment.c: New file.
4721 * mc-boot/GmcComment.h: New file.
4722 * mc-boot/GmcComp.c: New file.
4723 * mc-boot/GmcComp.h: New file.
4724 * mc-boot/GmcDebug.c: New file.
4725 * mc-boot/GmcDebug.h: New file.
4726 * mc-boot/GmcError.c: New file.
4727 * mc-boot/GmcError.h: New file.
4728 * mc-boot/GmcFileName.c: New file.
4729 * mc-boot/GmcFileName.h: New file.
4730 * mc-boot/GmcLexBuf.c: New file.
4731 * mc-boot/GmcLexBuf.h: New file.
4732 * mc-boot/GmcMetaError.c: New file.
4733 * mc-boot/GmcMetaError.h: New file.
4734 * mc-boot/GmcOptions.c: New file.
4735 * mc-boot/GmcOptions.h: New file.
4736 * mc-boot/GmcPreprocess.c: New file.
4737 * mc-boot/GmcPreprocess.h: New file.
4738 * mc-boot/GmcPretty.c: New file.
4739 * mc-boot/GmcPretty.h: New file.
4740 * mc-boot/GmcPrintf.c: New file.
4741 * mc-boot/GmcPrintf.h: New file.
4742 * mc-boot/GmcQuiet.c: New file.
4743 * mc-boot/GmcQuiet.h: New file.
4744 * mc-boot/GmcReserved.c: New file.
4745 * mc-boot/GmcReserved.h: New file.
4746 * mc-boot/GmcSearch.c: New file.
4747 * mc-boot/GmcSearch.h: New file.
4748 * mc-boot/GmcStack.c: New file.
4749 * mc-boot/GmcStack.h: New file.
4750 * mc-boot/GmcStream.c: New file.
4751 * mc-boot/GmcStream.h: New file.
4752 * mc-boot/Gmcflex.h: New file.
4753 * mc-boot/Gmcp1.c: New file.
4754 * mc-boot/Gmcp1.h: New file.
4755 * mc-boot/Gmcp2.c: New file.
4756 * mc-boot/Gmcp2.h: New file.
4757 * mc-boot/Gmcp3.c: New file.
4758 * mc-boot/Gmcp3.h: New file.
4759 * mc-boot/Gmcp4.c: New file.
4760 * mc-boot/Gmcp4.h: New file.
4761 * mc-boot/Gmcp5.c: New file.
4762 * mc-boot/Gmcp5.h: New file.
4763 * mc-boot/GnameKey.c: New file.
4764 * mc-boot/GnameKey.h: New file.
4765 * mc-boot/Gpth.h: New file.
4766 * mc-boot/GsymbolKey.c: New file.
4767 * mc-boot/GsymbolKey.h: New file.
4768 * mc-boot/Gtermios.h: New file.
4769 * mc-boot/Gtop.c: New file.
4770 * mc-boot/Gvarargs.c: New file.
4771 * mc-boot/Gvarargs.h: New file.
4772 * mc-boot/Gwlists.c: New file.
4773 * mc-boot/Gwlists.h: New file.
4774 * mc-boot/Gwrapc.h: New file.
4775 * mc-boot/README: New file.
4776 * mc/Indexing.def: New file.
4777 * mc/Indexing.mod: New file.
4778 * mc/README: New file.
4779 * mc/alists.def: New file.
4780 * mc/alists.mod: New file.
4781 * mc/decl.def: New file.
4782 * mc/decl.mod: New file.
4783 * mc/decl.mod-extra: New file.
4784 * mc/keyc.def: New file.
4785 * mc/keyc.mod: New file.
4786 * mc/lists.def: New file.
4787 * mc/lists.mod: New file.
4788 * mc/m2flex.def: New file.
4789 * mc/mc.flex: New file.
4790 * mc/mcComment.def: New file.
4791 * mc/mcComment.h: New file.
4792 * mc/mcComment.mod: New file.
4793 * mc/mcComp.def: New file.
4794 * mc/mcComp.mod: New file.
4795 * mc/mcDebug.def: New file.
4796 * mc/mcDebug.mod: New file.
4797 * mc/mcError.def: New file.
4798 * mc/mcError.mod: New file.
4799 * mc/mcFileName.def: New file.
4800 * mc/mcFileName.mod: New file.
4801 * mc/mcLexBuf.def: New file.
4802 * mc/mcLexBuf.h: New file.
4803 * mc/mcLexBuf.mod: New file.
4804 * mc/mcMetaError.def: New file.
4805 * mc/mcMetaError.mod: New file.
4806 * mc/mcOptions.def: New file.
4807 * mc/mcOptions.mod: New file.
4808 * mc/mcPreprocess.def: New file.
4809 * mc/mcPreprocess.mod: New file.
4810 * mc/mcPretty.def: New file.
4811 * mc/mcPretty.mod: New file.
4812 * mc/mcPrintf.def: New file.
4813 * mc/mcPrintf.mod: New file.
4814 * mc/mcQuiet.def: New file.
4815 * mc/mcQuiet.mod: New file.
4816 * mc/mcReserved.def: New file.
4817 * mc/mcReserved.h: New file.
4818 * mc/mcReserved.mod: New file.
4819 * mc/mcSearch.def: New file.
4820 * mc/mcSearch.mod: New file.
4821 * mc/mcStack.def: New file.
4822 * mc/mcStack.mod: New file.
4823 * mc/mcStream.def: New file.
4824 * mc/mcStream.mod: New file.
4825 * mc/mcflex.def: New file.
4826 * mc/mcp1.bnf: New file.
4827 * mc/mcp1.def: New file.
4828 * mc/mcp2.bnf: New file.
4829 * mc/mcp2.def: New file.
4830 * mc/mcp3.bnf: New file.
4831 * mc/mcp3.def: New file.
4832 * mc/mcp4.bnf: New file.
4833 * mc/mcp4.def: New file.
4834 * mc/mcp5.bnf: New file.
4835 * mc/mcp5.def: New file.
4836 * mc/nameKey.def: New file.
4837 * mc/nameKey.mod: New file.
4838 * mc/symbolKey.def: New file.
4839 * mc/symbolKey.mod: New file.
4840 * mc/top.mod: New file.
4841 * mc/varargs.def: New file.
4842 * mc/varargs.mod: New file.
4843 * mc/wlists.def: New file.
4844 * mc/wlists.mod: New file.
4845 * pge-boot/GASCII.c: New file.
4846 * pge-boot/GASCII.h: New file.
4847 * pge-boot/GArgs.c: New file.
4848 * pge-boot/GArgs.h: New file.
4849 * pge-boot/GAssertion.c: New file.
4850 * pge-boot/GAssertion.h: New file.
4851 * pge-boot/GBreak.h: New file.
4852 * pge-boot/GBuiltins.c: New file.
4853 * pge-boot/GCmdArgs.h: New file.
4854 * pge-boot/GDebug.c: New file.
4855 * pge-boot/GDebug.h: New file.
4856 * pge-boot/GDynamicStrings.c: New file.
4857 * pge-boot/GDynamicStrings.h: New file.
4858 * pge-boot/GEnvironment.h: New file.
4859 * pge-boot/GFIO.c: New file.
4860 * pge-boot/GFIO.h: New file.
4861 * pge-boot/GFormatStrings.h: New file.
4862 * pge-boot/GFpuIO.h: New file.
4863 * pge-boot/GIO.c: New file.
4864 * pge-boot/GIO.h: New file.
4865 * pge-boot/GIndexing.c: New file.
4866 * pge-boot/GIndexing.h: New file.
4867 * pge-boot/GLists.c: New file.
4868 * pge-boot/GLists.h: New file.
4869 * pge-boot/GM2Dependent.c: New file.
4870 * pge-boot/GM2Dependent.h: New file.
4871 * pge-boot/GM2EXCEPTION.c: New file.
4872 * pge-boot/GM2EXCEPTION.h: New file.
4873 * pge-boot/GM2LINK.c: New file.
4874 * pge-boot/GM2LINK.h: New file.
4875 * pge-boot/GM2RTS.c: New file.
4876 * pge-boot/GM2RTS.h: New file.
4877 * pge-boot/GNameKey.c: New file.
4878 * pge-boot/GNameKey.h: New file.
4879 * pge-boot/GNumberIO.c: New file.
4880 * pge-boot/GNumberIO.h: New file.
4881 * pge-boot/GOutput.c: New file.
4882 * pge-boot/GOutput.h: New file.
4883 * pge-boot/GPushBackInput.c: New file.
4884 * pge-boot/GPushBackInput.h: New file.
4885 * pge-boot/GRTExceptions.c: New file.
4886 * pge-boot/GRTExceptions.h: New file.
4887 * pge-boot/GRTco.c: New file.
4888 * pge-boot/GSArgs.h: New file.
4889 * pge-boot/GSEnvironment.h: New file.
4890 * pge-boot/GSFIO.c: New file.
4891 * pge-boot/GSFIO.h: New file.
4892 * pge-boot/GSYSTEM.c: New file.
4893 * pge-boot/GSYSTEM.h: New file.
4894 * pge-boot/GScan.h: New file.
4895 * pge-boot/GSelective.c: New file.
4896 * pge-boot/GStdIO.c: New file.
4897 * pge-boot/GStdIO.h: New file.
4898 * pge-boot/GStorage.c: New file.
4899 * pge-boot/GStorage.h: New file.
4900 * pge-boot/GStrCase.c: New file.
4901 * pge-boot/GStrCase.h: New file.
4902 * pge-boot/GStrIO.c: New file.
4903 * pge-boot/GStrIO.h: New file.
4904 * pge-boot/GStrLib.c: New file.
4905 * pge-boot/GStrLib.h: New file.
4906 * pge-boot/GStringConvert.h: New file.
4907 * pge-boot/GSymbolKey.c: New file.
4908 * pge-boot/GSymbolKey.h: New file.
4909 * pge-boot/GSysExceptions.c: New file.
4910 * pge-boot/GSysExceptions.h: New file.
4911 * pge-boot/GSysStorage.c: New file.
4912 * pge-boot/GSysStorage.h: New file.
4913 * pge-boot/GTimeString.h: New file.
4914 * pge-boot/GUnixArgs.cc: New file.
4915 * pge-boot/GUnixArgs.h: New file.
4916 * pge-boot/Gabort.c: New file.
4917 * pge-boot/Gbnflex.c: New file.
4918 * pge-boot/Gbnflex.h: New file.
4919 * pge-boot/Gcbuiltin.c: New file.
4920 * pge-boot/Gdtoa.c: New file.
4921 * pge-boot/Gdtoa.h: New file.
4922 * pge-boot/Gerrno.c: New file.
4923 * pge-boot/Gerrno.h: New file.
4924 * pge-boot/Gldtoa.c: New file.
4925 * pge-boot/Gldtoa.h: New file.
4926 * pge-boot/Glibc.c: New file.
4927 * pge-boot/Glibc.h: New file.
4928 * pge-boot/Glibm.c: New file.
4929 * pge-boot/Glibm.h: New file.
4930 * pge-boot/Gmcrts.c: New file.
4931 * pge-boot/Gmcrts.h: New file.
4932 * pge-boot/Gnetwork.h: New file.
4933 * pge-boot/Gpge.c: New file.
4934 * pge-boot/Gtermios.cc: New file.
4935 * pge-boot/Gtermios.h: New file.
4936 * pge-boot/Gwrapc.c: New file.
4937 * pge-boot/Gwrapc.h: New file.
4938 * pge-boot/README: New file.
4939 * pge-boot/m2rts.h: New file.
4940 * pge-boot/main.c: New file.
4941 * pge-boot/network.c: New file.
4942 * plugin/README: New file.
4943 * plugin/m2rte.cc: New file.
4944 * tools-src/README: New file.
4945 * tools-src/boilerplate.py: New file.
4946 * tools-src/buildpg: New file.
4947 * tools-src/calcpath: New file.
4948 * tools-src/def2doc.py: New file.
4949 * tools-src/makeSystem: New file.
4950 * tools-src/mklink.c: New file.
4951 * tools-src/tidydates.py: New file.
4952 * images/LICENSE.IMG: New file.
4953 * images/gnupng: New file.
4954 * images/gnu.eps: New file.
4955 * version.c: New file.
4956 * configure: Rebuilt.
4957 * target-independent/Builtins.texi: New file.
4958 * target-independent/SYSTEM-iso.texi: New file.
4959 * target-independent/SYSTEM-pim.texi: New file.
4960 * target-independent/gm2-libs.texi: New file.
4961 * target-independent/readme.txt: New file.