]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/m2/ChangeLog
62824f210e72cfceab7d1dbad9603f9f774d6a22
[thirdparty/gcc.git] / gcc / m2 / ChangeLog
1 2023-07-18 Gaius Mulley <gaiusmod2@gmail.com>
2
3 * Make-lang.in: Minor formatting change.
4 * gm2-compiler/M2GCCDeclare.mod
5 (DeclareUnboundedProcedureParameters): Rename local variables.
6 (WalkUnboundedProcedureParameters): Rename local variables.
7 (DoVariableDeclaration): Avoid declaration of a variable if
8 it is on the heap (used by static analysis only).
9 * gm2-compiler/M2GenGCC.mod: Formatting.
10 * gm2-compiler/M2Quads.def (GetQuadTrash): New procedure function.
11 * gm2-compiler/M2Quads.mod (GetQuadTrash): New procedure function.
12 (QuadFrame): Add Trash field.
13 (BuildRealFuncProcCall): Detect ALLOCATE and DEALLOCATE and create
14 a heap variable for parameter 1 saving it as the trashed variable
15 for static analysis.
16 (GenQuadOTrash): New procedure.
17 (DisplayQuadRange): Bugfix. Write the scope number.
18 * gm2-compiler/M2SymInit.mod: Rewritten to separate LValue
19 equivalence from LValue to RValue pairings. Comprehensive
20 detection of variant record implemented. Allow dereferencing
21 of pointers through LValue/RValue chains.
22 * gm2-compiler/SymbolTable.def (PutVarHeap): New procedure.
23 (IsVarHeap): New procedure function.
24 (ForeachParamSymDo): New procedure.
25 * gm2-compiler/SymbolTable.mod (PutVarHeap): New procedure.
26 (IsVarHeap): New procedure function.
27 (ForeachParamSymDo): New procedure.
28 (MakeVariableForParam): Reformatted.
29 (CheckForUnknownInModule): Reformatted.
30 (SymVar): Add field Heap.
31 (MakeVar): Assign Heap to FALSE.
32
33 2023-07-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
34
35 * Make-lang.in (m2/boot-bin/mklink$(exeext)): Add $(LDFLAGS).
36
37 2023-07-11 Gaius Mulley <gaiusmod2@gmail.com>
38
39 * gm2-compiler/M2BasicBlock.def (InitBasicBlocksFromRange): New
40 parameter ScopeSym.
41 * gm2-compiler/M2BasicBlock.mod (ConvertQuads2BasicBlock): New
42 parameter ScopeSym.
43 (InitBasicBlocksFromRange): New parameter ScopeSym. Call
44 ConvertQuads2BasicBlock with ScopeSym.
45 (DisplayBasicBlocks): Uncomment.
46 * gm2-compiler/M2Code.mod: Replace VariableAnalysis with
47 ScopeBlockVariableAnalysis.
48 (InitialDeclareAndOptiomize): Add parameter scope.
49 (SecondDeclareAndOptimize): Add parameter scope.
50 * gm2-compiler/M2GCCDeclare.mod (DeclareConstructor): Add scope
51 parameter to DeclareTypesConstantsProceduresInRange.
52 (DeclareTypesConstantsProceduresInRange): New parameter scope.
53 Pass scope to DisplayQuadRange. Reformatted.
54 * gm2-compiler/M2GenGCC.def (ConvertQuadsToTree): New parameter
55 scope.
56 * gm2-compiler/M2GenGCC.mod (ConvertQuadsToTree): New parameter
57 scope.
58 * gm2-compiler/M2Optimize.mod (KnownReachable): New parameter
59 scope.
60 * gm2-compiler/M2Options.def (SetUninitVariableChecking): Add
61 arg parameter.
62 * gm2-compiler/M2Options.mod (SetUninitVariableChecking): Add
63 arg parameter and set boolean UninitVariableChecking and
64 UninitVariableConditionalChecking.
65 (UninitVariableConditionalChecking): New boolean set to FALSE.
66 * gm2-compiler/M2Quads.def (IsGoto): New procedure function.
67 (DisplayQuadRange): Add scope parameter.
68 (LoopAnalysis): Add scope parameter.
69 * gm2-compiler/M2Quads.mod: Import PutVarArrayRef.
70 (IsGoto): New procedure function.
71 (LoopAnalysis): Add scope parameter and use MetaErrorT1 instead
72 of WarnStringAt.
73 (BuildStaticArray): Call PutVarArrayRef.
74 (BuildDynamicArray): Call PutVarArrayRef.
75 (DisplayQuadRange): Add scope parameter.
76 (GetM2OperatorDesc): Add relational condition cases.
77 * gm2-compiler/M2Scope.def (ScopeProcedure): Add parameter.
78 * gm2-compiler/M2Scope.mod (DisplayScope): Pass scopeSym to
79 DisplayQuadRange.
80 (ForeachScopeBlockDo): Pass scopeSym to p.
81 * gm2-compiler/M2SymInit.def (VariableAnalysis): Rename to ...
82 (ScopeBlockVariableAnalysis): ... this.
83 * gm2-compiler/M2SymInit.mod (ScopeBlockVariableAnalysis): Add
84 scope parameter.
85 (bbEntry): New pointer to record.
86 (bbArray): New array.
87 (bbFreeList): New variable.
88 (errorList): New list.
89 (IssueConditional): New procedure.
90 (GenerateNoteFlow): New procedure.
91 (IssueWarning): New procedure.
92 (IsUniqueWarning): New procedure.
93 (CheckDeferredRecordAccess): Re-implement.
94 (CheckBinary): Add warning and lst parameters.
95 (CheckUnary): Add warning and lst parameters.
96 (CheckXIndr): Add warning and lst parameters.
97 (CheckIndrX): Add warning and lst parameters.
98 (CheckBecomes): Add warning and lst parameters.
99 (CheckComparison): Add warning and lst parameters.
100 (CheckReadBeforeInitQuad): Add warning and lst parameters to all
101 Check procedures. Add all case quadruple clauses.
102 (FilterCheckReadBeforeInitQuad): Add warning and lst parameters.
103 (CheckReadBeforeInitFirstBasicBlock): Add warning and lst parameters.
104 (bbArrayKill): New procedure.
105 (DumpBBEntry): New procedure.
106 (DumpBBArray): New procedure.
107 (DumpBBSequence): New procedure.
108 (TestBBSequence): New procedure.
109 (CreateBBPermultations): New procedure.
110 (ScopeBlockVariableAnalysis): New procedure.
111 (GetOp3): New procedure.
112 (GenerateCFG): New procedure.
113 (NewEntry): New procedure.
114 (AppendEntry): New procedure.
115 (init): Initialize bbFreeList and errorList.
116 * gm2-compiler/SymbolTable.def (PutVarArrayRef): New procedure.
117 (IsVarArrayRef): New procedure function.
118 * gm2-compiler/SymbolTable.mod (SymVar): ArrayRef new field.
119 (MakeVar): Set ArrayRef to FALSE.
120 (PutVarArrayRef): New procedure.
121 (IsVarArrayRef): New procedure function.
122 * gm2-gcc/init.cc (_M2_M2SymInit_init): New prototype.
123 (init_PerCompilationInit): Add call to _M2_M2SymInit_init.
124 * gm2-gcc/m2options.h (M2Options_SetUninitVariableChecking):
125 New definition.
126 * gm2-lang.cc (gm2_langhook_handle_option): Add new case
127 OPT_Wuninit_variable_checking_.
128 * lang.opt: Wuninit-variable-checking= new entry.
129
130 2023-07-03 Gaius Mulley <gaiusmod2@gmail.com>
131
132 PR modula2/110125
133 * Make-lang.in (GM2-COMP-BOOT-DEFS): Add M2SymInit.def.
134 (GM2-COMP-BOOT-MODS): Add M2SymInit.mod.
135 * gm2-compiler/M2BasicBlock.mod: Formatting changes.
136 * gm2-compiler/M2Code.mod: Remove import of VariableAnalysis from
137 M2Quads. Import VariableAnalysis from M2SymInit.mod.
138 * gm2-compiler/M2GCCDeclare.mod (PrintVerboseFromList):
139 Add debugging print for a component.
140 (TypeConstFullyDeclared): Call RememberType for every type.
141 * gm2-compiler/M2GenGCC.mod (CodeReturnValue): Add parameter to
142 GetQuadOtok.
143 (CodeBecomes): Add parameter to GetQuadOtok.
144 (CodeXIndr): Add parameter to GetQuadOtok.
145 * gm2-compiler/M2Optimize.mod (ReduceBranch): Reformat and
146 preserve operand token positions when reducing the branch
147 quadruples.
148 (ReduceGoto): Reformat.
149 (FoldMultipleGoto): Reformat.
150 (KnownReachable): Reformat.
151 * gm2-compiler/M2Options.def (UninitVariableChecking): New
152 variable declared and exported.
153 (SetUninitVariableChecking): New procedure.
154 * gm2-compiler/M2Options.mod (SetWall): Set
155 UninitVariableChecking.
156 (SetUninitVariableChecking): New procedure.
157 * gm2-compiler/M2Quads.def (PutQuadOtok): Exported and declared.
158 (VariableAnalysis): Removed.
159 * gm2-compiler/M2Quads.mod (PutQuadOtok): New procedure.
160 (doVal): Reformatted.
161 (MarkAsWrite): Reformatted.
162 (MarkArrayAsWritten): Reformatted.
163 (doIndrX): Use PutQuadOtok.
164 (MakeRightValue): Use GenQuadOtok.
165 (MakeLeftValue): Use GenQuadOtok.
166 (CheckReadBeforeInitialized): Remove.
167 (IsNeverAltered): Reformat.
168 (DebugLocation): New procedure.
169 (BuildDesignatorPointer): Use GenQuadO to preserve operand token
170 position.
171 (BuildRelOp): Use GenQuadOtok ditto.
172 * gm2-compiler/SymbolTable.def (VarCheckReadInit): New procedure.
173 (VarInitState): New procedure.
174 (PutVarInitialized): New procedure.
175 (PutVarFieldInitialized): New procedure function.
176 (GetVarFieldInitialized): New procedure function.
177 (PrintInitialized): New procedure.
178 * gm2-compiler/SymbolTable.mod (VarCheckReadInit): New procedure.
179 (VarInitState): New procedure.
180 (PutVarInitialized): New procedure.
181 (PutVarFieldInitialized): New procedure function.
182 (GetVarFieldInitialized): New procedure function.
183 (PrintInitialized): New procedure.
184 (LRInitDesc): New type.
185 (SymVar): InitState new field.
186 (MakeVar): Initialize InitState.
187 * gm2-gcc/m2options.h (M2Options_SetUninitVariableChecking):
188 New function declaration.
189 * gm2-lang.cc (gm2_langhook_handle_option): Detect
190 OPT_Wuninit_variable_checking and call SetUninitVariableChecking.
191 * lang.opt: Add Wuninit-variable-checking.
192 * gm2-compiler/M2SymInit.def: New file.
193 * gm2-compiler/M2SymInit.mod: New file.
194
195 2023-06-30 Iain Sandoe <iain@sandoe.co.uk>
196
197 PR testsuite/108835
198 * gm2-libs/RTint.mod: Do not use NIL timeout setting on select,
199 test failures sequentially, finishing on the first success.
200
201 2023-06-18 Gaius Mulley <gaiusmod2@gmail.com>
202
203 PR modula2/110284
204 * Make-lang.in (m2_OBJS): Assign $(GM2_C_OBJS).
205 (GM2_C_OBJS): Remove m2/stor-layout.o.
206 (m2/stor-layout.o): Remove rule.
207 * gm2-gcc/gcc-consolidation.h (rtl.h): Remove include.
208 (df.h): Remove include.
209 (except.h): Remove include.
210
211 2023-06-15 Marek Polacek <polacek@redhat.com>
212
213 * Make-lang.in: New var, GM2_PICFLAGS. Use it.
214
215 2023-06-13 Gaius Mulley <gaiusmod2@gmail.com>
216
217 * Make-lang.in (check-format-error): New rule.
218 * gm2-compiler/M2MetaError.mod (op): Add calls InternalError if
219 digits are detected.
220 * gm2-compiler/M2Quads.mod (BuildForToByDo): Bugfix to format
221 specifier.
222 (BuildLengthFunction): Bugfix to format specifiers.
223 (BuildOddFunction): Bugfix to format specifiers.
224 (BuildAbsFunction): Bugfix to format specifiers.
225 (BuildCapFunction): Bugfix to format specifiers.
226 (BuildChrFunction): Bugfix to format specifiers.
227 (BuildOrdFunction): Bugfix to format specifiers.
228 (BuildMakeAdrFunction): Bugfix to format specifiers.
229 (BuildSizeFunction): Bugfix to format specifiers.
230 (BuildBitSizeFunction): Bugfix to format specifiers.
231 * tools-src/checkmeta.py: New file.
232
233 2023-06-12 Gaius Mulley <gaiusmod2@gmail.com>
234
235 PR modula2/110189
236 * gm2-compiler/M2Quads.mod (BuildAbsFunction): Replace abort
237 format specifier.
238 (BuildValFunction): Replace abort format specifier.
239 (BuildCastFunction): Replace abort format specifier.
240 (BuildMinFunction): Replace abort format specifier.
241 (BuildMaxFunction): Replace abort format specifier.
242 (BuildTruncFunction): Replace abort format specifier.
243 * gm2-compiler/P3Build.bnf (Pass1): Remove.
244 (Pass2): Remove.
245 (Pass3): Remove.
246 (Expect): Add Pass1.
247 (AsmStatement): Remove Pass3.
248 (AsmOperands): Remove Pass3.
249 (AsmOperandSpec): Remove Pass3.
250 (AsmInputElement): Remove Pass3.
251 (AsmOutputElement): Remove Pass3.
252 (AsmTrashList): Remove Pass3.
253
254 2023-06-12 Gaius Mulley <gaiusmod2@gmail.com>
255
256 PR modula2/110126
257 * gm2-compiler/M2Quads.def (BuildAsmElement): Remove
258 trash parameter.
259 (BuildAsmTrash): New procedure.
260 * gm2-compiler/M2Quads.mod (BuildAsmTrash): New procedure.
261 (BuildAsmElement): Remove trash parameter.
262 * gm2-compiler/P3Build.bnf (AsmTrashList): Rewrite.
263
264 2023-06-08 Gaius Mulley <gaiusmod2@gmail.com>
265
266 PR modula2/110126
267 * gm2-compiler/M2GenGCC.mod (BuildTreeFromInterface): Remove
268 tokenno parameter. Use object tok instead of tokenno.
269 (BuildTrashTreeFromInterface): Use object tok instead of
270 GetDeclaredMod.
271 (CodeInline): Remove tokenno from parameter list to BuildTreeFromInterface.
272 * gm2-compiler/M2Quads.def (BuildAsmElement): Exported and
273 defined.
274 * gm2-compiler/M2Quads.mod (BuildOptimizeOff): Reformatted.
275 (BuildInline): Reformatted.
276 (BuildLineNo): Reformatted.
277 (UseLineNote): Reformatted.
278 (BuildAsmElement): New procedure.
279 * gm2-compiler/P0SyntaxCheck.bnf (AsmOperands): Use
280 ConstExpression instead of string.
281 (AsmElement): Use ConstExpression instead of string.
282 (TrashList): Use ConstExpression instead of string.
283 * gm2-compiler/P1Build.bnf (AsmOperands): Use
284 ConstExpression instead of string.
285 (AsmElement): Use ConstExpression instead of string.
286 (TrashList): Use ConstExpression instead of string.
287 * gm2-compiler/P2Build.bnf (AsmOperands): Use
288 ConstExpression instead of string.
289 (AsmElement): Use ConstExpression instead of string.
290 (TrashList): Use ConstExpression instead of string.
291 * gm2-compiler/P3Build.bnf (AsmOperands): Rewrite.
292 (AsmOperandSpec): Rewrite.
293 (AsmOutputList): New rule.
294 (AsmInputList): New rule.
295 (TrashList): Rewrite.
296 * gm2-compiler/PCBuild.bnf (AsmOperands): Use
297 ConstExpression instead of string.
298 (AsmElement): Use ConstExpression instead of string.
299 (TrashList): Use ConstExpression instead of string.
300 * gm2-compiler/PHBuild.bnf (AsmOperands): Use
301 ConstExpression instead of string.
302 (AsmElement): Use ConstExpression instead of string.
303 (TrashList): Use ConstExpression instead of string.
304 * gm2-compiler/SymbolTable.def (PutRegInterface):
305 Rewrite interface.
306 (GetRegInterface): Rewrite interface.
307 * gm2-compiler/SymbolTable.mod (SetFirstUsed): New procedure.
308 (PutFirstUsed): New procedure.
309 (PutRegInterface): Rewrite.
310 (GetRegInterface): Rewrite.
311
312 2023-06-07 Jakub Jelinek <jakub@redhat.com>
313
314 * Make-lang.in: Build $(generated_files) before building
315 all $(GM2_C_OBJS).
316
317 2023-06-07 Gaius Mulley <gaiusmod2@gmail.com>
318
319 PR modula2/110019
320 * gm2-compiler/SymbolKey.mod (SearchAndDo): Reformatted.
321 (ForeachNodeDo): Reformatted.
322 * gm2-compiler/SymbolTable.mod (AddListify): Join list
323 with "," or "and" if more than one word is in the list.
324 * m2.flex: Remove -1 from atoi(yytext) line number.
325
326 2023-06-03 Gaius Mulley <gaiusmod2@gmail.com>
327
328 PR modula2/110003
329 * gm2-compiler/P2SymBuild.mod (GetParameterShadowVar): Import.
330 (CheckFormalParameterSection): Call PutDeclared for the shadow
331 variable associated with the parameter.
332
333 2023-05-24 Gaius Mulley <gaiusmod2@gmail.com>
334
335 PR modula2/109952
336 * Make-maintainer.in: Change header to include emacs file mode.
337 * gm2-compiler/M2GenGCC.mod (BuildHighFromChar): Check whether
338 operand is a constant string and is nul terminated then return one.
339 * gm2-compiler/PCSymBuild.mod (WalkFunction): Add default return
340 TRUE. Static analysis missing return path fix.
341 * gm2-libs/IO.mod (Init): Rewrite to help static analysis.
342 * target-independent/m2/gm2-libs.texi: Rebuild.
343
344 2023-05-19 Gaius Mulley <gaiusmod2@gmail.com>
345
346 PR modula2/109908
347 * gm2-libs-iso/Strings.mod (Delete): Re-implement.
348
349 2023-05-18 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
350
351 * gm2-gcc/m2builtins.cc (doradix): Use _P defines from tree.h.
352 (doplaces): Ditto.
353 (doexponentmin): Ditto.
354 (doexponentmax): Ditto.
355 (dolarge): Ditto.
356 (dosmall): Ditto.
357 (dogUnderflow): Ditto.
358 * gm2-gcc/m2convert.cc (unsafe_conversion_p): Ditto.
359 * gm2-gcc/m2expr.cc (m2expr_build_unary_op_check): Ditto.
360 (m2expr_build_binary_op_check): Ditto.
361 * gm2-gcc/m2tree.cc (m2tree_is_var): Ditto.
362 * gm2-gcc/m2treelib.cc (build_modify_expr): Ditto.
363 * gm2-gcc/m2type.cc (gm2_finish_decl): Ditto.
364 * m2pp.cc (hextree): Ditto.
365 (m2pp_call_expr): Ditto.
366
367 2023-05-17 Gaius Mulley <gaiusmod2@gmail.com>
368
369 * gm2-libs-iso/LongWholeIO.mod (WriteInt): Only request a
370 sign if the value is < 0.
371 * gm2-libs-iso/ShortWholeIO.mod (WriteInt): Only request a
372 sign if the value is < 0.
373 * gm2-libs-iso/WholeIO.mod (WriteInt): Only request a sign
374 if the value is < 0.
375 * gm2-libs-iso/WholeStr.mod (WriteInt): Only request a sign
376 if the value is < 0.
377
378 2023-05-16 Gaius Mulley <gaiusmod2@gmail.com>
379
380 PR modula2/109879
381 * gm2-libs-iso/LongIO.mod (ReadReal): Call SkipSpaces.
382 * gm2-libs-iso/LongWholeIO.mod (ReadInt): Call SkipSpaces.
383 (ReadCard): Call SkipSpaces.
384 * gm2-libs-iso/RealIO.mod (ReadReal): Call SkipSpaces.
385 * gm2-libs-iso/ShortWholeIO.mod: (ReadInt): Call SkipSpaces.
386 (ReadCard): Call SkipSpaces.
387 * gm2-libs-iso/TextIO.mod: Import SkipSpaces.
388 * gm2-libs-iso/WholeIO.mod (ReadInt): Call SkipSpaces.
389 (ReadCard): Call SkipSpaces.
390 * gm2-libs-iso/TextUtil.def: New file.
391 * gm2-libs-iso/TextUtil.mod: New file.
392
393 2023-05-16 Gaius Mulley <gaiusmod2@gmail.com>
394
395 PR modula2/108344
396 * gm2-libs-coroutines/TimerHandler.mod (EnableLED): New constant.
397 (Timer): Test EnableLED before switching on the scroll LED.
398
399 2023-05-12 Gaius Mulley <gaiusmod2@gmail.com>
400
401 PR modula2/109830
402 * gm2-libs-iso/SeqFile.mod (newCid): New parameter toAppend
403 used to select FIO.OpenForRandom.
404 (OpenRead): Pass extra parameter to newCid.
405 (OpenWrite): Pass extra parameter to newCid.
406 (OpenAppend): Pass extra parameter to newCid.
407
408 2023-05-11 Gaius Mulley <gaiusmod2@gmail.com>
409
410 PR modula2/109810
411 * gm2-compiler/M2ALU.mod (ConvertConstToType): Use
412 PrepareCopyString in place of DoCopyString.
413 * gm2-compiler/M2GenGCC.def (DoCopyString): Rename to ...
414 (PrepareCopyString): ... this.
415 * gm2-compiler/M2GenGCC.mod (CodeStatement): Call CodeReturnValue
416 with a single parameter. Call CodeXIndr with a single parameter.
417 (CodeReturnValue): Remove parameters and replace with a single
418 quadno. Reimplement using PrepareCopyString. Issue error
419 if the string exceeds designator space.
420 (DoCopyString): Reimplement and rename to ...
421 (PrepareCopyString): ... this.
422 (CodeXIndr): Remove parameters and replace with a single
423 quadno. Reimplement using PrepareCopyString. Issue error
424 if the string exceeds designator space.
425 (CodeBecomes): Remove parameters and replace with a single
426 quadno. Reimplement using PrepareCopyString. Issue error
427 if the string exceeds designator space.
428 * gm2-compiler/M2Quads.def (BuildReturn): Rename parameter to
429 tokreturn.
430 * gm2-compiler/M2Quads.mod (BuildReturn): Rename parameter to
431 tokreturn. Rename tokno to tokcombined.
432
433 2023-05-09 Gaius Mulley <gaiusmod2@gmail.com>
434
435 PR modula2/109779
436 * gm2-libs-iso/RTgen.mod (doLook): Remove old.
437 Remove re-assignment of result.
438 * gm2-libs-iso/TextIO.mod (CanRead): Rename into ...
439 (CharAvailable): ... this.
440 (DumpState): New procedure.
441 (SetResult): Rename as SetNul.
442 (WasGoodChar): Rename into ...
443 (EofOrEoln): ... this.
444 (SkipLine): Skip over the newline.
445 (ReadString): Flip THEN ELSE statements after testing for
446 EofOrEoln.
447 (ReadRestLine): Flip THEN ELSE statements after testing for
448 EofOrEoln.
449
450 2023-05-04 Gaius Mulley <gaiusmod2@gmail.com>
451
452 PR modula2/109729
453 * gm2-compiler/M2GenGCC.mod (CodeStatement): Detect
454 ArithAddOp and call CodeAddChecked.
455 (ResolveConstantExpressions): Detect ArithAddOp and call
456 FoldArithAdd.
457 (FoldArithAdd): New procedure.
458 (FoldAdd): Refactor to use FoldArithAdd.
459 * gm2-compiler/M2Quads.def (QuadOperator): Add ArithAddOp.
460 * gm2-compiler/M2Quads.mod: Remove commented imports.
461 (QuadFrame): Changed comments to use GNU coding standards.
462 (ArithPlusTok): New global variable.
463 (BuildForToByDo): Use ArithPlusTok instead of PlusTok.
464 (MakeOp): Detect ArithPlusTok and return ArithAddOp.
465 (WriteQuad): Add ArithAddOp clause.
466 (WriteOperator): Add ArithAddOp clause.
467 (Init): Initialize ArithPlusTok.
468
469 2023-05-04 Gaius Mulley <gaiusmod2@gmail.com>
470
471 PR modula2/109675
472 * Make-lang.in (MC-LIB-DEFS): Remove M2LINK.def.
473 (BUILD-PGE-O): Remove GM2LINK.o.
474 * Make-maintainer.in (PPG-DEFS): New define.
475 (PPG-LIB-DEFS): Remove M2LINK.def.
476 (BUILD-BOOT-PPG-H): Add PPGDEF .h files.
477 (m2/ppg$(exeext)): Remove M2LINK.o
478 (PGE-DEPS): New define.
479 (m2/pg$(exeext)): Remove M2LINK.o.
480 (m2/gm2-pge-boot/$(SRC_PREFIX)%.o): Add -Im2/gm2-pge-boot.
481 (m2/pge$(exeext)): Remove M2LINK.o.
482 (pge-maintainer): Re-implement.
483 (pge-libs-push): Re-implement.
484 (m2/m2obj3/cc1gm2$(exeext)): Remove M2LINK.o.
485 * gm2-libs/DynamicStrings.mod (writeAddress): Re-implement
486 using snprintf.
487 * gm2-libs/M2Dependent.mod: Remove commented out imports.
488 * mc-boot/GDynamicStrings.cc: Rebuild.
489 * mc-boot/GFIO.cc: Rebuild.
490 * mc-boot/GFormatStrings.cc: Rebuild.
491 * mc-boot/GM2Dependent.cc: Rebuild.
492 * mc-boot/GM2Dependent.h: Rebuild.
493 * mc-boot/GM2RTS.cc: Rebuild.
494 * mc-boot/GM2RTS.h: Rebuild.
495 * mc-boot/GRTExceptions.cc: Rebuild.
496 * mc-boot/GRTint.cc: Rebuild.
497 * mc-boot/GSFIO.cc: Rebuild.
498 * mc-boot/GStringConvert.cc: Rebuild.
499 * mc-boot/Gdecl.cc: Rebuild.
500 * pge-boot/GASCII.cc: Rebuild.
501 * pge-boot/GASCII.h: Rebuild.
502 * pge-boot/GArgs.cc: Rebuild.
503 * pge-boot/GArgs.h: Rebuild.
504 * pge-boot/GAssertion.cc: Rebuild.
505 * pge-boot/GAssertion.h: Rebuild.
506 * pge-boot/GBreak.h: Rebuild.
507 * pge-boot/GCmdArgs.h: Rebuild.
508 * pge-boot/GDebug.cc: Rebuild.
509 * pge-boot/GDebug.h: Rebuild.
510 * pge-boot/GDynamicStrings.cc: Rebuild.
511 * pge-boot/GDynamicStrings.h: Rebuild.
512 * pge-boot/GEnvironment.h: Rebuild.
513 * pge-boot/GFIO.cc: Rebuild.
514 * pge-boot/GFIO.h: Rebuild.
515 * pge-boot/GFormatStrings.h:: Rebuild.
516 * pge-boot/GFpuIO.h:: Rebuild.
517 * pge-boot/GIO.cc: Rebuild.
518 * pge-boot/GIO.h: Rebuild.
519 * pge-boot/GIndexing.cc: Rebuild.
520 * pge-boot/GIndexing.h: Rebuild.
521 * pge-boot/GLists.cc: Rebuild.
522 * pge-boot/GLists.h: Rebuild.
523 * pge-boot/GM2Dependent.cc: Rebuild.
524 * pge-boot/GM2Dependent.h: Rebuild.
525 * pge-boot/GM2EXCEPTION.cc: Rebuild.
526 * pge-boot/GM2EXCEPTION.h: Rebuild.
527 * pge-boot/GM2RTS.cc: Rebuild.
528 * pge-boot/GM2RTS.h: Rebuild.
529 * pge-boot/GNameKey.cc: Rebuild.
530 * pge-boot/GNameKey.h: Rebuild.
531 * pge-boot/GNumberIO.cc: Rebuild.
532 * pge-boot/GNumberIO.h: Rebuild.
533 * pge-boot/GOutput.cc: Rebuild.
534 * pge-boot/GOutput.h: Rebuild.
535 * pge-boot/GPushBackInput.cc: Rebuild.
536 * pge-boot/GPushBackInput.h: Rebuild.
537 * pge-boot/GRTExceptions.cc: Rebuild.
538 * pge-boot/GRTExceptions.h: Rebuild.
539 * pge-boot/GSArgs.h: Rebuild.
540 * pge-boot/GSEnvironment.h: Rebuild.
541 * pge-boot/GSFIO.cc: Rebuild.
542 * pge-boot/GSFIO.h: Rebuild.
543 * pge-boot/GSYSTEM.h: Rebuild.
544 * pge-boot/GScan.h: Rebuild.
545 * pge-boot/GStdIO.cc: Rebuild.
546 * pge-boot/GStdIO.h: Rebuild.
547 * pge-boot/GStorage.cc: Rebuild.
548 * pge-boot/GStorage.h: Rebuild.
549 * pge-boot/GStrCase.cc: Rebuild.
550 * pge-boot/GStrCase.h: Rebuild.
551 * pge-boot/GStrIO.cc: Rebuild.
552 * pge-boot/GStrIO.h: Rebuild.
553 * pge-boot/GStrLib.cc: Rebuild.
554 * pge-boot/GStrLib.h: Rebuild.
555 * pge-boot/GStringConvert.h: Rebuild.
556 * pge-boot/GSymbolKey.cc: Rebuild.
557 * pge-boot/GSymbolKey.h: Rebuild.
558 * pge-boot/GSysExceptions.h: Rebuild.
559 * pge-boot/GSysStorage.cc: Rebuild.
560 * pge-boot/GSysStorage.h: Rebuild.
561 * pge-boot/GTimeString.h: Rebuild.
562 * pge-boot/GUnixArgs.h: Rebuild.
563 * pge-boot/Gbnflex.cc: Rebuild.
564 * pge-boot/Gbnflex.h: Rebuild.
565 * pge-boot/Gdtoa.h: Rebuild.
566 * pge-boot/Gerrno.h: Rebuild.
567 * pge-boot/Gldtoa.h: Rebuild.
568 * pge-boot/Glibc.h: Rebuild.
569 * pge-boot/Glibm.h: Rebuild.
570 * pge-boot/Gpge.cc: Rebuild.
571 * pge-boot/Gtermios.h: Rebuild.
572 * pge-boot/Gwrapc.h: Rebuild.
573 * mc-boot/GM2LINK.h: Removed.
574 * pge-boot/GM2LINK.cc: Removed.
575 * pge-boot/GM2LINK.h: Removed.
576
577 2023-04-30 Gaius Mulley <gaiusmod2@gmail.com>
578
579 * gm2-compiler/SymbolTable.mod (ConstLitPoolEntry): New
580 pointer to record.
581 (ConstLitSym): New field RangeError.
582 (ConstLitPoolTree): New SymbolTree representing name to
583 index.
584 (ConstLitArray): New dynamic array containing pointers
585 to a ConstLitPoolEntry.
586 (CreateConstLit): New procedure function.
587 (LookupConstLitPoolEntry): New procedure function.
588 (AddConstLitPoolEntry): New procedure function.
589 (MakeConstLit): Re-implemented to check the constant lit
590 pool before calling CreateConstLit.
591 * m2.flex: Add ability to decode binary constant literals.
592
593 2023-04-26 Gaius Mulley <gaiusmod2@gmail.com>
594
595 PR modula2/108121
596 * gm2-compiler/M2ALU.mod (Less): Reformatted.
597 * gm2-compiler/SymbolTable.mod (DetermineSizeOfConstant): Remove
598 from import.
599 (ConstantStringExceedsZType): Import.
600 (GetConstLitType): Re-implement using ConstantStringExceedsZType.
601 * gm2-gcc/m2decl.cc (m2decl_DetermineSizeOfConstant): Remove.
602 (m2decl_ConstantStringExceedsZType): New function.
603 (m2decl_BuildConstLiteralNumber): Re-implement.
604 * gm2-gcc/m2decl.def (DetermineSizeOfConstant): Remove.
605 (ConstantStringExceedsZType): New function.
606 * gm2-gcc/m2decl.h (m2decl_DetermineSizeOfConstant): Remove.
607 (m2decl_ConstantStringExceedsZType): New function.
608 * gm2-gcc/m2expr.cc (append_digit): Remove.
609 (m2expr_interpret_integer): Remove.
610 (append_m2_digit): Remove.
611 (m2expr_StrToWideInt): New function.
612 (m2expr_interpret_m2_integer): Remove.
613 * gm2-gcc/m2expr.def (CheckConstStrZtypeRange): New function.
614 * gm2-gcc/m2expr.h (m2expr_StrToWideInt): New function.
615 * gm2-gcc/m2type.cc (build_m2_word64_type_node): New function.
616 (build_m2_ztype_node): New function.
617 (m2type_InitBaseTypes): Call build_m2_ztype_node.
618 * gm2-lang.cc (gm2_type_for_size): Re-write using early returns.
619
620 2023-04-21 Arsen Arsenović <arsen@aarsen.me>
621
622 * Make-lang.in: Remove references to $(P).
623 * Make-maintainer.in: Ditto.
624
625 2023-04-21 Gaius Mulley <gaiusmod2@gmail.com>
626
627 PR modula2/109586
628 * gm2-gcc/m2tree.cc (m2tree_IsAConstant): Add (TREE_CODE
629 (t) == CONSTRUCTOR) to expression.
630
631 2023-04-13 Gaius Mulley <gaiusmod2@gmail.com>
632
633 PR modula2/109488
634 * lang.opt: Fix typo "maybe" to "may be".
635
636 2023-04-13 Gaius Mulley <gaiusmod2@gmail.com>
637
638 * gm2-compiler/M2ALU.def (PopChar): New procedure function.
639 * gm2-compiler/M2ALU.mod (PopChar): New procedure function.
640 * gm2-compiler/M2GCCDeclare.mod (PromoteToString): Detect
641 a single constant char and build a C string.
642 * gm2-compiler/M2GenGCC.mod (IsConstStr): New procedure
643 function.
644 (GetStr): New procedure function.
645 (FoldAdd): Use IsConstStr.
646 * gm2-compiler/M2Quads.mod: Formatting changes.
647 * gm2-gcc/m2expr.cc (m2expr_GetCstInteger): New function.
648 * gm2-gcc/m2expr.def (GetCstInteger): New procedure function.
649 * gm2-gcc/m2expr.h (m2expr_GetCstInteger): New prototype.
650
651 2023-04-05 Gaius Mulley <gaiusmod2@gmail.com>
652
653 PR modula2/109423
654 * gm2-compiler/M2Base.def (Unbounded): Remove.
655 * gm2-compiler/M2Error.def (ErrorAbort0): Add noreturn
656 attribute.
657 * gm2-compiler/M2Quads.mod (BuildInclProcedure): Correct
658 error format string.
659 (BuildExceptProcedure): Correct error format string.
660 (BuildAdrFunction): Call PutWriteQuad when taking the
661 address of a variable.
662 * gm2-libs-ch/SysExceptions.c (_M2_SysExceptions_init): Add
663 parameters.
664 * gm2-libs-ch/wrapc.c (_M2_wrapc_init): Add parameters.
665 * gm2-libs/DynamicStrings.mod (DumpStringInfo): Remove t.
666 (PopAllocationExemption): Remove f.
667 * gm2-libs/FIO.mod (BufferedWrite): Remove result.
668 * gm2-libs/FormatStrings.mod (Copy): Remove endpos and
669 afterperc.
670 (HandlePercent): Remove result.
671 * gm2-libs/Indexing.mod (RemoveIndiceFromIndex): Remove k.
672 * gm2-libs/M2Dependent.mod (CreateModule): Remove p0
673 and p1.
674 (DumpModuleData): Remove mptr.
675 (ConstructModules): Remove nulp.
676 * gm2-libs/RTExceptions.mod (PopHandler): Remove i.
677 * gm2-libs/RTint.mod (Listen): Remove b4s, b4m, afs
678 and afm.
679 * gm2-libs/SFIO.mod (ReadS): Remove c.
680 * gm2-libs/StringConvert.mod (doDecimalPlaces): Remove
681 whole and fraction.
682
683 2023-04-03 Gaius Mulley <gaiusmod2@gmail.com>
684
685 PR modula2/109388
686 * gm2-compiler/M2GCCDeclare.mod (DoVariableDeclaration):
687 Remove second parameter module. Adjust all callers to
688 remove the second parameter.
689 * gm2-compiler/PHBuild.bnf (CheckAndInsert): Remove.
690 (InStopSet): Remove.
691 (PeepToken): Remove.
692 (PushQualident): Remove.
693 (SimpleDes): Remove.
694 (ActualParameters): Remove.
695
696 2023-04-02 Gaius Mulley <gaiusmod2@gmail.com>
697
698 PR modula2/109336
699 * Make-lang.in (GM2_O): Set to -O0.
700 (GM2_LIBS): Remove target libraries and replace with build libs.
701 (BUILD-LIBS): New declaration.
702 (m2/gm2-libs/libgm2.a): New rule.
703 (m2/gm2-libs/%.o): New rule.
704 (m2/gm2-libs/choosetemp.o): New rule.
705 * gm2-compiler/M2ColorString.mod (append): Use ADR rather than
706 implicit conversion.
707 * gm2-compiler/M2Comp.mod (Compile): Add qprintf messages for when
708 a source file is not found. Improve comments and formatting.
709 * gm2-libs-ch/cgetopt.c (cgetopt_cgetopt_long): Remove
710 ansi-decl.h. Add getopt.h.
711 (cgetopt_cgetopt_long_only): Change cgetopt_ to getopt_.
712 * gm2spec.cc (lang_specific_driver): Do not skip -fmod=.
713 Remove comment.
714
715 2023-03-29 Gaius Mulley <gaiusmod2@gmail.com>
716
717 PR modula2/109336
718 PR modula2/109315
719 * gm2-compiler/M2FileName.mod (CalculateFileName): Simplified by
720 ensuring the extension contains the ".".
721 (CalculateStemName): Re-formatted.
722 (ExtractExtension): Re-formatted.
723 (ExtractModule): Re-formatted.
724 * gm2-compiler/M2Options.def (setdefextension): Add block comment.
725 (setmodextension): Add block comment. Re-formatted.
726 * gm2-compiler/M2Options.mod (setdefextension): Add block comment.
727 (setmodextension): Add block comment. Re-formatted.
728 * gm2-compiler/M2Search.mod (FindSourceDefFile): Use
729 DefaultDefExt.
730 (DefaultDefExt): New constant.
731 (DefaultModExt): New constant.
732 (FindSourceModFile): Use DefaultModExt.
733 * gm2-gcc/m2decl.cc (m2decl_DeclareKnownVariable): Correct
734 spelling.
735 * gm2spec.cc (M2SOURCE): New constant.
736 (LANGSPEC): New value.
737 (MATHLIB): New value.
738 (WITHLIBC): New value.
739 (SKIPOPT): New value.
740 (lang_specific_driver): Replace seen_module_extension bool with
741 module_extension char *. Detect -fmod= and remember extension.
742 Use the extension to detect modula-2 source and mark it as such.
743
744 2023-03-23 Gaius Mulley <gaiusmod2@gmail.com>
745
746 PR modula2/109264
747 * gm2-compiler/M2Quads.mod (BuildConstFunctionCall): Comment
748 out ErrorString in debugging block.
749 (BuildConstructorStart): Replace Assert with a call to
750 MetaErrorT3. Import MetaErrorT3.
751 * gm2-compiler/PCSymBuild.mod (buildConstFunction): Rename
752 local variables.
753 (WalkFunctionParam): Remove test for IsEnumeration when
754 resolving MIN or MAX parameters.
755 * gm2-compiler/PHBuild.bnf (BlockAssert): New procedure.
756 (ErrorArrayat): New procedure.
757 (Expect): Renamed parameter t to tok.
758 (PushQualident): New rule.
759 (ConstSetOrQualidentOrFunction): Force AutoOn.
760 (TypeDeclaration): Add debugging assert.
761 (SimpleType): Add debugging assert.
762 (DefaultRecordAttributes): New rule (and bugfix).
763 (FieldPragmaExpression): New rule (and bugfix).
764 (PragmaConstExpression): New rule (and bugfix).
765 (SetOrDesignatorOrFunction): Add debugging assert.
766 (Block): Add debugging assert.
767 * gm2-gcc/m2expr.cc (m2expr_ConstantExpressionWarning): int
768 to bool.
769 * gm2-gcc/m2expr.h (m2expr_TreeOverflow): int to bool.
770 (m2expr_GetBooleanTrue): Remove.
771 (m2expr_GetBooleanFalse): Remove.
772 * gm2-gcc/m2options.h (M2Options_SetStatistics): Replace
773 int with bool.
774
775 2023-03-22 Gaius Mulley <gaiusmod2@gmail.com>
776
777 PR modula2/109248
778 * Make-lang.in (m2/pge-boot/%.o): Add CFLAGS and CXXFLAGS for C
779 and C++ compiles.
780 * gm2spec.cc (add_m2_I_path): Indentation.
781 (lang_specific_driver): New variable seen_pathname.
782 Detect -fm2-pathname. If not seen then push_back_Ipath (".").
783 Change non iso library path to "m2cor,m2log,m2pim,m2iso".
784
785 2023-03-22 Gaius Mulley <gaiusmod2@gmail.com>
786
787 PR modula2/107630
788 * Make-lang.in (m2/stage2/cc1gm2$(exeext)): Remove
789 m2/gm2-libs-boot/M2LINK.o.
790 (m2/stage1/cc1gm2$(exeext)): Ditto.
791 (GM2-LIBS-BOOT-DEFS): Remove M2LINK.def.
792 (GM2-LIBS-DEFS): Ditto.
793 (m2/mc-boot/$(SRC_PREFIX)%.o): Replace CXX_FLAGS with CXXFLAGS.
794 (m2/mc-boot-ch/$(SRC_PREFIX)%.o): Ditto.
795 (m2/mc-boot/main.o): Ditto.
796 (mcflex.o): Add $(CFLAGS).
797 (m2/gm2-libs-boot/M2LINK.o): Remove rule.
798 * gm2-compiler/M2GCCDeclare.def (DeclareM2linkGlobals): Remove.
799 * gm2-compiler/M2GCCDeclare.mod: (M2LinkEntry): Remove.
800 (M2LinkIndex): Remove.
801 (DoVariableDeclaration): Remove initial and call to
802 AddEntryM2Link.
803 (AddEntryM2Link): Remove.
804 (GetEntryM2Link): Remove.
805 (DeclareM2linkGlobals): Remove.
806 (DetectM2LinkInitial): Remove.
807 (InitM2LinkModule): Remove.
808 * gm2-compiler/M2GenGCC.mod (CodeFinallyEnd): Remove call to
809 DeclareM2linkGlobals.
810 * gm2-compiler/M2Quads.mod (BuildM2InitFunction): Add extra
811 parameter containing runtime module override to ConstructModules.
812 * gm2-compiler/M2Scaffold.mod: Update comment describing
813 ConstructModules.
814 * gm2-gcc/m2decl.cc (m2decl_DeclareM2linkForcedModuleInitOrder):
815 Remove.
816 * gm2-libs-iso/M2RTS.def (ConstructModules): Add overrideliborder
817 parameter.
818 * gm2-libs-iso/M2RTS.mod: Add overrideliborder parameter.
819 * gm2-libs/M2Dependent.def (ConstructModules): Add overrideliborder
820 parameter.
821 * gm2-libs/M2Dependent.mod (ConstructModules): Add overrideliborder
822 parameter.
823 * gm2-libs/M2RTS.def (ConstructModules): Add overrideliborder parameter.
824 * gm2-libs/M2RTS.mod (ConstructModules): Add overrideliborder
825 parameter.
826 * gm2-libs/M2LINK.def: Removed.
827
828 2023-03-21 Gaius Mulley <gaiusmod2@gmail.com>
829
830 * Make-lang.in (m2/mc-boot/$(SRC_PREFIX)%.o): Add $(CXXFLAGS).
831 (m2/mc-boot-ch/$(SRC_PREFIX)%.o): Add $(CXXFLAGS).
832 (m2/mc-boot-ch/$(SRC_PREFIX)%.o): Add $(CXXFLAGS).
833 (m2/mc-boot/main.o): Add $(CXXFLAGS).
834
835 2023-03-19 Gaius Mulley <gaiusmod2@gmail.com>
836
837 * Make-maintainer.in (gm2.maintainer-clean): Remove.
838 (gm2.maintainer-help): Add gm2.maintainer-tools,
839 gm2.maintainer-doc. Remove gm2.maintainer-clean.
840 Change target-independent directory to target-independent/m2.
841 * gm2-compiler/ppg.mod: Correct __FILE_ typo to __FILE__.
842 * gm2-compiler/M2Options.def (SetAutoInit): Update comment.
843 * gm2-compiler/M2Options.mod (SetAutoInit): Update comment.
844 * gm2-gcc/m2color.cc (m2color_colorize_start): Rename name_len
845 to _name_high.
846 * gm2-gcc/m2color.def (colorize_start): change ARRAY OF CHAR to
847 ADDRESS and add _name_high.
848 * gm2-gcc/m2decl.cc (m2decl_BuildStartFunctionDeclaration): Change
849 int to bool.
850 * gm2-gcc/m2decl.h (m2decl_BuildStartFunctionDeclaration): Change
851 int to bool.
852 * gm2-gcc/m2expr.cc (m2expr_BuildBinarySetDo): Change int to bool.
853 (m2expr_BuildIfConstInVar): Change int to bool.
854 (m2expr_BuildIfNotConstInVar): Change int to bool.
855 (m2expr_BuildIfVarInVar): Change int to bool.
856 (m2expr_BuildIfNotVarInVar): Change int to bool.
857 (m2expr_BuildForeachWordInSetDoIfExpr): Change int to bool.
858 * gm2-gcc/m2expr.h (m2expr_BuildIfNotVarInVar): Change int to bool.
859 (m2expr_BuildIfVarInVar): Change int to bool.
860 (m2expr_BuildIfNotConstInVar): Change int to bool.
861 (m2expr_BuildIfConstInVar): Change int to bool.
862 * gm2-gcc/m2options.h (M2Options_SetAutoInit): Change int to bool.
863 (M2Options_SetNilCheck): Change int to bool.
864 (M2Options_SetReturnCheck): Change int to bool.
865 (M2Options_SetCaseCheck): Change int to bool.
866 (M2Options_SetCheckAll): Change int to bool.
867 (M2Options_SetVerboseUnbounded): Change int to bool.
868 (M2Options_SetUnboundedByReference): Change int to bool.
869 (M2Options_SetOptimizing): Change int to bool.
870 (M2Options_SetQuiet): Change int to bool.
871 (M2Options_SetCpp): Change int to bool.
872 (M2Options_SetM2g): Change int to bool.
873 (M2Options_SetLowerCaseKeywords): Change int to bool.
874 (M2Options_SetVerbose): Change int to bool.
875 * gm2-gcc/m2treelib.cc (m2treelib_get_rvalue): Change int to bool.
876 (m2treelib_get_field_no): Change int to bool.
877 (m2treelib_get_set_value): Change int to bool.
878 (m2treelib_get_set_address): Change int to bool.
879 (m2treelib_get_set_address_if_var): Change int to bool.
880 * gm2-gcc/m2treelib.def (get_set_address_if_var): Change int to bool.
881 (get_set_address): Change int to bool.
882 (get_set_value): Change int to bool.
883 (get_field_no): Change int to bool.
884 (get_rvalue): Change int to bool.
885 * gm2-gcc/m2treelib.h (m2treelib_get_field_no): Change int to bool.
886 (m2treelib_get_set_value): Change int to bool.
887 (m2treelib_get_set_address): Change int to bool.
888 (m2treelib_get_set_address_if_var): Change int to bool.
889 * gm2-gcc/m2type.cc (m2type_BuildEndFunctionType): Change int to bool.
890 * gm2-gcc/m2type.h (m2type_BuildEndFunctionType): Change int to bool.
891 * gm2-libs-ch/dtoa.cc (dtoa_calcsign): Change int to bool.
892 * gm2-libs-ch/ldtoa.cc (dtoa_calcsign): Change int to bool.
893 (ldtoa_ldtoa): Change int to bool.
894 * m2.flex (functionInfo): Change int to bool.
895 (pushFunction): Change parameter from int to bool.
896 * mc-boot/GDebug.cc (Debug_Halt): Rebuild.
897 * mc-boot/GDebug.h (Debug_Halt): Rebuild.
898 * mc-boot/GDynamicStrings.cc: Rebuild.
899 * mc-boot/GDynamicStrings.h: Rebuild.
900 * mc-boot/GFIO.cc: Rebuild.
901 * mc-boot/GM2RTS.cc: Rebuild.
902 * mc-boot/GM2RTS.h: Rebuild.
903 * mc-boot/GPushBackInput.cc: Rebuild.
904 * mc-boot/GRTExceptions.cc: Rebuild.
905 * mc-boot/GRTint.cc: Rebuild.
906 * mc-boot/GSysStorage.cc: Rebuild.
907 * mc-boot/Gdecl.cc: Rebuild.
908 * mc-boot/GsymbolKey.cc: Rebuild.
909 * mc/symbolKey.mod: Rebuild.
910 * target-independent/m2/Builtins.texi: Rebuild.
911 * target-independent/m2/SYSTEM-iso.texi: Rebuild.
912 * target-independent/m2/SYSTEM-pim.texi: Rebuild.
913 * target-independent/m2/gm2-libs.texi: Rebuild.
914 * tools-src/def2doc.py (PIM_Log): Change gm2-libs-pim to
915 gm2-lib-log.
916
917 2023-03-17 Gaius Mulley <gaiusmod2@gmail.com>
918
919 PR modula2/109032
920 * gm2-gcc/m2expr.cc: Correct ? : order in comments.
921 (m2expr_BuildDivM2): Improve comment.
922 * lang.opt: Improve option descriptions.
923
924 2023-03-17 Gaius Mulley <gaiusmod2@gmail.com>
925
926 PR modula2/109102
927 * gm2-gcc/m2builtins.cc (ASSERT): Change format specifier to
928 use %qs rather than quotes.
929
930 2023-03-17 Gaius Mulley <gaiusmod2@gmail.com>
931
932 * gm2-compiler/M2AsmUtil.mod (SymNeedsModulePrefix):
933 Re-implemented.
934 * gm2-libs/SysStorage.mod (enableTrace): Disable tracing.
935
936 2023-03-16 Gaius Mulley <gaiusmod2@gmail.com>
937
938 * gm2-compiler/SymbolKey.mod (PutSymKey): Halt parameters
939 reordered.
940 (DelSymKey): Ditto.
941 * gm2-compiler/ppg.mod (GetEpsilon): Ditto.
942 (GetReachEnd): Ditto.
943 (GetFollow): Ditto.
944 (CodeCondition): Ditto.
945 (CodeThenDo): Ditto.
946 (CodeEnd): Ditto.
947 (RecoverCondition): Ditto.
948 (ConditionIndent): Ditto.
949 * gm2-libs-ch/m2rts.h (M2RTS_Halt): Ditto.
950 * gm2-libs-coroutines/Executive.mod (Assert): Ditto.
951 (Resume): Remove redundant comments.
952 (Wait): Remove redundant comments.
953 * gm2-libs-coroutines/SYSTEM.mod (TRANSFER): Halt parameters
954 reordered.
955 (IOTransferHandler): Ditto.
956 (Finished): Ditto.
957 (localInit): Ditto.
958 * gm2-libs-coroutines/TimerHandler.mod (WaitOn): Halt parameters
959 reordered.
960 (Cancel): Ditto.
961 (ReArmEvent): Ditto.
962 (OnActiveQueue): Ditto.
963 * gm2-libs-iso/COROUTINES.mod (NEWCOROUTINE): Ditto.
964 (Transfer): Ditto.
965 (IOTRANSFER): Ditto.
966 * gm2-libs-iso/EXCEPTIONS.mod (RAISE): Correct Halt parameters.
967 * gm2-libs-iso/M2RTS.def (Halt): Halt parameters reordered.
968 (HaltC): Ditto.
969 * gm2-libs-iso/M2RTS.mod: Ditto.
970 * gm2-libs-iso/RTentity.mod (PutKey): Ditto.
971 (DelKey): Ditto.
972 (findChildAndParent): Ditto.
973 (assert): Ditto.
974 * gm2-libs-iso/Storage.mod (ALLOCATE): Add DebugTrace.
975 Add UseMallocFree test.
976 (DEALLOCATE): Add DebugTrace. Add UseMallocFree test.
977 (assert): Halt parameters reordered.
978 * gm2-libs-log/Termbase.mod (Read): Ditto.
979 (KeyPressed): Ditto.
980 (Write): Ditto.
981 (Init): Ditto.
982 * gm2-libs/Debug.def (Halt): Halt parameters reordered.
983 * gm2-libs/Debug.mod (Halt): Ditto.
984 * gm2-libs/DynamicStrings.def (PopAllocation): Improve comment.
985 * gm2-libs/DynamicStrings.mod (PopAllocation): Improve comment.
986 Halt parameters reordered.
987 * gm2-libs/M2RTS.def (Halt): Ditto.
988 (HaltC): Ditto.
989 * gm2-libs/M2RTS.mod (Halt): Ditto.
990 (HaltC): Ditto.
991 * gm2-libs/PushBackInput.mod (PutStr): Ditto.
992 (PutString): Ditto.
993 (PutCh): Ditto.
994 * gm2-libs/RTExceptions.mod (GetBaseExceptionBlock): Ditto.
995 * gm2-libs/RTint.mod (ReArmTimeVector): Ditto.
996 (GetTimeVector): Ditto.
997 (AttachVector): Ditto.
998 (IncludeVector): Ditto.
999 (Listen): Ditto.
1000 * gm2-libs/SysStorage.mod (ALLOCATE): Ditto.
1001 (DEALLOCATE): Ditto.
1002 (REALLOCATE): Ditto.
1003 * gm2-libs-coroutines/Debug.def: Removed.
1004 * gm2-libs-coroutines/Debug.mod: Removed.
1005
1006 2023-03-16 Gaius Mulley <gaiusmod2@gmail.com>
1007
1008 * Make-lang.in: Rename target-independent to
1009 target-independent/m2.
1010 * target-independent/readme.txt: Update.
1011 * target-independent/m2/gm2-ebnf.texi: New file.
1012 * target-independent/m2/gpl_v3_without_node.texi: New file.
1013 * target-independent/Builtins.texi: Rename ...
1014 * target-independent/m2/Builtins.texi: ... to this.
1015 * target-independent/SYSTEM-iso.texi: Rename ...
1016 * target-independent/m2/SYSTEM-iso.texi: ... to this.
1017 * target-independent/SYSTEM-pim.texi: Rename ...
1018 * target-independent/m2/SYSTEM-pim.texi: ... to this.
1019 * target-independent/gm2-libs.texi: Rename ...
1020 * target-independent/m2/gm2-libs.texi: ... to this.
1021
1022 2023-03-15 Gaius Mulley <gaiusmod2@gmail.com>
1023
1024 PR modula2/109125
1025 * gm2-libs-ch/dtoa.cc (dtoa_strtod): Replace int with bool.
1026 * gm2-libs-ch/ldtoa.cc (ldtoa_strtold): Replace int with bool.
1027
1028 2023-03-14 Gaius Mulley <gaiusmod2@gmail.com>
1029
1030 PR modula2/109125
1031 * gm2-libs-ch/cgetopt.c (cgetopt_SetOption): Replace int
1032 for bool.
1033 * gm2-libs-ch/termios.c (doSetUnset): Replace int for bool.
1034 * gm2-libs/Builtins.mod (isfinitef): Correct typo in return
1035 statement.
1036
1037 2023-03-13 Gaius Mulley <gaiusmod2@gmail.com>
1038
1039 PR modula2/109103
1040 * gm2-compiler/M2ALU.def (PushString): New parameter issueError.
1041 * gm2-compiler/M2ALU.mod (PushString): New parameter issueError.
1042 * gm2-compiler/SymbolTable.mod (PushString): New parameter issueError.
1043 * gm2-gcc/m2decl.cc (m2decl_DetermineSizeOfConstant): Pass
1044 location to interpret_m2_integer.
1045 (m2decl_BuildConstLiteralNumber): New parameter issueError.
1046 * gm2-gcc/m2expr.cc (m2expr_IsTrue): Replace int with bool.
1047 (m2expr_IsFalse): Replace int with bool.
1048 (m2expr_AreConstantsEqual): Replace int with bool.
1049 (m2expr_BuildBinaryForeachWordDo): Call m2linemap_internal_error_at.
1050 (append_digit): Ditto.
1051 (m2expr_interpret_integer): Add location parameter.
1052 (append_m2_digit): Call m2linemap_internal_error_at.
1053 (m2expr_interpret_m2_integer): Add location parameter.
1054 (m2expr_GetSizeOf): Replace sizeof with SIZE in error message.
1055 * gm2-gcc/m2expr.h (m2expr_AreRealOrComplexConstantsEqual):
1056 Replace int with bool.
1057 (m2expr_AreConstantsEqual): Ditto.
1058 (m2expr_IsFalse): Ditto.
1059 (m2expr_IsTrue): Ditto.
1060 (m2expr_interpret_integer): Add location parameter.
1061 (m2expr_interpret_m2_integer): Add location parameter.
1062 * gm2-gcc/m2linemap.cc (mformat_value): New function.
1063 (expand_format): New function.
1064 (expand_message): New function.
1065 (gm2_internal_error_at): New function.
1066 (m2linemap_internal_error_at): New function.
1067 * gm2-gcc/m2linemap.h (m2linemap_internal_error_at): New function.
1068 * gm2-gcc/m2options.h (M2Options_SetISO): Replace int with bool.
1069 (M2Options_SetPIM): Ditto.
1070 (M2Options_SetPIM2): Ditto.
1071 (M2Options_SetPIM3): Ditto.
1072 (M2Options_SetPIM4): Ditto.
1073 (M2Options_SetFloatValueCheck): Ditto.
1074 (M2Options_SetWholeValueCheck): Ditto.
1075 (M2Options_GetISO): Ditto.
1076 (M2Options_GetPIM): Ditto.
1077 (M2Options_GetPIM2): Ditto.
1078 (M2Options_GetPIM3): Ditto.
1079 (M2Options_GetPIM4): Ditto.
1080 (M2Options_GetPositiveModFloor): Ditto.
1081 (M2Options_GetFloatValueCheck): Ditto.
1082 (M2Options_GetWholeValueCheck): Ditto.
1083 (M2Options_Setc): Ditto.
1084 (M2Options_Getc): Ditto.
1085 (M2Options_SetPPOnly): Ditto.
1086 (M2Options_GetPPOnly): Ditto.
1087 (M2Options_SetUselist): Ditto.
1088 (M2Options_SetAutoInit): Ditto.
1089 (M2Options_SetPositiveModFloor): Ditto.
1090 (M2Options_SetNilCheck): Ditto.
1091 (M2Options_SetWholeDiv): Ditto.
1092 (M2Options_SetIndex): Ditto.
1093 (M2Options_SetRange): Ditto.
1094 (M2Options_SetReturnCheck): Ditto.
1095 (M2Options_SetCaseCheck): Ditto.
1096 (M2Options_SetCheckAll): Ditto.
1097 (M2Options_SetExceptions): Ditto.
1098 (M2Options_SetStyle): Ditto.
1099 (M2Options_SetPedantic): Ditto.
1100 (M2Options_SetPedanticParamNames): Ditto.
1101 (M2Options_SetPedanticCast): Ditto.
1102 (M2Options_SetExtendedOpaque): Ditto.
1103 (M2Options_SetVerboseUnbounded): Ditto.
1104 (M2Options_SetXCode): Ditto.
1105 (M2Options_SetCompilerDebugging): Ditto.
1106 (M2Options_SetQuadDebugging): Ditto.
1107 (M2Options_SetDebugTraceQuad): Ditto.
1108 (M2Options_SetDebugTraceAPI): Ditto.
1109 (M2Options_SetSources): Ditto.
1110 (M2Options_SetUnboundedByReference): Ditto.
1111 (M2Options_SetDumpSystemExports): Ditto.
1112 (M2Options_SetOptimizing): Ditto.
1113 (M2Options_SetQuiet): Ditto.
1114 (M2Options_SetCC1Quiet): Ditto.
1115 (M2Options_SetCpp): Ditto.
1116 (M2Options_SetSwig): Ditto.
1117 (M2Options_SetWholeProgram): Ditto.
1118 (M2Options_SetDebugFunctionLineNumbers): Ditto.
1119 (M2Options_SetGenerateStatementNote): Ditto.
1120 (M2Options_GetCpp): Ditto.
1121 (M2Options_GetM2g): Ditto.
1122 (M2Options_SetM2g): Ditto.
1123 (M2Options_SetLowerCaseKeywords): Ditto.
1124 (M2Options_SetVerbose): Ditto.
1125 (M2Options_SetUnusedVariableChecking): Ditto.
1126 (M2Options_SetUnusedParameterChecking): Ditto.
1127 (M2Options_SetStrictTypeChecking): Ditto.
1128 (M2Options_SetWall): Ditto.
1129 (M2Options_SetSaveTemps): Ditto.
1130 (M2Options_GetSaveTemps): Ditto.
1131 (M2Options_SetScaffoldStatic): Ditto.
1132 (M2Options_SetScaffoldDynamic): Ditto.
1133 (M2Options_SetScaffoldMain): Ditto.
1134 (M2Options_SetGenModuleList): Ditto.
1135 (M2Options_SetShared): Ditto.
1136 * gm2-libs-ch/M2LINK.c: Ditto.
1137 * gm2-libs-ch/m2rts.h (M2RTS_RequestDependant): Replace
1138 const char * with const void *.
1139 (M2RTS_RegisterModule): Ditto.
1140 (M2RTS_ConstructModules): Ditto.
1141 * gm2-gcc/m2decl.def (DetermineSizeOfConstant): New parameter
1142 issueError.
1143 * gm2-gcc/m2decl.h (DetermineSizeOfConstant): New parameter
1144 issueError.
1145
1146 2023-03-12 Gaius Mulley <gaiusmod2@gmail.com>
1147
1148 PR modula2/109089
1149 * gm2-compiler/M2GCCDeclare.mod (DeclareKnownType): Import.
1150 * gm2-gcc/gcc-consolidation.h (stdbool.h): Include.
1151 * gm2-gcc/init.h (defined): Change block start.
1152 * gm2-gcc/m2block.cc: Change FALSE to false, change TRUE to true.
1153 * gm2-gcc/m2block.h: Change int to bool.
1154 * gm2-gcc/m2builtins.cc: Ditto.
1155 * gm2-gcc/m2builtins.h: Ditto.
1156 * gm2-gcc/m2convert.cc: Change FALSE to false, TRUE to true and
1157 int to bool.
1158 * gm2-gcc/m2convert.h: Change int to bool.
1159 * gm2-gcc/m2decl.cc: Change int to bool.
1160 * gm2-gcc/m2decl.h: Change int to bool.
1161 * gm2-gcc/m2expr.cc: Change FALSE to false, TRUE to true and
1162 int to bool.
1163 * gm2-gcc/m2expr.h: Change int to bool.
1164 * gm2-gcc/m2statement.cc: Change FALSE to false, TRUE to true and
1165 int to bool.
1166 * gm2-gcc/m2statement.h: Change int to bool.
1167 * gm2-gcc/m2top.cc: Change int to bool.
1168 * gm2-gcc/m2top.h: Change int to bool.
1169 * gm2-gcc/m2tree.cc: Change int to bool.
1170 * gm2-gcc/m2tree.h: Change int to bool.
1171 * gm2-gcc/m2type.cc: Change int to bool.
1172 * gm2-gcc/m2type.h: Change int to bool.
1173 * gm2-lang.cc (convert_loc): Call convert_to_integer for BOOLEAN_TYPE.
1174 * gm2-libs/Builtins.def (isfinitef): Change return value from
1175 BOOLEAN to INTEGER.
1176 (isfinite): Ditto.
1177 (isfinitel): Ditto.
1178 * gm2-libs/Builtins.mod (isfinitef): Change return value from
1179 BOOLEAN to INTEGER.
1180 (isfinite): Ditto.
1181 (isfinitel): Ditto.
1182 * mc-boot/GASCII.cc: Rebuild.
1183 * mc-boot/GASCII.h: Rebuild.
1184 * mc-boot/GArgs.cc: Rebuild.
1185 * mc-boot/GArgs.h: Rebuild.
1186 * mc-boot/GAssertion.cc: Rebuild.
1187 * mc-boot/GAssertion.h: Rebuild.
1188 * mc-boot/GBreak.cc: Rebuild.
1189 * mc-boot/GBreak.h: Rebuild.
1190 * mc-boot/GCOROUTINES.h: Rebuild.
1191 * mc-boot/GCmdArgs.cc: Rebuild.
1192 * mc-boot/GCmdArgs.h: Rebuild.
1193 * mc-boot/GDebug.cc: Rebuild.
1194 * mc-boot/GDebug.h: Rebuild.
1195 * mc-boot/GDynamicStrings.cc: Rebuild.
1196 * mc-boot/GDynamicStrings.h: Rebuild.
1197 * mc-boot/GEnvironment.cc: Rebuild.
1198 * mc-boot/GEnvironment.h: Rebuild.
1199 * mc-boot/GFIO.cc: Rebuild.
1200 * mc-boot/GFIO.h: Rebuild.
1201 * mc-boot/GFormatStrings.cc: Rebuild.
1202 * mc-boot/GFormatStrings.h: Rebuild.
1203 * mc-boot/GFpuIO.cc: Rebuild.
1204 * mc-boot/GFpuIO.h: Rebuild.
1205 * mc-boot/GIO.cc: Rebuild.
1206 * mc-boot/GIO.h: Rebuild.
1207 * mc-boot/GIndexing.cc: Rebuild.
1208 * mc-boot/GIndexing.h: Rebuild.
1209 * mc-boot/GM2Dependent.cc: Rebuild.
1210 * mc-boot/GM2Dependent.h: Rebuild.
1211 * mc-boot/GM2EXCEPTION.cc: Rebuild.
1212 * mc-boot/GM2EXCEPTION.h: Rebuild.
1213 * mc-boot/GM2LINK.h: Rebuild.
1214 * mc-boot/GM2RTS.cc: Rebuild.
1215 * mc-boot/GM2RTS.h: Rebuild.
1216 * mc-boot/GMemUtils.cc: Rebuild.
1217 * mc-boot/GMemUtils.h: Rebuild.
1218 * mc-boot/GNumberIO.cc: Rebuild.
1219 * mc-boot/GNumberIO.h: Rebuild.
1220 * mc-boot/GPushBackInput.cc: Rebuild.
1221 * mc-boot/GPushBackInput.h: Rebuild.
1222 * mc-boot/GRTExceptions.cc: Rebuild.
1223 * mc-boot/GRTExceptions.h: Rebuild.
1224 * mc-boot/GRTco.h: Rebuild.
1225 * mc-boot/GRTentity.h: Rebuild.
1226 * mc-boot/GRTint.cc: Rebuild.
1227 * mc-boot/GRTint.h: Rebuild.
1228 * mc-boot/GSArgs.cc: Rebuild.
1229 * mc-boot/GSArgs.h: Rebuild.
1230 * mc-boot/GSFIO.cc: Rebuild.
1231 * mc-boot/GSFIO.h: Rebuild.
1232 * mc-boot/GSYSTEM.h: Rebuild.
1233 * mc-boot/GSelective.h: Rebuild.
1234 * mc-boot/GStdIO.cc: Rebuild.
1235 * mc-boot/GStdIO.h: Rebuild.
1236 * mc-boot/GStorage.cc: Rebuild.
1237 * mc-boot/GStorage.h: Rebuild.
1238 * mc-boot/GStrCase.cc: Rebuild.
1239 * mc-boot/GStrCase.h: Rebuild.
1240 * mc-boot/GStrIO.cc: Rebuild.
1241 * mc-boot/GStrIO.h: Rebuild.
1242 * mc-boot/GStrLib.cc: Rebuild.
1243 * mc-boot/GStrLib.h: Rebuild.
1244 * mc-boot/GStringConvert.cc: Rebuild.
1245 * mc-boot/GStringConvert.h: Rebuild.
1246 * mc-boot/GSysExceptions.h: Rebuild.
1247 * mc-boot/GSysStorage.cc: Rebuild.
1248 * mc-boot/GSysStorage.h: Rebuild.
1249 * mc-boot/GTimeString.cc: Rebuild.
1250 * mc-boot/GTimeString.h: Rebuild.
1251 * mc-boot/GUnixArgs.h: Rebuild.
1252 * mc-boot/Galists.cc: Rebuild.
1253 * mc-boot/Galists.h: Rebuild.
1254 * mc-boot/Gdecl.cc: Rebuild.
1255 * mc-boot/Gdecl.h: Rebuild.
1256 * mc-boot/Gdtoa.h: Rebuild.
1257 * mc-boot/Gerrno.h: Rebuild.
1258 * mc-boot/Gkeyc.cc: Rebuild.
1259 * mc-boot/Gkeyc.h: Rebuild.
1260 * mc-boot/Gldtoa.h: Rebuild.
1261 * mc-boot/Glibc.h: Rebuild.
1262 * mc-boot/Glibm.h: Rebuild.
1263 * mc-boot/Glists.cc: Rebuild.
1264 * mc-boot/Glists.h: Rebuild.
1265 * mc-boot/GmcComment.cc: Rebuild.
1266 * mc-boot/GmcComment.h: Rebuild.
1267 * mc-boot/GmcComp.cc: Rebuild.
1268 * mc-boot/GmcComp.h: Rebuild.
1269 * mc-boot/GmcDebug.cc: Rebuild.
1270 * mc-boot/GmcDebug.h: Rebuild.
1271 * mc-boot/GmcError.cc: Rebuild.
1272 * mc-boot/GmcError.h: Rebuild.
1273 * mc-boot/GmcFileName.cc: Rebuild.
1274 * mc-boot/GmcFileName.h: Rebuild.
1275 * mc-boot/GmcLexBuf.cc: Rebuild.
1276 * mc-boot/GmcLexBuf.h: Rebuild.
1277 * mc-boot/GmcMetaError.cc: Rebuild.
1278 * mc-boot/GmcMetaError.h: Rebuild.
1279 * mc-boot/GmcOptions.cc: Rebuild.
1280 * mc-boot/GmcOptions.h: Rebuild.
1281 * mc-boot/GmcPreprocess.cc: Rebuild.
1282 * mc-boot/GmcPreprocess.h: Rebuild.
1283 * mc-boot/GmcPretty.cc: Rebuild.
1284 * mc-boot/GmcPretty.h: Rebuild.
1285 * mc-boot/GmcPrintf.cc: Rebuild.
1286 * mc-boot/GmcPrintf.h: Rebuild.
1287 * mc-boot/GmcQuiet.cc: Rebuild.
1288 * mc-boot/GmcQuiet.h: Rebuild.
1289 * mc-boot/GmcReserved.cc: Rebuild.
1290 * mc-boot/GmcReserved.h: Rebuild.
1291 * mc-boot/GmcSearch.cc: Rebuild.
1292 * mc-boot/GmcSearch.h: Rebuild.
1293 * mc-boot/GmcStack.cc: Rebuild.
1294 * mc-boot/GmcStack.h: Rebuild.
1295 * mc-boot/GmcStream.cc: Rebuild.
1296 * mc-boot/GmcStream.h: Rebuild.
1297 * mc-boot/Gmcflex.h: Rebuild.
1298 * mc-boot/Gmcp1.cc: Rebuild.
1299 * mc-boot/Gmcp1.h: Rebuild.
1300 * mc-boot/Gmcp2.cc: Rebuild.
1301 * mc-boot/Gmcp2.h: Rebuild.
1302 * mc-boot/Gmcp3.cc: Rebuild.
1303 * mc-boot/Gmcp3.h: Rebuild.
1304 * mc-boot/Gmcp4.cc: Rebuild.
1305 * mc-boot/Gmcp4.h: Rebuild.
1306 * mc-boot/Gmcp5.cc: Rebuild.
1307 * mc-boot/Gmcp5.h: Rebuild.
1308 * mc-boot/GnameKey.cc: Rebuild.
1309 * mc-boot/GnameKey.h: Rebuild.
1310 * mc-boot/GsymbolKey.cc: Rebuild.
1311 * mc-boot/GsymbolKey.h: Rebuild.
1312 * mc-boot/Gtermios.h: Rebuild.
1313 * mc-boot/Gtop.cc: Rebuild.
1314 * mc-boot/Gvarargs.cc: Rebuild.
1315 * mc-boot/Gvarargs.h: Rebuild.
1316 * mc-boot/Gwlists.cc: Rebuild.
1317 * mc-boot/Gwlists.h: Rebuild.
1318 * mc-boot/Gwrapc.h: Rebuild.
1319 * mc/decl.mod (doBoolC): New procedure.
1320 (doBaseC): Call doBoolC.
1321 * mc/keyc.mod: Import useBool.
1322 (genBool): New procedure.
1323 (genDefs): Call genBool.
1324 * mc/mcOptions.def (useBool): New procedure.
1325 * mc/mcOptions.mod (useBool): New procedure.
1326 (useBoolType): New variable.
1327 (optionIs): Assign useBoolType to TRUE.
1328
1329 2023-03-04 Gaius Mulley <gaiusmod2@gmail.com>
1330
1331 * mc-boot-ch/GBuiltins.cc: New file.
1332 * mc-boot-ch/Gdtoa.cc: New file.
1333 * mc-boot-ch/Gerrno.cc: New file.
1334 * mc-boot-ch/Gldtoa.cc: New file.
1335 * mc-boot-ch/Gm2rtsdummy.cc: New file.
1336 * mc-boot/GASCII.cc: New file.
1337 * mc-boot/GArgs.cc: New file.
1338 * mc-boot/GAssertion.cc: New file.
1339 * mc-boot/GBreak.cc: New file.
1340 * mc-boot/GCmdArgs.cc: New file.
1341 * mc-boot/GDebug.cc: New file.
1342 * mc-boot/GDynamicStrings.cc: New file.
1343 * mc-boot/GEnvironment.cc: New file.
1344 * mc-boot/GFIO.cc: New file.
1345 * mc-boot/GFormatStrings.cc: New file.
1346 * mc-boot/GFpuIO.cc: New file.
1347 * mc-boot/GIO.cc: New file.
1348 * mc-boot/GIndexing.cc: New file.
1349 * mc-boot/GM2Dependent.cc: New file.
1350 * mc-boot/GM2EXCEPTION.cc: New file.
1351 * mc-boot/GM2RTS.cc: New file.
1352 * mc-boot/GMemUtils.cc: New file.
1353 * mc-boot/GNumberIO.cc: New file.
1354 * mc-boot/GPushBackInput.cc: New file.
1355 * mc-boot/GRTExceptions.cc: New file.
1356 * mc-boot/GRTint.cc: New file.
1357 * mc-boot/GSArgs.cc: New file.
1358 * mc-boot/GSFIO.cc: New file.
1359 * mc-boot/GStdIO.cc: New file.
1360 * mc-boot/GStorage.cc: New file.
1361 * mc-boot/GStrCase.cc: New file.
1362 * mc-boot/GStrIO.cc: New file.
1363 * mc-boot/GStrLib.cc: New file.
1364 * mc-boot/GStringConvert.cc: New file.
1365 * mc-boot/GSysStorage.cc: New file.
1366 * mc-boot/GTimeString.cc: New file.
1367 * mc-boot/Galists.cc: New file.
1368 * mc-boot/Gdecl.cc: New file.
1369 * mc-boot/Gkeyc.cc: New file.
1370 * mc-boot/Glists.cc: New file.
1371 * mc-boot/GmcComment.cc: New file.
1372 * mc-boot/GmcComp.cc: New file.
1373 * mc-boot/GmcDebug.cc: New file.
1374 * mc-boot/GmcError.cc: New file.
1375 * mc-boot/GmcFileName.cc: New file.
1376 * mc-boot/GmcLexBuf.cc: New file.
1377 * mc-boot/GmcMetaError.cc: New file.
1378 * mc-boot/GmcOptions.cc: New file.
1379 * mc-boot/GmcPreprocess.cc: New file.
1380 * mc-boot/GmcPretty.cc: New file.
1381 * mc-boot/GmcPrintf.cc: New file.
1382 * mc-boot/GmcQuiet.cc: New file.
1383 * mc-boot/GmcReserved.cc: New file.
1384 * mc-boot/GmcSearch.cc: New file.
1385 * mc-boot/GmcStack.cc: New file.
1386 * mc-boot/GmcStream.cc: New file.
1387 * mc-boot/Gmcp1.cc: New file.
1388 * mc-boot/Gmcp2.cc: New file.
1389 * mc-boot/Gmcp3.cc: New file.
1390 * mc-boot/Gmcp4.cc: New file.
1391 * mc-boot/Gmcp5.cc: New file.
1392 * mc-boot/GnameKey.cc: New file.
1393 * mc-boot/GsymbolKey.cc: New file.
1394 * mc-boot/Gtop.cc: New file.
1395 * mc-boot/Gvarargs.cc: New file.
1396 * mc-boot/Gwlists.cc: New file.
1397 * pge-boot/GASCII.cc: New file.
1398 * pge-boot/GArgs.cc: New file.
1399 * pge-boot/GAssertion.cc: New file.
1400 * pge-boot/GBuiltins.cc: New file.
1401 * pge-boot/GDebug.cc: New file.
1402 * pge-boot/GDynamicStrings.cc: New file.
1403 * pge-boot/GFIO.cc: New file.
1404 * pge-boot/GIO.cc: New file.
1405 * pge-boot/GIndexing.cc: New file.
1406 * pge-boot/GLists.cc: New file.
1407 * pge-boot/GM2Dependent.cc: New file.
1408 * pge-boot/GM2EXCEPTION.cc: New file.
1409 * pge-boot/GM2LINK.cc: New file.
1410 * pge-boot/GM2RTS.cc: New file.
1411 * pge-boot/GNameKey.cc: New file.
1412 * pge-boot/GNumberIO.cc: New file.
1413 * pge-boot/GOutput.cc: New file.
1414 * pge-boot/GPushBackInput.cc: New file.
1415 * pge-boot/GRTExceptions.cc: New file.
1416 * pge-boot/GRTco.cc: New file.
1417 * pge-boot/GSFIO.cc: New file.
1418 * pge-boot/GSYSTEM.cc: New file.
1419 * pge-boot/GSelective.cc: New file.
1420 * pge-boot/GStdIO.cc: New file.
1421 * pge-boot/GStorage.cc: New file.
1422 * pge-boot/GStrCase.cc: New file.
1423 * pge-boot/GStrIO.cc: New file.
1424 * pge-boot/GStrLib.cc: New file.
1425 * pge-boot/GSymbolKey.cc: New file.
1426 * pge-boot/GSysExceptions.cc: New file.
1427 * pge-boot/GSysStorage.cc: New file.
1428 * pge-boot/Gabort.cc: New file.
1429 * pge-boot/Gbnflex.cc: New file.
1430 * pge-boot/Gcbuiltin.cc: New file.
1431 * pge-boot/Gdtoa.cc: New file.
1432 * pge-boot/Gerrno.cc: New file.
1433 * pge-boot/Gldtoa.cc: New file.
1434 * pge-boot/Glibc.cc: New file.
1435 * pge-boot/Glibm.cc: New file.
1436 * pge-boot/Gmcrts.cc: New file.
1437 * pge-boot/Gpge.cc: New file.
1438 * pge-boot/Gwrapc.cc: New file.
1439 * pge-boot/main.cc: New file.
1440 * pge-boot/network.cc: New file.
1441
1442 2023-03-04 Gaius Mulley <gaiusmod2@gmail.com>
1443
1444 * Make-lang.in (MC-LIB-BOOT-C): Rename to MC-LIB-BOOT-CC.
1445 (MC-BOOT-C): Rename to MC-BOOT-CC.
1446 (BUILD-MC-BOOT-C): Rename to BUILD-MC-BOOT-CC.
1447 (BUILD-MC-BOOT-AUTO-C): Rename to BUILD-MC-BOOT-AUTO-CC.
1448 (m2/mc-boot/$(SRC_PREFIX)%.o): Change source file extension to .cc.
1449 (m2/mc-boot-ch/$(SRC_PREFIX)%.o): Ditto.
1450 * Make-maintainer.in (m2/gm2-ppg-boot/$(SRC_PREFIX)%.o): Change
1451 source file extension to .cc.
1452 (m2/gm2-ppg-boot/main.o): Ditto.
1453 (m2/gm2-ppg-boot/$(SRC_PREFIX)%.o): Ditto.
1454 to .cc.
1455 (m2/gm2-pg-boot/main.o): Ditto.
1456 (m2/gm2-pge-boot/$(SRC_PREFIX)ldtoa.o): Ditto.
1457 (m2/gm2-pge-boot/$(SRC_PREFIX)dtoa.o): Ditto.
1458 (m2/gm2-pge-boot/$(SRC_PREFIX)errno.o): Ditto.
1459 (m2/gm2-pge-boot/$(SRC_PREFIX)M2RTS.o): Ditto.
1460 (m2/gm2-pge-boot/$(SRC_PREFIX)%.o): Ditto.
1461 (m2/gm2-pge-boot/$(SRC_PREFIX)%.o): Ditto.
1462 (m2/gm2-pge-boot/$(SRC_PREFIX)pge.o): Ditto.
1463 (m2/gm2-pge-boot/main.o): Ditto.
1464 (mc-push): Ditto.
1465 (mc-clean): Ditto.
1466 (mc-stage2): Ditto.
1467 ((objdir)/m2/mc-boot-gen): Ditto.
1468 (m2/mc-boot-gen/$(SRC_PREFIX)decl.c): Ditto.
1469 (m2/mc-boot-gen/$(SRC_PREFIX)%.c): Ditto.
1470 * mc-boot-ch/GBuiltins.c: Correct comment and rename.
1471 * mc-boot-ch/Gdtoa.c: Correct comment and rename.
1472 * mc-boot-ch/Gldtoa.c: Correct comment and rename
1473 * mc-boot-ch/Gtermios.cc: Rename from Gtermios.c.
1474 * mc-boot-ch/Gerrno.c: Rename.
1475 * mc-boot-ch/GRTco.c: Removed.
1476 * mc-boot/GASCII.c: Rename to mc-boot/GASCII.cc.
1477 * mc-boot/GArgs.c: Rename to mc-boot/GArgs.cc.
1478 * mc-boot/GAssertion.c: Rename to mc-boot/GAssertion.cc.
1479 * mc-boot/GBreak.c: Rename to mc-boot/GBreak.cc.
1480 * mc-boot/GCmdArgs.c: Rename to mc-boot/GCmdArgs.cc.
1481 * mc-boot/GDebug.c: Rename to mc-boot/GDebug.cc.
1482 * mc-boot/GDynamicStrings.c: Rename to mc-boot/GDynamicStrings.cc.
1483 * mc-boot/GEnvironment.c: Rename to mc-boot/GEnvironment.cc.
1484 * mc-boot/GFIO.c: Rename to mc-boot/GFIO.cc.
1485 * mc-boot/GFormatStrings.c: Rename to mc-boot/GFormatStrings.cc.
1486 * mc-boot/GFpuIO.c: Rename to mc-boot/GFpuIO.cc.
1487 * mc-boot/GIO.c: Rename to mc-boot/GIO.cc.
1488 * mc-boot/GIndexing.c: Rename to mc-boot/GIndexing.cc.
1489 * mc-boot/GM2Dependent.c: Rename to mc-boot/GM2Dependent.cc.
1490 * mc-boot/GM2EXCEPTION.c: Rename to mc-boot/GM2EXCEPTION.cc.
1491 * mc-boot/GM2RTS.c: Rename to mc-boot/GM2RTS.cc.
1492 * mc-boot/GMemUtils.c: Rename to mc-boot/GMemUtils.cc.
1493 * mc-boot/GNumberIO.c: Rename to mc-boot/GNumberIO.cc.
1494 * mc-boot/GPushBackInput.c: Rename to mc-boot/GPushBackInput.cc.
1495 * mc-boot/GRTExceptions.c: Rename to mc-boot/GRTExceptions.cc.
1496 * mc-boot/GRTint.c: Rename to mc-boot/GRTint.cc.
1497 * mc-boot/GSArgs.c: Rename to mc-boot/GSArgs.cc.
1498 * mc-boot/GSFIO.c: Rename to mc-boot/GSFIO.cc.
1499 * mc-boot/GStdIO.c: Rename to mc-boot/GStdIO.cc.
1500 * mc-boot/GStorage.c: Rename to mc-boot/GStorage.cc.
1501 * mc-boot/GStrCase.c: Rename to mc-boot/GStrCase.cc.
1502 * mc-boot/GStrIO.c: Rename to mc-boot/GStrIO.cc.
1503 * mc-boot/GStrLib.c: Rename to mc-boot/GStrLib.cc.
1504 * mc-boot/GStringConvert.c: Rename to mc-boot/GStringConvert.cc.
1505 * mc-boot/GSysStorage.c: Rename to mc-boot/GSysStorage.cc.
1506 * mc-boot/GTimeString.c: Rename to mc-boot/GTimeString.cc.
1507 * mc-boot/Galists.c: Rename to mc-boot/Galists.cc.
1508 * mc-boot/Gdecl.c: Rename to mc-boot/Gdecl.cc.
1509 * mc-boot/Gkeyc.c: Rename to mc-boot/Gkeyc.cc.
1510 * mc-boot/Glists.c: Rename to mc-boot/Glists.cc.
1511 * mc-boot/GmcComment.c: Rename to mc-boot/GmcComment.cc.
1512 * mc-boot/GmcComp.c: Rename to mc-boot/GmcComp.cc.
1513 * mc-boot/GmcDebug.c: Rename to mc-boot/GmcDebug.cc.
1514 * mc-boot/GmcError.c: Rename to mc-boot/GmcError.cc.
1515 * mc-boot/GmcFileName.c: Rename to mc-boot/GmcFileName.cc.
1516 * mc-boot/GmcLexBuf.c: Rename to mc-boot/GmcLexBuf.cc.
1517 * mc-boot/GmcMetaError.c: Rename to mc-boot/GmcMetaError.cc.
1518 * mc-boot/GmcOptions.c: Rename to mc-boot/GmcOptions.cc.
1519 * mc-boot/GmcPreprocess.c: Rename to mc-boot/GmcPreprocess.cc.
1520 * mc-boot/GmcPretty.c: Rename to mc-boot/GmcPretty.cc.
1521 * mc-boot/GmcPrintf.c: Rename to mc-boot/GmcPrintf.cc.
1522 * mc-boot/GmcQuiet.c: Rename to mc-boot/GmcQuiet.cc.
1523 * mc-boot/GmcReserved.c: Rename to mc-boot/GmcReserved.cc.
1524 * mc-boot/GmcSearch.c: Rename to mc-boot/GmcSearch.cc.
1525 * mc-boot/GmcStack.c: Rename to mc-boot/GmcStack.cc.
1526 * mc-boot/GmcStream.c: Rename to mc-boot/GmcStream.cc.
1527 * mc-boot/Gmcp1.c: Rename to mc-boot/Gmcp1.cc.
1528 * mc-boot/Gmcp2.c: Rename to mc-boot/Gmcp2.cc.
1529 * mc-boot/Gmcp3.c: Rename to mc-boot/Gmcp3.cc.
1530 * mc-boot/Gmcp4.c: Rename to mc-boot/Gmcp4.cc.
1531 * mc-boot/Gmcp5.c: Rename to mc-boot/Gmcp5.cc.
1532 * mc-boot/GnameKey.c: Rename to mc-boot/GnameKey.cc.
1533 * mc-boot/GsymbolKey.c: Rename to mc-boot/GsymbolKey.cc.
1534 * mc-boot/Gtop.c: Rename to mc-boot/Gtop.cc.
1535 * mc-boot/Gvarargs.c: Rename to mc-boot/Gvarargs.cc.
1536 * mc-boot/Gwlists.c: Rename to mc-boot/Gwlists.cc.
1537 * pge-boot/GASCII.c: Rename to pge-boot/GASCII.cc.
1538 * pge-boot/GArgs.c: Rename to pge-boot/GArgs.cc.
1539 * pge-boot/GAssertion.c: Rename to pge-boot/GAssertion.cc.
1540 * pge-boot/GBuiltins.c: Rename to pge-boot/GBuiltins.cc.
1541 * pge-boot/GDebug.c: Rename to pge-boot/GDebug.cc.
1542 * pge-boot/GDynamicStrings.c: Rename to pge-boot/GDynamicStrings.cc.
1543 * pge-boot/GFIO.c: Rename to pge-boot/GFIO.cc.
1544 * pge-boot/GIO.c: Rename to pge-boot/GIO.cc.
1545 * pge-boot/GIndexing.c: Rename to pge-boot/GIndexing.cc.
1546 * pge-boot/GLists.c: Rename to pge-boot/GLists.cc.
1547 * pge-boot/GM2Dependent.c: Rename to pge-boot/GM2Dependent.cc.
1548 * pge-boot/GM2EXCEPTION.c: Rename to pge-boot/GM2EXCEPTION.cc.
1549 * pge-boot/GM2LINK.c: Rename to pge-boot/GM2LINK.cc.
1550 * pge-boot/GM2RTS.c: Rename to pge-boot/GM2RTS.cc.
1551 * pge-boot/GNameKey.c: Rename to pge-boot/GNameKey.cc.
1552 * pge-boot/GNumberIO.c: Rename to pge-boot/GNumberIO.cc.
1553 * pge-boot/GOutput.c: Rename to pge-boot/GOutput.cc.
1554 * pge-boot/GPushBackInput.c: Rename to pge-boot/GPushBackInput.cc.
1555 * pge-boot/GRTExceptions.c: Rename to pge-boot/GRTExceptions.cc.
1556 * pge-boot/GRTco.c: Rename to pge-boot/GRTco.cc.
1557 * pge-boot/GSFIO.c: Rename to pge-boot/GSFIO.cc.
1558 * pge-boot/GSYSTEM.c: Rename to pge-boot/GSYSTEM.cc.
1559 * pge-boot/GSelective.c: Rename to pge-boot/GSelective.cc.
1560 * pge-boot/GStdIO.c: Rename to pge-boot/GStdIO.cc.
1561 * pge-boot/GStorage.c: Rename to pge-boot/GStorage.cc.
1562 * pge-boot/GStrCase.c: Rename to pge-boot/GStrCase.cc.
1563 * pge-boot/GStrIO.c: Rename to pge-boot/GStrIO.cc.
1564 * pge-boot/GStrLib.c: Rename to pge-boot/GStrLib.cc.
1565 * pge-boot/GSymbolKey.c: Rename to pge-boot/GSymbolKey.cc.
1566 * pge-boot/GSysExceptions.c: Rename to pge-boot/GSysExceptions.cc.
1567 * pge-boot/GSysStorage.c: Rename to pge-boot/GSysStorage.cc.
1568 * pge-boot/Gabort.c: Rename to pge-boot/Gabort.cc.
1569 * pge-boot/Gbnflex.c: Rename to pge-boot/Gbnflex.cc.
1570 * pge-boot/Gcbuiltin.c: Rename to pge-boot/Gcbuiltin.cc.
1571 * pge-boot/Gdtoa.c: Rename to pge-boot/Gdtoa.cc.
1572 * pge-boot/Gerrno.c: Rename to pge-boot/Gerrno.cc.
1573 * pge-boot/Gldtoa.c: Rename to pge-boot/Gldtoa.cc.
1574 * pge-boot/Glibc.c: Rename to pge-boot/Glibc.cc.
1575 * pge-boot/Glibm.c: Rename to pge-boot/Glibm.cc.
1576 * pge-boot/Gmcrts.c: Rename to pge-boot/Gmcrts.cc.
1577 * pge-boot/Gpge.c: Rename to pge-boot/Gpge.cc.
1578 * pge-boot/Gwrapc.c: Rename to pge-boot/Gwrapc.cc.
1579 * pge-boot/README: Correct description.
1580 * pge-boot/main.c: Rename to pge-boot/main.cc.
1581 * pge-boot/network.c: Rename to pge-boot/network.cc.
1582
1583 2023-02-28 Gaius Mulley <gaiusmod2@gmail.com>
1584
1585 PR modula2/108956
1586 * Make-lang.in (m2/gm2-libs-boot/M2RTS.o): New specific rule to
1587 add the --suppress-noreturn option.
1588 * Make-maintainer.in (m2/gm2-ppg-boot/$(SRC_PREFIX)M2RTS.o): New
1589 specific rule to add the --suppress-noreturn option.
1590 (m2/gm2-pg-boot/$(SRC_PREFIX)M2RTS.o): New
1591 specific rule to add the --suppress-noreturn option.
1592 (m2/gm2-pg-boot/$(SRC_PREFIX)%.o): Add missing $(srcdir).
1593 (m2/gm2-pge-boot/$(SRC_PREFIX)M2RTS.o): New
1594 specific rule to add the --suppress-noreturn option.
1595 (m2/gm2-pge-boot/$(SRC_PREFIX)%.o): Add missing $(srcdir).
1596 * gm2-libs-ch/UnixArgs.cc (LIBNAME): New define.
1597 (_M2_UnixArgs_ctor): Add LIBNAME parameter to RegisterModule.
1598 * gm2-libs-ch/dtoa.cc (LIBNAME): New define.
1599 (_M2_dtoa_ctor): Add LIBNAME parameter to RegisterModule.
1600 * gm2-libs-ch/ldtoa.cc (LIBNAME): New define.
1601 (_M2_ldtoa_ctor): Add LIBNAME parameter to RegisterModule.
1602 * pge-boot/m2rts.h (M2RTS_RegisterModule): Add libname
1603 parameter.
1604 * gm2-libs-ch/m2rts.h (M2RTS_RegisterModule): Add libname
1605 parameter.
1606 * mc-boot-ch/GUnixArgs.cc (_M2_UnixArgs_ctor): Remove.
1607 * pge-boot/GUnixArgs.cc (LIBNAME): New define.
1608 (_M2_UnixArgs_ctor): Add LIBNAME parameter to RegisterModule.
1609 * gm2-libs/RTint.def (AttachVector): Rename parameter.
1610 * mc-boot/GDynamicStrings.c: Rebuilt.
1611 * mc-boot/GFIO.c: Rebuilt.
1612 * mc-boot/GIndexing.c: Rebuilt.
1613 * mc-boot/GM2EXCEPTION.c: Rebuilt.
1614 * mc-boot/GPushBackInput.c: Rebuilt.
1615 * mc-boot/GRTExceptions.c: Rebuilt.
1616 * mc-boot/GRTint.c: Rebuilt.
1617 * mc-boot/GRTint.h: Rebuilt.
1618 * mc-boot/GStdIO.c: Rebuilt.
1619 * mc-boot/GStringConvert.c: Rebuilt.
1620 * mc-boot/GSysStorage.c: Rebuilt.
1621 * mc-boot/Gdecl.c: Rebuilt.
1622 * mc-boot/Gkeyc.c: Rebuilt.
1623 * mc-boot/GmcComment.c: Rebuilt.
1624 * mc-boot/GmcComp.c: Rebuilt.
1625 * mc-boot/GmcDebug.c: Rebuilt.
1626 * mc-boot/GmcMetaError.c: Rebuilt.
1627 * mc-boot/GmcOptions.c: Rebuilt.
1628 * mc-boot/GmcOptions.h: Rebuilt.
1629 * mc-boot/GmcStack.c: Rebuilt.
1630 * mc-boot/GnameKey.c: Rebuilt.
1631 * mc-boot/GsymbolKey.c: Rebuilt.
1632 * mc/decl.mod:: Rebuilt.
1633 * mc/mcOptions.def: Rebuilt.
1634 * mc/mcOptions.mod:: Rebuilt.
1635 * pge-boot/GDynamicStrings.c: Rebuilt.
1636 * pge-boot/GFIO.c: Rebuilt.
1637 * pge-boot/GIndexing.c: Rebuilt.
1638 * pge-boot/GM2EXCEPTION.c: Rebuilt.
1639 * pge-boot/GM2RTS.c: Rebuilt.
1640 * pge-boot/GNameKey.c: Rebuilt.
1641 * pge-boot/GPushBackInput.c: Rebuilt.
1642 * pge-boot/GRTExceptions.c: Rebuilt.
1643 * pge-boot/GStdIO.c: Rebuilt.
1644 * pge-boot/GSymbolKey.c: Rebuilt.
1645 * pge-boot/GSysStorage.c: Rebuilt.
1646
1647 2023-02-25 Gaius Mulley <gaiusmod2@gmail.com>
1648
1649 PR modula2/108261
1650 * Make-lang.in (GM2-COMP-BOOT-DEFS): DynamicStringPath.def
1651 remove. DynamicPath.def add.
1652 (GM2-COMP-BOOT-MODS): DynamicStringPath.mod remove.
1653 DynamicPath.mod add.
1654 * Make-maintainer.in (BUILD-BOOT-PPG-H): New dependency.
1655 (m2/gm2-ppg-boot/$(SRC_PREFIX)%.o): $(BUILD-BOOT-PPG-H) Add
1656 dependency.
1657 (PGE-DEF): New definition.
1658 (BUILD-BOOT-PG-H): New dependency.
1659 (m2/gm2-pg-boot/$(SRC_PREFIX)%.o): $(BUILD-BOOT-PG-H) Add
1660 dependency.
1661 (BUILD-BOOT-PGE-H): New dependency.
1662 (m2/gm2-pge-boot/$(SRC_PREFIX)%.o): $(BUILD-BOOT-PGE-H) Add
1663 dependency.
1664 (GM2PATH): Add pathname entries.
1665 (m2/boot-bin/mc-devel$(exeext)): Add m2/mc-boot-ch/Gm2rtsdummy.o
1666 dependency.
1667 (m2/boot-bin/mc-opt$(exeext)): Fix -I path.
1668 * gm2-compiler/DynamicStringPath.def: Renamed module to
1669 DynamicPath.
1670 (GetUserPath): Remove.
1671 (GetSystemPath): Remove.
1672 (SetUserPath): Remove.
1673 (SetSystemPath): Remove.
1674 (DumpPath): New procedure definition.
1675 * gm2-compiler/DynamicStringPath.mod: Renamed module to
1676 DynamicPath.
1677 (GetUserPath): Remove.
1678 (GetSystemPath): Remove.
1679 (SetUserPath): Remove.
1680 (SetSystemPath): Remove.
1681 (DumpPath): Remove Debugging conditional.
1682 * gm2-compiler/M2AsmUtil.mod: Import EqualArray, NulName and
1683 GetLibName.
1684 (Debugging): New declaration.
1685 (GetFullSymName): Re-implemented to prefix (mange) libname
1686 to any extern variable/procedure which is IsExportQualified.
1687 * gm2-compiler/M2Comp.mod (qprintLibName): New procedure.
1688 * gm2-compiler/M2Graph.mod (resolveImports): Add libname.
1689 * gm2-compiler/M2Options.def (SetM2Prefix): New procedure.
1690 (GetM2Prefix): New procedure function.
1691 (SetM2PathName): New procedure.
1692 (GetM2PathName): New procedure function.
1693 * gm2-compiler/M2Options.mod: (SetM2Prefix): New procedure implemented.
1694 (GetM2Prefix): New procedure function implemented.
1695 (SetM2PathName): New procedure implemented.
1696 (GetM2PathName): New procedure function implemented.
1697 (RuntimeModuleOverride): Set to DefaultRuntimeModuleOverride.
1698 * gm2-compiler/M2Quads.mod: Import GetLibName.
1699 (SafeRequestSym) Pass result of GetLibName to RequestDependant.
1700 (callRequestDependant): Add libname as a parameter.
1701 (BuildM2InitFunction): Add libname as a parameter.
1702 (BuildM2FiniFunction): Add libname as a parameter.
1703 (BuildM2CtorFunction): Add libname as a parameter.
1704 * gm2-compiler/M2Scaffold.mod (LookupModuleSym): Set LibName
1705 if a definition source was found.
1706 * gm2-compiler/M2Search.def (FindSourceFile): Add named library parameter.
1707 (FindSourceDefFile): Add named library parameter.
1708 (FindSourceModFile): Add named library parameter.
1709 * gm2-compiler/M2Search.mod (FindSourceFile): Reimplement.
1710 (FindSourceDefFile): Add named library parameter.
1711 (FindSourceModFile): Add named library parameter.
1712 * gm2-compiler/SymbolTable.def (MakeProcedureCtorExtern): Add
1713 libname parameter.
1714 (PutLibName): New procedure.
1715 (GetLibName): New procedure function.
1716 * gm2-compiler/SymbolTable.mod (MakeProcedureCtorExtern): Add
1717 libname parameter.
1718 (GenName): Add libname parameter.
1719 (InitCtorFields): Add moduleSym as a parameter.
1720 (PutCtorExtern): Add libname parameter to GenName.
1721 * gm2-gcc/init.cc (_M2_DynamicStringPath_init): Rename function...
1722 (_M2_DynamicPath_init): ...to this.
1723 (_M2_PathName_init): Added.
1724 * gm2-gcc/m2decl.cc (m2decl_DeclareM2linkStaticInitialization):
1725 Add m2pim as the manged component of the exported symbol.
1726 (m2decl_DeclareM2linkForcedModuleInitOrder): Add m2pim mangle prefix.
1727 * gm2-gcc/m2options.h (M2Options_SetM2Prefix): New function.
1728 (M2Options_GetM2Prefix): New function.
1729 (M2Options_SetM2PathName): New function.
1730 (M2Options_GetM2PathName): New function.
1731 * gm2-lang.cc (push_back_Ipath): New function.
1732 (add_one_import_path): New function.
1733 (gm2_langhook_handle_option): Record -I component. Call
1734 SetM2PathName when -fm2-pathname= is seen. Record -fm2-pathnameI
1735 component. Call SetM2Prefix when -fm2-prefix= is seen.
1736 (gm2_langhook_post_options): Iterative over pathname entries
1737 and call SetM2PathName, SetSearchPath as appropriate.
1738 * gm2-libs-iso/M2RTS.def (ConstructModules): Add libname parameter.
1739 (DeconstructModules): Add libname parameter.
1740 (RegisterModule): Add libname parameter.
1741 (RequestDependant): Add libname parameter.
1742 * gm2-libs-iso/M2RTS.mod (ConstructModules): Add libname parameter.
1743 (DeconstructModules): Add libname parameter.
1744 (RegisterModule): Add libname parameter.
1745 (RequestDependant): Add libname parameter.
1746 * gm2-libs-min/M2RTS.def (ConstructModules): Add libname parameter.
1747 (DeconstructModules): Add libname parameter.
1748 (RegisterModule): Add libname parameter.
1749 (RequestDependant): Add libname parameter.
1750 * gm2-libs-min/M2RTS.mod (ConstructModules): Add libname parameter.
1751 (DeconstructModules): Add libname parameter.
1752 (RegisterModule): Add libname parameter.
1753 (RequestDependant): Add libname parameter.
1754 * gm2-libs/M2Dependent.def (ConstructModules): Add libname parameter.
1755 (DeconstructModules): Add libname parameter.
1756 (RegisterModule): Add libname parameter.
1757 (RequestDependant): Add libname parameter.
1758 * gm2-libs/M2Dependent.mod (ConstructModules): Add libname parameter.
1759 (DeconstructModules): Add libname parameter.
1760 (RegisterModule): Add libname parameter.
1761 (RequestDependant): Add libname parameter.
1762 * gm2-libs/M2RTS.def (ConstructModules): Add libname parameter.
1763 (DeconstructModules): Add libname parameter.
1764 (RegisterModule): Add libname parameter.
1765 (RequestDependant): Add libname parameter.
1766 * gm2-libs/M2RTS.mod (ConstructModules): Add libname parameter.
1767 (DeconstructModules): Add libname parameter.
1768 (RegisterModule): Add libname parameter.
1769 (RequestDependant): Add libname parameter.
1770 * gm2-libs/RTint.mod (FindVector): Rename variables.
1771 (initInputVector): Rename variables.
1772 (initOutputVector): Rename variables.
1773 (InitTimeVector): Rename variables.
1774 (FindVectorNo): Rename variables.
1775 (FindPendingVector): Rename variables.
1776 (ReArmTimeVector): Rename variables.
1777 (GetTimeVector): Rename variables.
1778 (AttachVector): Rename variables.
1779 (AttachVector): Rename variables.
1780 (IncludeVector): Rename variables.
1781 (ExcludeVector): Rename variables.
1782 (AddFd): Rename variables.
1783 (AddFd): Rename variables.
1784 (DumpPendingQueue): Rename variables.
1785 (stop): Remove.
1786 (activatePending): Rename variables.
1787 (Listen): Rename variables.
1788 * gm2-libs/libc.def (snprintf): New function.
1789 * gm2-libs/sckt.def: Change all exported identifiers to be
1790 export qualified.
1791 * gm2spec.cc (push_back_Ipath): New function.
1792 (add_m2_I_path): New function.
1793 (lang_specific_driver): Skip -fm2-pathname= and remember pathname.
1794 Skip -I and record the path and current pathname. Call add_m2_I_path.
1795 * lang-specs.h: Replace %{I*} with %{fm2-pathname*}.
1796 * lang.opt (-fm2-pathname=): New entry.
1797 (-fm2-pathname): New entry.
1798 (-fm2-prefix=): New entry.
1799 * mc-boot-ch/GUnixArgs.cc (_M2_UnixArgs_dep): New function.
1800 (_M2_UnixArgs_ctor::_M2_UnixArgs_ctor): New method.
1801 * mc-boot-ch/Glibc.c (libc_snprintf): New function.
1802 * mc-boot-ch/m2rts.h (M2RTS_RequestDependant): Changed prototype.
1803 (M2RTS_RegisterModule): Changed prototype.
1804 * mc-boot/GDynamicStrings.c: Rebuild.
1805 * mc-boot/GFIO.c: Rebuild.
1806 * mc-boot/GIndexing.c: Rebuild.
1807 * mc-boot/GM2Dependent.c: Rebuild.
1808 * mc-boot/GM2Dependent.h: Rebuild.
1809 * mc-boot/GM2EXCEPTION.c: Rebuild.
1810 * mc-boot/GM2RTS.c: Rebuild.
1811 * mc-boot/GM2RTS.h: Rebuild.
1812 * mc-boot/GPushBackInput.c: Rebuild.
1813 * mc-boot/GRTExceptions.c: Rebuild.
1814 * mc-boot/GRTint.c: Rebuild.
1815 * mc-boot/GStdIO.c: Rebuild.
1816 * mc-boot/GStringConvert.c: Rebuild.
1817 * mc-boot/GSysStorage.c: Rebuild.
1818 * mc-boot/Gdecl.c: Rebuild.
1819 * mc-boot/Gkeyc.c: Rebuild.
1820 * mc-boot/Glibc.h: Rebuild.
1821 * mc-boot/GmcComment.c: Rebuild.
1822 * mc-boot/GmcComp.c: Rebuild.
1823 * mc-boot/GmcDebug.c: Rebuild.
1824 * mc-boot/GmcMetaError.c: Rebuild.
1825 * mc-boot/GmcStack.c: Rebuild.
1826 * mc-boot/GnameKey.c: Rebuild.
1827 * mc-boot/GsymbolKey.c: Rebuild.
1828 * pge-boot/GASCII.c: Rebuild.
1829 * pge-boot/GArgs.c: Rebuild.
1830 * pge-boot/GAssertion.c: Rebuild.
1831 * pge-boot/GDebug.c: Rebuild.
1832 * pge-boot/GDynamicStrings.c: Rebuild.
1833 * pge-boot/GFIO.c: Rebuild.
1834 * pge-boot/GIO.c: Rebuild.
1835 * pge-boot/GIndexing.c: Rebuild.
1836 * pge-boot/GLists.c: Rebuild.
1837 * pge-boot/GM2Dependent.c: Rebuild.
1838 * pge-boot/GM2Dependent.h: Rebuild.
1839 * pge-boot/GM2EXCEPTION.c: Rebuild.
1840 * pge-boot/GM2RTS.c: Rebuild.
1841 * pge-boot/GM2RTS.h: Rebuild.
1842 * pge-boot/GNameKey.c: Rebuild.
1843 * pge-boot/GNumberIO.c: Rebuild.
1844 * pge-boot/GOutput.c: Rebuild.
1845 * pge-boot/GPushBackInput.c: Rebuild.
1846 * pge-boot/GRTExceptions.c: Rebuild.
1847 * pge-boot/GSFIO.c: Rebuild.
1848 * pge-boot/GStdIO.c: Rebuild.
1849 * pge-boot/GStorage.c: Rebuild.
1850 * pge-boot/GStrCase.c: Rebuild.
1851 * pge-boot/GStrIO.c: Rebuild.
1852 * pge-boot/GStrLib.c: Rebuild.
1853 * pge-boot/GSymbolKey.c: Rebuild.
1854 * pge-boot/GSysExceptions.c (_M2_SysExceptions_finish): Rename this...
1855 (_M2_SysExceptions_fini): ... to this.
1856 * pge-boot/GSysStorage.c: Rebuild.
1857 (_M2_SysStorage_finish): Rename this...
1858 (_M2_SysStorage_fini): ... to this.
1859 * pge-boot/GUnixArgs.cc: New file.
1860 * pge-boot/Gbnflex.c (_M2_bnflex_finish): Rename this...
1861 (_M2_bnflex_fini): ... to this.
1862 * pge-boot/Gerrno.c (_M2_errno_finish): Rename this...
1863 (_M2_errno_fini): ... to this.
1864 * pge-boot/Glibc.c (libc_snprintf): New function.
1865 * pge-boot/Glibc.h (libc_snprintf): New prototype.
1866 * pge-boot/Gpge.c (_M2_pge_finish): Rename this...
1867 (_M2_pge_fini): ... to this.
1868 * pge-boot/Gtermios.cc (_M2_termios_finish): Rename this...
1869 (_M2_termios_fini): ... to this.
1870 * pge-boot/main.c (_M2_RTExceptions_finish): Rename this...
1871 (_M2_RTExceptions_fini): ... to this.
1872 (_M2_M2EXCEPTION_finish): Rename this...
1873 (_M2_M2EXCEPTION_fini): ... to this.
1874 (_M2_M2RTS_finish): Rename this...
1875 (_M2_M2RTS_fini): ... to this.
1876 (_M2_SysExceptions_finish): Rename this...
1877 (_M2_SysExceptions_fini): ... to this.
1878 (_M2_StrLib_finish): Rename this...
1879 (_M2_StrLib_fini): ... to this.
1880 (_M2_errno_finish): Rename this...
1881 (_M2_errno_fini): ... to this.
1882 (_M2_termios_finish): Rename this...
1883 (_M2_termios_fini): ... to this.
1884 (_M2_IO_finish): Rename this...
1885 (_M2_IO_fini): ... to this.
1886 (_M2_StdIO_finish): Rename this...
1887 (_M2_StdIO_fini): ... to this.
1888 (_M2_Debug_finish): Rename this...
1889 (_M2_Debug_fini): ... to this.
1890 (_M2_SysStorage_finish): Rename this...
1891 (_M2_SysStorage_fini): ... to this.
1892 (_M2_Storage_finish): Rename this...
1893 (_M2_Storage_fini): ... to this.
1894 (_M2_StrIO_finish): Rename this...
1895 (_M2_StrIO_fini): ... to this.
1896 (_M2_DynamicStrings_finish): Rename this...
1897 (_M2_DynamicStrings_fini): ... to this.
1898 (_M2_Assertion_finish): Rename this...
1899 (_M2_Assertion_fini): ... to this.
1900 (_M2_Indexing_finish): Rename this...
1901 (_M2_Indexing_fini): ... to this.
1902 (_M2_NameKey_finish): Rename this...
1903 (_M2_NameKey_fini): ... to this.
1904 (_M2_NumberIO_finish): Rename this...
1905 (_M2_NumberIO_fini): ... to this.
1906 (_M2_PushBackInput_finish): Rename this...
1907 (_M2_PushBackInput_fini): ... to this.
1908 (_M2_SymbolKey_finish): Rename this...
1909 (_M2_SymbolKey_fini): ... to this.
1910 (_M2_UnixArgs_finish): Rename this...
1911 (_M2_UnixArgs_fini): ... to this.
1912 (_M2_FIO_finish): Rename this...
1913 (_M2_FIO_fini): ... to this.
1914 (_M2_SFIO_finish): Rename this...
1915 (_M2_SFIO_fini): ... to this.
1916 (_M2_StrCase_finish): Rename this...
1917 (_M2_StrCase_fini): ... to this.
1918 (_M2_bnflex_finish): Rename this...
1919 (_M2_bnflex_fini): ... to this.
1920 (_M2_Lists_finish): Rename this...
1921 (_M2_Lists_fini): ... to this.
1922 (_M2_Args_finish): Rename this...
1923 (_M2_Args_fini): ... to this.
1924 (_M2_Output_finish): Rename this...
1925 (_M2_Output_fini): ... to this.
1926 (_M2_pge_finish): Rename this...
1927 (_M2_pge_fini): ... to this.
1928 * plugin/m2rte.cc (m2_runtime_error_calls): Change all runtime
1929 procedure names to their name mangled counterparts.
1930 * gm2-libs-iso/wrapsock.c: Removed.
1931 * gm2-libs-iso/wraptime.c: Removed.
1932 * mc-boot/Gpth.h: Removed.
1933 * gm2-compiler/PathName.def: New file.
1934 * gm2-compiler/PathName.mod: New file.
1935 * gm2-compiler/DynamicPath.def: New file.
1936 * gm2-compiler/DynamicPath.mod: New file.
1937
1938 2023-02-06 Gaius Mulley <gaiusmod2@gmail.com>
1939
1940 PR modula2/108135
1941 * gm2-compiler/M2Search.mod (DSdbEnter): Comment out.
1942 (DSdbExit): Comment out.
1943
1944 2023-02-06 Co-Authored by: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1945
1946 PR modula2/107234
1947 * m2pp.cc (m2pp_integer_cst): Use
1948 HOST_WIDE_INT_PRINT_UNSIGNED as the format specifier.
1949
1950 2023-02-06 Gaius Mulley <gaiusmod2@gmail.com>
1951
1952 * gm2-compiler/M2Preprocess.mod (BaseName): Comment out.
1953 * gm2-lang.cc (opt): Remove.
1954 * gm2spec.cc (add_include): Remove.
1955 (full_libraries): Remove.
1956 (concat_option): Remove.
1957
1958 2023-02-03 Gaius Mulley <gaiusmod2@gmail.com>
1959
1960 * Make-lang.in (TEXISRC): Remove m2/images/gnu.eps.
1961 (RSTSRC): Remove m2/images/gnu.eps.
1962 (doc/m2.dvi): Add $(objdir)/m2/images/gnu.eps.
1963 (doc/m2.pdf): Add $(objdir)/m2/images/gnu.eps.
1964 (M2_PDFFILES): New definition.
1965 (m2.install-pdf): New rule.
1966 (m2.pod): Add $(objdir)/m2/images/gnu.eps.
1967 (m2.info): Add $(objdir)/m2/images/gnu.eps.
1968 (m2.html): New rule.
1969 (m2/gpl_v3_without_node.texi): New rule.
1970 (plugin/m2rte$(soext)): Simplify mkinstalldirs.
1971 (cc1gm2$(exeext)): Ditto.
1972 (m2/stage1/cc1gm2$(exeext)): Ditto.
1973 (m2/gm2-gcc/%.o): Ditto.
1974 (m2/gm2-gcc/rtegraph.o): Ditto.
1975 (m2/gm2-gcc/$(SRC_PREFIX)%.h): Ditto.
1976 (m2/mc-boot/$(SRC_PREFIX)%.o):Ditto.
1977 (m2/mc-boot-ch/$(SRC_PREFIX)%.o): Ditto.
1978 (m2/mc-boot/main.o): Ditto.
1979 (m2/gm2-libs-boot/%.o): Ditto.
1980 (m2/gm2-libs-boot/$(SRC_PREFIX)%.h): Ditto.
1981 (m2/gm2-libs-boot/RTcodummy.o): Ditto.
1982 (m2/gm2-libs-boot/wrapc.o): Ditto.
1983 (m2/gm2-libs-boot/M2LINK.o): Ditto.
1984 (m2/gm2-libs-boot/UnixArgs.o): Ditto.
1985 (m2/gm2-libs-boot/choosetemp.o): Ditto.
1986 (m2/gm2-libs-boot/errno.o): Ditto.
1987 (m2/gm2-libs-boot/dtoa.o): Ditto.
1988 (m2/gm2-libs-boot/ldtoa.o): Ditto.
1989 (m2/gm2-libs-boot/termios.o): Ditto.
1990 (m2/gm2-libs-boot/SysExceptions.o): Ditto.
1991 (m2/gm2-libs-boot/SysStorage.o): Ditto.
1992 (m2/gm2-compiler-boot/M2GCCDeclare.o): Ditto.
1993 (m2/gm2-compiler-boot/M2Error.o): Ditto.
1994 (m2/gm2-compiler-boot/%.o): Ditto.
1995 (m2/gm2-compiler-boot/$(SRC_PREFIX)%.h): Ditto.
1996 (m2/gm2-compiler-boot/m2flex.o): Ditto.
1997 (m2/gm2-compiler/m2flex.c): Ditto.
1998 (m2/gm2-libiberty/$(SRC_PREFIX)%.h): Ditto.
1999 (m2/gm2-compiler/%.o): Ditto.
2000 (m2/gm2-compiler/m2flex.o): Ditto.
2001 (m2/gm2-compiler/%.o): Ditto.
2002 (m2/gm2-libs-iso/%.o): Ditto.
2003 (m2/gm2-libs/gm2-libs-host.h): Ditto.
2004 ($(objdir)/m2/gm2-libs-min/SYSTEM.def): Ditto.
2005 ($(objdir)/m2/gm2-libs/SYSTEM.def): Ditto.
2006 ($(objdir)/m2/gm2-libs-iso/SYSTEM.def): Ditto.
2007 ($(objdir)/m2/gm2-libs-coroutines/SYSTEM.def): Ditto.
2008 (m2/gm2-compiler/gm2.a): Ditto.
2009 (m2/gm2-libs-boot/libgm2.a): Ditto.
2010 (m2/gm2-compiler-boot/gm2.a): Ditto.
2011 (m2/boot-bin/mklink$(exeext)): Ditto.
2012 (m2/gm2-compiler-boot/$(SRC_PREFIX)%.h): Ditto.
2013 (m2/gm2-compiler/%.mod): Ditto.
2014 (m2/gm2-compiler-boot/%.mod): Ditto.
2015 (m2/pge-boot/%.o): Ditto.
2016
2017 2023-02-01 Gaius Mulley <gaiusmod2@gmail.com>
2018
2019 * Make-lang.in (GM2_FLAGS): Add -fno-return -Wreturn-type.
2020 (GM2_ISO_FLAGS): Add -fno-return -Wreturn-type.
2021 * Make-maintainer.in (GM2PATH): Split into separate -I components.
2022 (MC-LIB-DEFS): Add RTentity.def.
2023 (m2/boot-bin/mc-devel$(exeext)): Changed -I$(GM2PATH) to
2024 $(GM2PATH).
2025 (m2/boot-bin/mc-opt$(exeext)): Separate -I paths.
2026 (m2/mc/decl.o): Separate -I paths.
2027 (gm2-bootstrap): Separate -I paths.
2028 (m2/mc-boot-gen/$(SRC_PREFIX)%.h): Separate -I paths.
2029 (m2/mc-boot-gen/$(SRC_PREFIX)decl.c): Separate -I paths.
2030 (m2/mc-boot-gen/$(SRC_PREFIX)%.c): Separate -I paths.
2031 (gm2.verifyparanoid): Separate -I paths.
2032 (gm2.verifystage12): Separate -I paths.
2033 * gm2-compiler/M2ALU.mod (GetConstructorElement): Add default
2034 Return NulSym. Remove return from the error case.
2035 * gm2-compiler/M2Base.mod (ComplexToScalar): Return RType
2036 from the error case.
2037 (MixMetaTypes): Return MakeError as a default.
2038 * gm2-compiler/M2GCCDeclare.mod (GetTypeMin): Return NulSym
2039 from the error case.
2040 (GetTypeMax): Return NulSym from the error case.
2041 * gm2-compiler/M2GenGCC.mod (IsExportedGcc): Replace Assert
2042 by InternalError.
2043 * gm2-compiler/M2Quads.mod (GetItemPointedTo): Add InternalError.
2044 (GetTypeMin): Add InternalError.
2045 (GetTypeMax): Add InternalError.
2046 * gm2-compiler/M2System.mod (InitSystem): Call
2047 PutProcedureNoReturn on Throw.
2048 * gm2-gcc/m2except.cc (m2except_InitExceptions): fn_throw_tree
2049 declare as noreturn. fn_rethrow_tree declare as noreturn.
2050 * gm2-libs-coroutines/Debug.def (Halt): Add noreturn attribute.
2051 * gm2-libs-coroutines/SYSTEM.def (THROW): Add noreturn attribute.
2052 * gm2-libs-iso/ClientSocket.mod (dorbytes): Add return FALSE.
2053 * gm2-libs-iso/EXCEPTIONS.def (RAISE): Add noreturn attribute.
2054 * gm2-libs-iso/IOLink.def (RAISEdevException): Add noreturn attribute.
2055 * gm2-libs-iso/M2RTS.def (HALT): Add noreturn attribute.
2056 (Halt): Ditto.
2057 (HaltC): Ditto.
2058 (ErrorMessage): Ditto.
2059 (AssignmentException): Ditto.
2060 (ReturnException): Ditto.
2061 (IncException): Ditto.
2062 (DecException): Ditto.
2063 (InclException): Ditto.
2064 (ExclException): Ditto.
2065 (ShiftException): Ditto.
2066 (RotateException): Ditto.
2067 (StaticArraySubscriptException): Ditto.
2068 (DynamicArraySubscriptException): Ditto.
2069 (ForLoopBeginException): Ditto.
2070 (ForLoopToException): Ditto.
2071 (ForLoopEndException): Ditto.
2072 (PointerNilException): Ditto.
2073 (NoReturnException): Ditto.
2074 (CaseException): Ditto.
2075 (WholeNonPosDivException): Ditto.
2076 (WholeNonPosModException): Ditto.
2077 (WholeZeroDivException): Ditto.
2078 (WholeZeroRemException): Ditto.
2079 (WholeValueException): Ditto.
2080 (RealValueException): Ditto.
2081 (ParameterException): Ditto.
2082 (NoException): Ditto.
2083 * gm2-libs-iso/SYSTEM.def (THROW): Ditto.
2084 * gm2-libs-iso/TermFile.mod (dorbytes): Add default return FALSE.
2085 * gm2-libs-min/M2RTS.def: Add noreturn attribute.
2086 * gm2-libs/FIO.mod (BufferedRead): Return -1.
2087 (getFileName): Return NIL.
2088 (getFileNameLength): Return 0.
2089 * gm2-libs/M2RTS.def (HaltC): Add noreturn attribute.
2090 (AssignmentException): Ditto.
2091 (ReturnException): Ditto.
2092 (IncException): Ditto.
2093 (DecException): Ditto.
2094 (InclException): Ditto.
2095 (ExclException): Ditto.
2096 (ShiftException): Ditto.
2097 (RotateException): Ditto.
2098 (StaticArraySubscriptException): Ditto.
2099 (DynamicArraySubscriptException): Ditto.
2100 (ForLoopBeginException): Ditto.
2101 (ForLoopToException): Ditto.
2102 (ForLoopEndException): Ditto.
2103 (PointerNilException): Ditto.
2104 (NoReturnException): Ditto.
2105 (CaseException): Ditto.
2106 (WholeNonPosDivException): Ditto.
2107 (WholeNonPosModException): Ditto.
2108 (WholeZeroDivException): Ditto.
2109 (WholeZeroRemException): Ditto.
2110 (WholeValueException): Ditto.
2111 (RealValueException): Ditto.
2112 (ParameterException): Ditto.
2113 (NoException): Ditto.
2114 * gm2-libs/RTExceptions.def (Raise): Ditto.
2115 * gm2-libs/RTExceptions.mod (InvokeHandler): Ditto.
2116 * gm2-libs/SYSTEM.def (THROW): Ditto.
2117 * m2.flex (_M2_m2flex_fini): Remamed to...
2118 (_M2_m2flex_finish): ...here.
2119 * mc-boot-ch/GBuiltins.c (_M2_Builtins_finish): Remamed to...
2120 (_M2_Builtins_fini): ...this.
2121 * mc-boot-ch/GRTco.c (_M2_RTco_finish): Remamed to...
2122 (_M2_RTco_fini): ...this.
2123 * mc-boot-ch/GSYSTEM.c (_M2_SYSTEM_finish): Remamed to...
2124 (_M2_SYSTEM_fini): ...this.
2125 * mc-boot-ch/GSelective.c (_M2_Selective_finish): Remamed to...
2126 (_M2_Selective_fini): ...this.
2127 * mc-boot-ch/GSysExceptions.c (_M2_SysExceptions_init): Add
2128 parameters.
2129 (_M2_SysExceptions_finish): Remamed to...
2130 (_M2_SysExceptions_fini): ...this.
2131 * mc-boot-ch/GUnixArgs.cc (_M2_UnixArgs_finish): Remamed to...
2132 (_M2_UnixArgs_fini): ...this.
2133 (_M2_UnixArgs_ctor::_M2_UnixArgs_ctor): Change parameter
2134 to _M2_UnixArgs_fini.
2135 * mc-boot-ch/Gdtoa.c (_M2_dtoa_finish): Remamed to...
2136 (_M2_dtoa_fini): ...this.
2137 * mc-boot-ch/Gerrno.c (_M2_errno_finish): Remamed to...
2138 (_M2_errno_fini): ...this.
2139 * mc-boot-ch/Gldtoa.c (_M2_ldtoa_finish): Remamed to...
2140 (_M2_ldtoa_fini): ...this.
2141 * mc-boot-ch/Gtermios.cc (_M2_termios_init): Add parameters.
2142 (_M2_termios_finish): Remamed to...
2143 (_M2_termios_fini): ...this.
2144 * mc-boot-ch/Gwrapc.c (_M2_wrapc_init): Add parameters.
2145 (_M2_wrapc_finish): Remamed to...
2146 (_M2_wrapc_fini): ...this.
2147 * mc-boot/GASCII.c: Rebuild.
2148 * mc-boot/GArgs.c: Rebuild.
2149 * mc-boot/GAssertion.c: Rebuild.
2150 * mc-boot/GBreak.c: Rebuild.
2151 * mc-boot/GCmdArgs.c: Rebuild.
2152 * mc-boot/GDebug.c: Rebuild.
2153 * mc-boot/GDynamicStrings.c: Rebuild.
2154 * mc-boot/GEnvironment.c: Rebuild.
2155 * mc-boot/GFIO.c: Rebuild.
2156 * mc-boot/GFormatStrings.c: Rebuild.
2157 * mc-boot/GFpuIO.c: Rebuild.
2158 * mc-boot/GIO.c: Rebuild.
2159 * mc-boot/GIndexing.c: Rebuild.
2160 * mc-boot/GM2Dependent.c: Rebuild.
2161 * mc-boot/GM2EXCEPTION.c: Rebuild.
2162 * mc-boot/GM2RTS.c: Rebuild.
2163 * mc-boot/GM2RTS.h: Rebuild.
2164 * mc-boot/GMemUtils.c: Rebuild.
2165 * mc-boot/GNumberIO.c: Rebuild.
2166 * mc-boot/GPushBackInput.c: Rebuild.
2167 * mc-boot/GRTExceptions.c: Rebuild.
2168 * mc-boot/GRTExceptions.h: Rebuild.
2169 * mc-boot/GRTco.h: Rebuild.
2170 * mc-boot/GRTint.c: Rebuild.
2171 * mc-boot/GSArgs.c: Rebuild.
2172 * mc-boot/GSFIO.c: Rebuild.
2173 * mc-boot/GStdIO.c: Rebuild.
2174 * mc-boot/GStorage.c: Rebuild.
2175 * mc-boot/GStrCase.c: Rebuild.
2176 * mc-boot/GStrIO.c: Rebuild.
2177 * mc-boot/GStrLib.c: Rebuild.
2178 * mc-boot/GStringConvert.c: Rebuild.
2179 * mc-boot/GSysStorage.c: Rebuild.
2180 * mc-boot/GTimeString.c: Rebuild.
2181 * mc-boot/Galists.c: Rebuild.
2182 * mc-boot/Gdecl.c: Rebuild.
2183 * mc-boot/Gkeyc.c: Rebuild.
2184 * mc-boot/Glists.c: Rebuild.
2185 * mc-boot/GmcComment.c: Rebuild.
2186 * mc-boot/GmcComp.c: Rebuild.
2187 * mc-boot/GmcDebug.c: Rebuild.
2188 * mc-boot/GmcError.c: Rebuild.
2189 * mc-boot/GmcFileName.c: Rebuild.
2190 * mc-boot/GmcLexBuf.c: Rebuild.
2191 * mc-boot/GmcMetaError.c: Rebuild.
2192 * mc-boot/GmcOptions.c: Rebuild.
2193 * mc-boot/GmcPreprocess.c: Rebuild.
2194 * mc-boot/GmcPretty.c: Rebuild.
2195 * mc-boot/GmcPrintf.c: Rebuild.
2196 * mc-boot/GmcQuiet.c: Rebuild.
2197 * mc-boot/GmcReserved.c: Rebuild.
2198 * mc-boot/GmcSearch.c: Rebuild.
2199 * mc-boot/GmcStack.c: Rebuild.
2200 * mc-boot/GmcStream.c: Rebuild.
2201 * mc-boot/Gmcp1.c: Rebuild.
2202 * mc-boot/Gmcp2.c: Rebuild.
2203 * mc-boot/Gmcp3.c: Rebuild.
2204 * mc-boot/Gmcp4.c: Rebuild.
2205 * mc-boot/Gmcp5.c: Rebuild.
2206 * mc-boot/GnameKey.c: Rebuild.
2207 * mc-boot/GsymbolKey.c: Rebuild.
2208 * mc-boot/Gtop.c: Rebuild.
2209 * mc-boot/Gvarargs.c: Rebuild.
2210 * mc-boot/Gwlists.c: Rebuild.
2211 * mc-boot/GRTentity.h: New file.
2212 * mc/decl.mod (scaffoldStatic): Change _finish to _fini.
2213 * mc/mc.flex (_M2_mcflex_fini): New function.
2214 (_M2_mcflex_finish): Remove function.
2215 * tools-src/mklink.c (GenerateFinishCalls): Change
2216 _finish to _fini.
2217 (GeneratePrototypes): Change _finish to _fini.
2218
2219 2023-01-31 Gaius Mulley <gaiusmod2@gmail.com>
2220
2221 * Make-lang.in (gm2-libs.texi-check): Rename
2222 m2/gm2-libs-pim to m2/gm2-libs-log.
2223 * gm2-libs-pim/BitBlockOps.def: Moved to...
2224 * gm2-libs-log/BitBlockOps.def: ...here.
2225 * gm2-libs-pim/BitBlockOps.mod: Moved to...
2226 * gm2-libs-log/BitBlockOps.mod: ...here.
2227 * gm2-libs-pim/BitByteOps.def: Moved to...
2228 * gm2-libs-log/BitByteOps.def: ...here.
2229 * gm2-libs-pim/BitByteOps.mod: Moved to...
2230 * gm2-libs-log/BitByteOps.mod: ...here.
2231 * gm2-libs-pim/BitWordOps.def: Moved to...
2232 * gm2-libs-log/BitWordOps.def: ...here.
2233 * gm2-libs-pim/BitWordOps.mod: Moved to...
2234 * gm2-libs-log/BitWordOps.mod: ...here.
2235 * gm2-libs-pim/BlockOps.def: Moved to...
2236 * gm2-libs-log/BlockOps.def: ...here.
2237 * gm2-libs-pim/BlockOps.mod: Moved to...
2238 * gm2-libs-log/BlockOps.mod: ...here.
2239 * gm2-libs-pim/Break.c: Moved to...
2240 * gm2-libs-log/Break.c: ...here.
2241 * gm2-libs-pim/Break.def: Moved to...
2242 * gm2-libs-log/Break.def: ...here.
2243 * gm2-libs-pim/CardinalIO.def: Moved to...
2244 * gm2-libs-log/CardinalIO.def: ...here.
2245 * gm2-libs-pim/CardinalIO.mod: Moved to...
2246 * gm2-libs-log/CardinalIO.mod: ...here.
2247 * gm2-libs-pim/Conversions.def: Moved to...
2248 * gm2-libs-log/Conversions.def: ...here.
2249 * gm2-libs-pim/Conversions.mod: Moved to...
2250 * gm2-libs-log/Conversions.mod: ...here.
2251 * gm2-libs-pim/DebugPMD.def: Moved to...
2252 * gm2-libs-log/DebugPMD.def: ...here.
2253 * gm2-libs-pim/DebugPMD.mod: Moved to...
2254 * gm2-libs-log/DebugPMD.mod: ...here.
2255 * gm2-libs-pim/DebugTrace.def: Moved to...
2256 * gm2-libs-log/DebugTrace.def: ...here.
2257 * gm2-libs-pim/DebugTrace.mod: Moved to...
2258 * gm2-libs-log/DebugTrace.mod: ...here.
2259 * gm2-libs-pim/Delay.def: Moved to...
2260 * gm2-libs-log/Delay.def: ...here.
2261 * gm2-libs-pim/Delay.mod: Moved to...
2262 * gm2-libs-log/Delay.mod: ...here.
2263 * gm2-libs-pim/Display.def: Moved to...
2264 * gm2-libs-log/Display.def: ...here.
2265 * gm2-libs-pim/Display.mod: Moved to...
2266 * gm2-libs-log/Display.mod: ...here.
2267 * gm2-libs-pim/ErrorCode.def: Moved to...
2268 * gm2-libs-log/ErrorCode.def: ...here.
2269 * gm2-libs-pim/ErrorCode.mod: Moved to...
2270 * gm2-libs-log/ErrorCode.mod: ...here.
2271 * gm2-libs-pim/FileSystem.def: Moved to...
2272 * gm2-libs-log/FileSystem.def: ...here.
2273 * gm2-libs-pim/FileSystem.mod: Moved to...
2274 * gm2-libs-log/FileSystem.mod: ...here.
2275 * gm2-libs-pim/FloatingUtilities.def: Moved to...
2276 * gm2-libs-log/FloatingUtilities.def: ...here.
2277 * gm2-libs-pim/FloatingUtilities.mod: Moved to...
2278 * gm2-libs-log/FloatingUtilities.mod: ...here.
2279 * gm2-libs-pim/InOut.def: Moved to...
2280 * gm2-libs-log/InOut.def: ...here.
2281 * gm2-libs-pim/InOut.mod: Moved to...
2282 * gm2-libs-log/InOut.mod: ...here.
2283 * gm2-libs-pim/Keyboard.def: Moved to...
2284 * gm2-libs-log/Keyboard.def: ...here.
2285 * gm2-libs-pim/Keyboard.mod: Moved to...
2286 * gm2-libs-log/Keyboard.mod: ...here.
2287 * gm2-libs-pim/LongIO.def: Moved to...
2288 * gm2-libs-log/LongIO.def: ...here.
2289 * gm2-libs-pim/LongIO.mod: Moved to...
2290 * gm2-libs-log/LongIO.mod: ...here.
2291 * gm2-libs-pim/NumberConversion.def: Moved to...
2292 * gm2-libs-log/NumberConversion.def: ...here.
2293 * gm2-libs-pim/NumberConversion.mod: Moved to...
2294 * gm2-libs-log/NumberConversion.mod: ...here.
2295 * gm2-libs-pim/README.texi: Moved to...
2296 * gm2-libs-log/README.texi: ...here.
2297 * gm2-libs-pim/Random.def: Moved to...
2298 * gm2-libs-log/Random.def: ...here.
2299 * gm2-libs-pim/Random.mod: Moved to...
2300 * gm2-libs-log/Random.mod: ...here.
2301 * gm2-libs-pim/RealConversions.def: Moved to...
2302 * gm2-libs-log/RealConversions.def: ...here.
2303 * gm2-libs-pim/RealConversions.mod: Moved to...
2304 * gm2-libs-log/RealConversions.mod: ...here.
2305 * gm2-libs-pim/RealInOut.def: Moved to...
2306 * gm2-libs-log/RealInOut.def: ...here.
2307 * gm2-libs-pim/RealInOut.mod: Moved to...
2308 * gm2-libs-log/RealInOut.mod: ...here.
2309 * gm2-libs-pim/Strings.def: Moved to...
2310 * gm2-libs-log/Strings.def: ...here.
2311 * gm2-libs-pim/Strings.mod: Moved to...
2312 * gm2-libs-log/Strings.mod: ...here.
2313 * gm2-libs-pim/Termbase.def: Moved to...
2314 * gm2-libs-log/Termbase.def: ...here.
2315 * gm2-libs-pim/Termbase.mod: Moved to...
2316 * gm2-libs-log/Termbase.mod: ...here.
2317 * gm2-libs-pim/Terminal.def: Moved to...
2318 * gm2-libs-log/Terminal.def: ...here.
2319 * gm2-libs-pim/Terminal.mod: Moved to...
2320 * gm2-libs-log/Terminal.mod: ...here.
2321 * gm2-libs-pim/TimeDate.def: Moved to...
2322 * gm2-libs-log/TimeDate.def: ...here.
2323 * gm2-libs-pim/TimeDate.mod: Moved to...
2324 * gm2-libs-log/TimeDate.mod: ...here.
2325
2326 2023-01-28 Iain Sandoe <iain@sandoe.co.uk>
2327
2328 * lang.opt: Claim Wreturn-type.
2329
2330 2023-01-27 Gaius Mulley <gaiusmod2@gmail.com>
2331
2332 * gm2-compiler/M2Comp.mod: Import MetaString0.
2333 (ExamineCompilationUnit): New variable Message.
2334 Create and format error string.
2335 * gm2-compiler/M2LexBuf.mod: New variable SeenEof.
2336 (GetNonEofToken): New procedure.
2337 (Init): Set SeenEof to FALSE.
2338 (GetToken): Use GetNonEofToken instead of calls to
2339 m2flex.GetToken and GetToken.
2340 (AddTok): Detect eoftok and set SeenEof.
2341
2342 2023-01-27 Gaius Mulley <gaiusmod2@gmail.com>
2343
2344 * gm2-compiler/M2Options.def: Export GetMQ, SetMQ.
2345 * gm2-compiler/M2Preprocess.mod: (MakeSaveTempsFileName):
2346 Test NewDir against NIL. Test Dumpdir against NIL.
2347 Test GetMD () against NIL. Test GetMMD () against NIL.
2348 Test GetMQ () against NIL. Test GetObj () against NIL.
2349 Test tempfile against NIL.
2350 * gm2-compiler/P2SymBuild.def: Export
2351 BuildNoReturnAttribute.
2352
2353 2023-01-27 Iain Sandoe <iain@sandoe.co.uk>
2354
2355 PR modula2/108555
2356 PR modula2/108182
2357 PR modula2/102343
2358 * gm2-lang.cc (gm2_langhook_option_lang_mask): Do not claim CL_C
2359 or CL_DRIVER.
2360 (gm2_langhook_init_options): Handle options that we want to pass
2361 to the preprocessor.
2362 * lang-specs.h: Pass -B and -save-temps to regular compile lines.
2363 * lang.opt: Add C and Driver options that Modula-2 intercepts for
2364 internal use. Reorder options into two sections and to collate.
2365
2366 2023-01-26 Gaius Mulley <gaiusmod2@gmail.com>
2367
2368 * gm2-compiler/M2GCCDeclare.mod: Import IsProcedureNoReturn.
2369 (DeclareProcedureToGccWholeProgram): New variable declared and set
2370 returnType. Pass returnType to BuildEndFunctionDeclaration.
2371 Extra parameter IsProcedureNoReturn passed to
2372 BuildEndFunctionDeclaration.
2373 * gm2-compiler/M2Quads.mod (BuildM2MainFunction): Correct
2374 scaffold comment and add extra return 0.
2375 * gm2-compiler/P2Build.bnf: Import BuildNoReturnAttribute.
2376 (ProcedureHeading): Process EndBuildFormalParameters before
2377 parsing AttributeNoReturn.
2378 (DefProcedureHeading): Process EndBuildFormalParameters before
2379 parsing AttributeNoReturn.
2380 (AttributeNoReturn): Call BuildNoReturnAttribute.
2381 * gm2-compiler/P2SymBuild.def (BuildNoReturnAttribute): New
2382 procedure.
2383 * gm2-compiler/P2SymBuild.mod (BuildNoReturnAttribute): New
2384 procedure.
2385 * gm2-compiler/SymbolTable.def (PutProcedureInline): Corrected
2386 comment.
2387 (PutProcedureNoReturn): New procedure.
2388 (IsProcedureNoReturn): New procedure function.
2389 * gm2-compiler/SymbolTable.mod (SymProcedure): IsNoReturn
2390 new field.
2391 (MakeProcedure): Initialize IsNoReturn to FALSE.
2392 (PutProcedureNoReturn): New procedure.
2393 (IsProcedureNoReturn): New procedure function.
2394 * gm2-gcc/m2decl.cc (m2decl_BuildEndFunctionDeclaration):
2395 Add extra parameter isnoreturn. Set TREE_THIS_VOLATILE
2396 to isnoreturn.
2397 * gm2-gcc/m2decl.def (BuildEndFunctionDeclaration): Add
2398 extra parameter isnoreturn.
2399 * gm2-gcc/m2decl.h (m2decl_BuildEndFunctionDeclaration): Add
2400 extra parameter isnoreturn.
2401 * gm2-gcc/m2except.cc (m2except_InitExceptions): Change all
2402 function decl to pass an extra parameter isnoreturn.
2403
2404 2023-01-26 Gaius Mulley <gaiusmod2@gmail.com>
2405
2406 * m2.flex (splitSlashStar): Fix comment so that /* does not
2407 appear inside the comment.
2408
2409 2023-01-26 Iain Sandoe <iain@sandoe.co.uk>
2410
2411 PR modula2/108553
2412 * gm2-lang.cc (gm2_langhook_init_options): Remove debug code.
2413
2414 2023-01-26 Gaius Mulley <gaiusmod2@gmail.com>
2415
2416 * Make-lang.in (m2/gm2config.h): Rewrite rule to be
2417 dependent upon m2/gm2config.aci.
2418 (m2/gm2config.aci): Newrule.
2419 * configure.ac (AC_CONFIG_HEADERS): Change destination
2420 to gm2config.aci.
2421 * configure: Regenerate.
2422 * gm2-libs/config-host: Regenerate.
2423 * gm2-compiler/M2GCCDeclare.mod (AddSymToWatch): Comment
2424 out.
2425 * gm2-compiler/M2Quads.mod (BuildConstHighFromSym): Remove
2426 Dim.
2427 (StartBuildWith): Call BuildStmtNoteTok.
2428 (BuildStmtNoteTok): New procedure.
2429 (BuildStmtNote): Re-implement re-factor into two
2430 procedures and call BuildStmtNoteTok.
2431 * gm2config.h.in: Remove.
2432 * gm2config.aci.in: New file.
2433
2434 2023-01-25 Iain Sandoe <iain@sandoe.co.uk>
2435
2436 PR modula2/102343
2437 PR modula2/108182
2438 * gm2-compiler/M2Comp.mod: Early exit for pre-processor-only jobs.
2439 * gm2-compiler/M2Options.def (SetPPOnly, GetPPOnly, SetMD, GetMD,
2440 SetMMD, GetMMD, SetMQ, GetMQ, SetObj, GetObj, SetDumpDir,
2441 GetDumpDir):New.
2442 * gm2-compiler/M2Options.mod:(SetPPOnly, GetPPOnly, SetMD, GetMD,
2443 SetMMD, GetMMD, SetMQ, GetMQ, SetObj, GetObj, SetDumpDir,
2444 GetDumpDir):New.
2445 * gm2-compiler/M2Preprocess.def (PreprocessModule): Add flag to
2446 indicate the main file.
2447 * gm2-compiler/M2Preprocess.mod: Handle Preprocess-only jobs,
2448 handle MD, MMD and MQ options.
2449 * gm2-gcc/m2options.h (M2Options_SetPPOnly, M2Options_GetPPOnly,
2450 M2Options_SetDumpDir, M2Options_SetMD, M2Options_GetMD,
2451 M2Options_SetMMD, M2Options_GetMMD, M2Options_SetMQ, M2Options_GetMQ,
2452 M2Options_SetObj, M2Options_GetObj): New.
2453 * gm2-gcc/m2type.cc (m2type_InitBaseTypes): Early exit for pre-
2454 processor-only jobs.
2455 * gm2-lang.cc (gm2_langhook_init): Handle preprocess-only commands.
2456 (gm2_langhook_option_lang_mask): Claim C and Driver options so that
2457 we can intercept them for building pre-processor commands.
2458 (gm2_langhook_init_options): Collect the preprocessor line here.
2459 Save options that have different actions for preprocessor and compile
2460 commands.
2461 (gm2_langhook_handle_option): Only handle the modula-2 options here.
2462 (gm2_langhook_post_options): Do not create a back-end for pre-
2463 processor-only jobs.
2464 * gm2spec.cc (lang_specific_driver): Ignore PCH options, append a
2465 scaffold-main for cases where we are building a main module with
2466 -c.
2467 * lang-specs.h: Revise to handle preprocessor-only jobs and to
2468 consume pre-processed files.
2469 * lang.opt: Remove Driver and C options copies (we claim these
2470 separately).
2471
2472 2023-01-24 Co-Authored by: Iain Sandoe <iain@sandoe.co.uk>
2473
2474 * Make-lang.in (GM2-COMP-BOOT-DEFS): Add
2475 DynamicStringPath.def.
2476 (GM2-COMP-BOOT-MODS): Add DynamicStringPath.mod.
2477 (GM2-COMP-DEFS): Add DynamicStringPath.def.
2478 (GM2-COMP-MODS): Add DynamicStringPath.mod.
2479 ($(objdir)/m2/gm2-libs-min/SYSTEM.def): Split path into
2480 multiple -I components.
2481 ($(objdir)/m2/gm2-libs/SYSTEM.def): Ditto.
2482 ($(objdir)/m2/gm2-libs-coroutines/SYSTEM.def): Ditto.
2483 * gm2-compiler/M2Options.mod: Import DynamicStringPath.
2484 (SetSearchPath): Reimplement using DynamicStringPath
2485 procedures.
2486 * gm2-compiler/M2Search.def (InitSearchPath): Remove.
2487 (PrependSearchPath): Remove.
2488 * gm2-compiler/M2Search.mod (SFIO): Remove import.
2489 (DynamicStringPath): Add import.
2490 (Directory): Remove.
2491 (UserPath): Remove.
2492 (InitialPath): Remove.
2493 (InitSearchPath): Remove.
2494 (PrependSearchPath): Remove.
2495 (FindSourceFile): Re-implement.
2496 (FindSourceDefFile): Re-implement.
2497 (FindSourceModFile): Re-implement.
2498 * gm2-gcc/init.cc (_M2_DynamicStringPath_init):
2499 New prototype.
2500 (init_FrontEndInit): Call _M2_DynamicStringPath_init.
2501 * tools-src/makeSystem: Allow multiple -I paths.
2502 * gm2-compiler/DynamicStringPath.def: New file.
2503 * gm2-compiler/DynamicStringPath.mod: New file.
2504 * gm2-gcc/m2options.h (M2Options_SetMakeIncludePath): Add
2505 prototype.
2506
2507 2023-01-24 Gaius Mulley <gaiusmod2@gmail.com>
2508
2509 * m2.flex (cpreprocessor): Add temporary variable
2510 which is initialized to 0.
2511 (commentCLevel): New variable.
2512 (endOfCComment): New function.
2513 (splitSlashStar): New function to split /* into / and *
2514 tokens.
2515 (COMMENTC): New flex state.
2516 ("/*"): New rule to test whether we should treat /*
2517 as a single token or as two tokens.
2518 (<COMMENTC>.): New rule to skip a character.
2519 (<COMMENTC>\n.*): New rule to consume the line.
2520 (<COMMENTC>"*/"): New rule to call endOfCComment.
2521
2522 2023-01-24 Gaius Mulley <gaiusmod2@gmail.com>
2523
2524 * gm2-libs-iso/RTco.def: Import RTentity.
2525 Declare RTco as a definition for C module.
2526
2527 2023-01-23 Iain Sandoe <iain@sandoe.co.uk>
2528
2529 PR modula2/108182
2530 PR modula2/108480
2531 * Make-lang.in: Pass libsubdir to the language init
2532 build.
2533 * gm2-lang.cc (INCLUDE_VECTOR): Define.
2534 (add_one_import_path): New.
2535 (add_m2_import_paths): New.
2536 (gm2_langhook_post_options): Arrange to add the include
2537 paths (and add the system ones) in the same order as C
2538 uses.
2539 * gm2spec.cc (build_archive_path): Remove.
2540 (add_default_combination): Remove.
2541 (add_default_archives): Remove.
2542 (add_default_libs): We no longer need a '-L' option, just
2543 emit the -l and each library in use.
2544 (build_include_path): Remove.
2545 (add_include): Remove.
2546 (add_default_includes): Remove.
2547 (library_installed): Remove.
2548 (check_valid_library): Remove.
2549 (check_valid_list): Remove.
2550 (convert_abbreviation): Diagnose unhandled cases.
2551 (lang_specific_driver): Skip options where we will add back
2552 a validated version.
2553 * lang-specs.h (M2CPP): Reformat, append %I when -fcpp is not
2554 in use. Revise the cc1gm2 spec to omit mentioning options that
2555 are handled in the c pre-processor line.
2556 * lang.opt: Allow preprocessing and path options as input to the
2557 cc1gm2 invocation, so that they can be passed to the preprocessor
2558 invocation.
2559
2560 2023-01-23 Iain Sandoe <iain@sandoe.co.uk>
2561
2562 PR modula2/108405
2563 * gm2-libs-iso/Preemptive.mod (initPreemptive): Use a value for
2564 extra space that is divisible by common OS pagesizes.
2565
2566 2023-01-20 Gaius Mulley <gaiusmod2@gmail.com>
2567
2568 * gm2-libs/Args.mod (GetArg): Check index before
2569 accessing array.
2570 * gm2-libs/M2Dependent.mod (toCString): Check index
2571 before accessing array.
2572 * mc-boot/GArgs.c: Rebuilt.
2573 * mc-boot/GM2Dependent.c: Rebuilt.
2574 * mc-boot/Gkeyc.c: Rebuilt.
2575 * mc/keyc.mod (seenUIntMin): Initialize once.
2576 (seenUIntMax): Initialize once.
2577 (checkLimits): Only test seenUIntMin and seenUIntMax
2578 once.
2579 * pge-boot/GArgs.c: Rebuilt.
2580 * pge-boot/GM2Dependent.c: Rebuilt.
2581
2582 2023-01-20 Gaius Mulley <gaiusmod2@gmail.com>
2583
2584 * gm2-gcc/m2statement.cc (gm2_gimplify_function_node):
2585 Remove.
2586 * gm2-libs/DynamicStrings.mod (Equal): Remove dead code.
2587 * m2.flex (<COMMENT>"<*"): Add {} for else statement.
2588 * m2pp.cc (hextree): Add conditional #ifdef DEBUGGING.
2589 * mc-boot/GDynamicStrings.c: Rebuild.
2590 * pge-boot/GDynamicStrings.c: Rebuild.
2591 * pge-boot/GFIO.c: Rebuild.
2592 * pge-boot/GIndexing.c: Rebuild.
2593 * pge-boot/GM2EXCEPTION.c: Rebuild.
2594 * pge-boot/GM2RTS.c: Rebuild.
2595 * pge-boot/GNameKey.c: Rebuild.
2596 * pge-boot/GPushBackInput.c: Rebuild.
2597 * pge-boot/GRTExceptions.c: Rebuild.
2598 * pge-boot/GStdIO.c: Rebuild.
2599 * pge-boot/GSymbolKey.c: Rebuild.
2600 * pge-boot/GSysStorage.c: Rebuild.
2601
2602 2023-01-17 Gaius Mulley <gaiusmod2@gmail.com>
2603
2604 * mc-boot/GM2RTS.c: Rebuilt.
2605 * mc-boot/GM2RTS.h: Rebuilt.
2606 * mc-boot/Gdecl.c: Rebuilt.
2607 * mc-boot/GmcOptions.c: Rebuilt.
2608 * mc/mcOptions.mod (displayVersion):
2609 Split first printf into three components
2610
2611 2023-01-17 Gaius Mulley <gaiusmod2@gmail.com>
2612
2613 * gm2-libs-iso/M2RTS.def (Halt): Parameter file renamed to filename.
2614 (HaltC): New procedure declaration.
2615 (ErrorMessage): Parameter file renamed to filename.
2616 * gm2-libs-iso/M2RTS.mod (Halt): Parameter file renamed to
2617 filename.
2618 (HaltC): New procedure implementation.
2619 (ErrorStringC): New procedure implementation.
2620 (ErrorMessageC): New procedure implementation.
2621 * gm2-libs/M2RTS.def (Halt): Parameter file renamed to filename.
2622 (HaltC): New procedure declaration.
2623 (ErrorMessage): Parameter file renamed to filename.
2624 * gm2-libs/M2RTS.mod (Halt): Parameter file renamed to filename.
2625 (HaltC): New procedure implementation.
2626 (ErrorStringC): New procedure implementation.
2627 (ErrorMessageC): New procedure implementation.
2628
2629 2023-01-16 Gaius Mulley <gaiusmod2@gmail.com>
2630
2631 * mc-boot-ch/Glibc.c (libc_time): New function.
2632 (libc_localtime): New function.
2633 * mc-boot/GDynamicStrings.c: Regenerate.
2634 * mc-boot/GFIO.c: Regenerate.
2635 * mc-boot/GFormatStrings.c: Regenerate.
2636 * mc-boot/GIndexing.c: Regenerate.
2637 * mc-boot/GM2Dependent.c: Regenerate.
2638 * mc-boot/GM2EXCEPTION.c: Regenerate.
2639 * mc-boot/GPushBackInput.c: Regenerate.
2640 * mc-boot/GRTExceptions.c: Regenerate.
2641 * mc-boot/GRTint.c: Regenerate.
2642 * mc-boot/GStdIO.c: Regenerate.
2643 * mc-boot/GStringConvert.c: Regenerate.
2644 * mc-boot/GSysStorage.c: Regenerate.
2645 * mc-boot/Gdecl.c: Regenerate.
2646 * mc-boot/GmcComment.c: Regenerate.
2647 * mc-boot/GmcComp.c: Regenerate.
2648 * mc-boot/GmcDebug.c: Regenerate.
2649 * mc-boot/GmcMetaError.c: Regenerate.
2650 * mc-boot/GmcOptions.c: Regenerate.
2651 * mc-boot/GmcStack.c: Regenerate.
2652 * mc-boot/GnameKey.c: Regenerate.
2653 * mc-boot/GsymbolKey.c: Regenerate.
2654 * mc-boot/Gkeyc.c: Regenerate.
2655 * mc/decl.mod (putFieldRecord): Change NulName to NulKey
2656 and fix type comparision.
2657 * mc/mcOptions.mod (YEAR): Remove.
2658 (getYear): New procedure function.
2659 (displayVersion): Use result from getYear instead of YEAR.
2660 Emit boilerplate for GPL v3.
2661 (gplBody): Use result from getYear instead of YEAR.
2662 (glplBody): Use result from getYear instead of YEAR.
2663
2664 2023-01-16 Gaius Mulley <gaiusmod2@gmail.com>
2665
2666 * gm2-compiler/M2Quads.mod (AssignUnboundedVar): Check Type
2667 against NulSym and call MetaErrorT1 if necessary.
2668 (AssignUnboundedNonVar): Check Type against NulSym and
2669 call MetaErrorT1 if necessary.
2670 (BuildDesignatorPointer): Check Type1 against NulSym and
2671 call MetaErrorT1 if necessary.
2672
2673 2023-01-16 Gaius Mulley <gaiusmod2@gmail.com>
2674
2675 * mc/mcOptions.mod (displayVersion): Change GPLv2 to GPLv3.
2676 (YEAR) set to 2023.
2677
2678 2023-01-15 Gaius Mulley <gaiusmod2@gmail.com>
2679
2680 * gm2-compiler/M2LexBuf.mod (isSrcToken): Add block comment.
2681 Remove dead code.
2682 * gm2-compiler/M2Quads.def (BuildNot): Add notTokPos parameter.
2683 * gm2-compiler/M2Quads.mod (BuildNot): Add notTokPos parameter.
2684 Create and push virtual token.
2685 (PopBooltok): New procedure.
2686 (PushBooltok): New procedure.
2687 (PushBool): Re-implement using PushBooltok.
2688 (PopBool): Re-implement using PopBooltok.
2689 * gm2-compiler/P3Build.bnf (ConstFactor): Record token
2690 position of NOT.
2691 (Factor): Record token position of NOT.
2692 * gm2-compiler/PHBuild.bnf (ConstFactor): Record token
2693 position of NOT.
2694 (Relation): Push token position.
2695 (UnaryOrConstTerm): Push token position.
2696 (AddOperator): Push token position.
2697 (MulOperator): Push token position.
2698
2699 2023-01-13 Iain Sandoe <iain@sandoe.co.uk>
2700
2701 * gm2-gcc/m2options.h (M2Options_SetVerbose): Export the
2702 function.
2703 * gm2-lang.cc: Handle OPT_v, passing it to the compiler.
2704 * lang-specs.h: Pass -v to cc1gm2.
2705
2706 2023-01-13 Gaius Mulley <gaiusmod2@gmail.com>
2707
2708 * mc-boot-ch/GRTco.c (RTco_select): Add return 0.
2709 * pge-boot/GRTco.c (RTco_select): Add return 0.
2710
2711 2023-01-10 Gaius Mulley <gaiusmod2@gmail.com>
2712
2713 * Make-lang.in (m2/mc-boot/$(SRC_PREFIX)%.o): Add
2714 m2/gm2-libs/gm2-libs-host.h dependency.
2715 (m2/mc-boot-ch/$(SRC_PREFIX)%.o): Add
2716 m2/gm2-libs/gm2-libs-host.h dependency.
2717
2718 2023-01-10 Gaius Mulley <gaiusmod2@gmail.com>
2719
2720 * Make-lang.in (GM2_1): Change -B path to m2/stage1.
2721 ($(objdir)/m2/images/gnu.eps): Check and create dest dir
2722 if necessary.
2723 (gm2-libs.texi-check): Check and create dir m2/gm2-libs-pim,
2724 m2/gm2-libs-iso and m2/gm2-libs if necessary.
2725 ($(objdir)/m2/gm2-compiler-boot): Remove.
2726 ($(objdir)/m2/gm2-libs-boot): Remove.
2727 ($(objdir)/m2/gm2-libs-libiberty): Remove.
2728 ($(objdir)/m2/gm2-libiberty): Remove.
2729 ($(objdir)/m2/gm2-gcc): Remove.
2730 ($(objdir)/m2/gm2-compiler): Remove.
2731 ($(objdir)/m2/gm2-libs): Remove.
2732 ($(objdir)/m2/gm2-libs-iso): Remove.
2733 ($(objdir)/m2/gm2-libs-min): Remove.
2734 ($(objdir)/m2/gm2-compiler-paranoid): Remove.
2735 ($(objdir)/m2/gm2-libs-paranoid): Remove.
2736 ($(objdir)/m2/gm2-compiler-verify): Remove.
2737 ($(objdir)/m2/boot-bin): Remove.
2738 ($(objdir)/m2/gm2-libs-pim): Remove.
2739 ($(objdir)/m2/gm2-libs-coroutines): Remove.
2740 (stage1/m2): Remove.
2741 (stage2/m2): Remove.
2742 (stage3/m2): Remove.
2743 (m2.stageprofile): New rule.
2744 (m2.stagefeedback): New rule.
2745 (cc1gm2$(exeext)): Change dependent name.
2746 (m2/stage2/cc1gm2$(exeext)): Change dependent name.
2747 Check and create dest dir.
2748 (m2/stage1/cc1gm2$(exeext)): Check and create dest dir
2749 if necessary.
2750 (m2/gm2-gcc/%.o): Ditto.
2751 (m2/gm2-gcc/rtegraph.o): Ditto.
2752 (m2/gm2-gcc/$(SRC_PREFIX)%.h): Ditto.
2753 (m2/gm2-gcc/$(SRC_PREFIX)%.h): Ditto.
2754 (m2/mc-boot): Ditto.
2755 (m2/mc-boot-ch): Ditto.
2756 (m2/gm2-libs-boot): Ditto.
2757 (m2/gm2-compiler-boot): Ditto.
2758 (m2/gm2-compiler): Ditto.
2759 (m2/gm2-libiberty): Ditto.
2760 (m2/gm2-compiler): Ditto.
2761 (m2/gm2-libs-iso): Ditto.
2762 (m2/gm2-libs): Ditto.
2763 (m2/gm2-libs-min): Ditto.
2764 (m2/gm2-libs-coroutines): Ditto.
2765 (m2/boot-bin): Ditto.
2766 (m2/pge-boot): Ditto.
2767 (m2/pge-boot): Ditto.
2768 * Make-maintainer.in (m2/gm2-ppg-boot): Check and create
2769 dest dir if necessary.
2770 (m2): Ditto.
2771 (m2/gm2-ppg-boot): Ditto.
2772 (m2/gm2-pg-boot): Ditto.
2773 (m2/gm2-auto): Ditto.
2774 (m2/gm2-pg-boot): Ditto.
2775 (m2/gm2-pge-boot): Ditto.
2776 ($(objdir)/plugin): Ditto.
2777 ($(objdir)/m2/mc-boot-ch): Ditto.
2778 ($(objdir)/m2/mc-boot-gen): Ditto.
2779 (m2/boot-bin): Ditto.
2780 (m2/mc): Ditto.
2781 (m2/mc-obj): Ditto.
2782 ($(objdir)/m2/gm2-ppg-boot): Ditto.
2783 ($(objdir)/m2/gm2-pg-boot): Ditto.
2784 ($(objdir)/m2/gm2-pge-boot): Ditto.
2785 (m2/mc-boot-gen): Ditto.
2786 (m2/m2obj3): Ditto.
2787 (m2/gm2-libs-paranoid): Ditto.
2788 (m2/gm2-compiler-paranoid): Ditto.
2789 (m2/gm2-libs-paranoid): Ditto.
2790 (m2/gm2-compiler-paranoid): Ditto.
2791 (m2/gm2-libs-paranoid): Ditto.
2792 (m2/gm2-compiler-paranoid): Ditto.
2793 * config-lang.in (m2/gm2-compiler-boot): Remove mkdir.
2794 (m2/gm2-libs-boot): Ditto.
2795 (m2/gm2-ici-boot): Ditto.
2796 (m2/gm2-libiberty): Ditto.
2797 (m2/gm2-gcc): Ditto.
2798 (m2/gm2-compiler): Ditto.
2799 (m2/gm2-libs): Ditto.
2800 (m2/gm2-libs-iso): Ditto.
2801 (m2/gm2-compiler-paranoid): Ditto.
2802 (m2/gm2-libs-paranoid): Ditto.
2803 (m2/gm2-compiler-verify): Ditto.
2804 (m2/boot-bin): Ditto.
2805 (m2/gm2-libs-pim): Ditto.
2806 (m2/gm2-libs-coroutines): Ditto.
2807 (m2/gm2-libs-min): Ditto.
2808 (m2/pge-boot): Ditto.
2809 (plugin): Ditto.
2810 (stage1/m2): Ditto.
2811 (stage2/m2): Ditto.
2812 (stage3/m2): Ditto.
2813 (stage4/m2): Ditto.
2814 (m2/gm2-auto): Ditto.
2815 (m2/gm2-pg-boot): Ditto.
2816 (m2/gm2-pge-boot): Ditto.
2817 (m2/gm2-ppg-boot): Ditto.
2818 (m2/mc-boot): Ditto.
2819 (m2/mc-boot-ch): Ditto.
2820 (m2/mc-boot-gen): Ditto.
2821
2822 2023-01-09 Gaius Mulley <gaiusmod2@gmail.com>
2823
2824 * Make-lang.in (m2/pge-boot/%.o): Add m2/gm2config.h.
2825 * gm2-libs/config-host: Regenerate.
2826
2827 2023-01-07 Iain Sandoe <iain@sandoe.co.uk>
2828
2829 * gm2-libs-min/libc.c (abort): Update declaration to match the
2830 expected form, add no-return attribute.
2831 (exit): Add no-return attribute.
2832
2833 2023-01-05 Iain Sandoe <iain@sandoe.co.uk>
2834
2835 PR modula2/107631
2836 * gm2-gcc/m2builtins.cc: Remove scalb, scalbf, scalbl,
2837 significand, significandf, significandl.
2838 * gm2-libs/Builtins.def (significand): Likewise.
2839 * gm2-libs/Builtins.mod: Likewise.
2840 * target-independent/Builtins.texi: Likewise.
2841 * gm2-libs-iso/LowLong.mod: Implement fraction with scalbn*() and
2842 ilogb*().
2843 * gm2-libs-iso/LowReal.mod: Likewise.
2844 * gm2-libs-iso/LowShort.mod: Likewise.
2845
2846 2023-01-05 Gaius Mulley <gaiusmod2@gmail.com>
2847
2848 * gm2-libs-min/M2RTS.def (ConstructModules): New procedure
2849 declaration.
2850 (DeconstructModules): New procedure declaration.
2851 * gm2-libs-min/M2RTS.mod (ConstructModules): New procedure
2852 dummy implementation.
2853 (DeconstructModules): New procedure dummy implementation.
2854
2855 2023-01-05 Iain Sandoe <iain@sandoe.co.uk>
2856
2857 * gm2spec.cc (lang_specific_driver): Handle static-libgm2.
2858 * lang.opt: Add static-libgm2.
2859
2860 2023-01-05 Iain Sandoe <iain@sandoe.co.uk>
2861
2862 * gm2spec.cc (lang_specific_driver): Pass -static-libstdc++ on to
2863 the target driver if the linker does not support Bstatic/dynamic.
2864
2865 2023-01-04 Iain Sandoe <iain@sandoe.co.uk>
2866
2867 PR modula2/108183
2868 * gm2-libs-ch/UnixArgs.cc (_M2_UnixArgs_ctor): Rework to use
2869 an extern "C" function with 'constructor' attribute.
2870 * gm2-libs-ch/dtoa.cc (_M2_dtoa_ctor): Likewise.
2871 * gm2-libs-ch/ldtoa.cc (_M2_ldtoa_ctor): Likewise.
2872
2873 2023-01-04 Iain Sandoe <iain@sandoe.co.uk>
2874
2875 PR modula2/108259
2876 * gm2-gcc/m2decl.cc (m2decl_DeclareModuleCtor): Make module
2877 registration constructors visible.
2878
2879 2023-01-04 Iain Sandoe <iain@sandoe.co.uk>
2880
2881 * Make-lang.in (dvi, ps, pdf): Build in the gcc/doc directory, also
2882 use the configured tools for texi -> dvi and texi -> pdf.
2883
2884 2023-01-01 Iain Sandoe <iain@sandoe.co.uk>
2885 Gaius Mulley <gaiusmod2@gmail.com>
2886
2887 PR modula2/108183
2888 * gm2-compiler/M2GCCDeclare.mod: Module registration constructors are
2889 externs to the builder of m2_link.
2890
2891 2022-12-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2892 Iain Sandoe <iain@sandoe.co.uk>
2893
2894 PR modula2/107612
2895 * Make-lang.in (soext): Use .dylib for Darwin.
2896 (PLUGINLDFLAGS): Use dynmic lookup, set the plugin name, and append
2897 -nodefaultlibs to suppress the linking of libstdc++.
2898 Use INCINTL in compile lines for the plugin.
2899
2900 2022-12-21 Jakub Jelinek <jakub@redhat.com>
2901
2902 PR modula2/108153
2903 * gm2-gcc/m2linemap.def (location_t): Use CARDINAL instead of INTEGER.
2904
2905 2022-12-19 Jakub Jelinek <jakub@redhat.com>
2906
2907 * gm2-gcc/m2linemap.cc (m2linemap_ErrorAt, m2linemap_ErrorAtf,
2908 m2linemap_WarningAtf, m2linemap_NoteAtf, m2linemap_internal_error):
2909 Call functions with "%s", message rather than just message, so that
2910 % chars in message aren't treated as format specifiers.
2911
2912 2022-12-19 Jakub Jelinek <jakub@redhat.com>
2913
2914 PR modula2/108147
2915 * gm2-gcc/m2linemap.def (ErrorAtf, WarningAtf, NoteAtf):
2916 Comment out prototypes with varargs.
2917 * gm2-gcc/m2linemap.h (m2linemap_ErrorAtf, m2linemap_WarningAtf,
2918 m2linemap_NoteAtf): No longer varargs.
2919 * gm2-gcc/m2linemap.cc (m2linemap_ErrorAtf): Turned into a
2920 non-varargs wrapper around ...
2921 (m2linemap_ErrorAtf_1): ... this. New static function.
2922 (m2linemap_WarningAtf): Turned into a non-varargs wrapper around ...
2923 (m2linemap_WarningAtf_1): ... this. New static function.
2924 (m2linemap_NoteAtf): Turned into a non-varargs wrapper around ...
2925 (m2linemap_NoteAtf_1): ... this. New static function.
2926
2927 2022-12-15 Gaius Mulley <gaiusmod2@gmail.com>
2928
2929 * configure.ac: Stop probing for realpath.
2930 * tools-src/calcpath: Break dependency on realpath, cut
2931 and echo.
2932 * configure: Rebuilt.
2933
2934 2022-12-15 Gaius Mulley <gaiusmod2@gmail.com>
2935
2936 * gm2config.h.in: Rebuilt.
2937
2938 2022-12-14 Gaius Mulley <gaiusmod2@gmail.com>
2939
2940 * COPYING.FDL: New file.
2941 * COPYING.RUNTIME: New file.
2942 * COPYING3: New file.
2943 * COPYING3.LIB: New file.
2944 * Make-lang.in: New file.
2945 * Make-maintainer.in: New file.
2946 * NEWS: New file.
2947 * README: New file.
2948 * config-lang.in: New file.
2949 * config-make.in: New file.
2950 * configure.ac: New file.
2951 * gm2-compiler/CLexBuf.def: New file.
2952 * gm2-compiler/CLexBuf.mod: New file.
2953 * gm2-compiler/FifoQueue.def: New file.
2954 * gm2-compiler/FifoQueue.mod: New file.
2955 * gm2-compiler/Lists.def: New file.
2956 * gm2-compiler/Lists.mod: New file.
2957 * gm2-compiler/M2ALU.def: New file.
2958 * gm2-compiler/M2ALU.mod: New file.
2959 * gm2-compiler/M2AsmUtil.def: New file.
2960 * gm2-compiler/M2AsmUtil.mod: New file.
2961 * gm2-compiler/M2Base.def: New file.
2962 * gm2-compiler/M2Base.mod: New file.
2963 * gm2-compiler/M2BasicBlock.def: New file.
2964 * gm2-compiler/M2BasicBlock.mod: New file.
2965 * gm2-compiler/M2Batch.def: New file.
2966 * gm2-compiler/M2Batch.mod: New file.
2967 * gm2-compiler/M2Bitset.def: New file.
2968 * gm2-compiler/M2Bitset.mod: New file.
2969 * gm2-compiler/M2CaseList.def: New file.
2970 * gm2-compiler/M2CaseList.mod: New file.
2971 * gm2-compiler/M2Check.def: New file.
2972 * gm2-compiler/M2Check.mod: New file.
2973 * gm2-compiler/M2Code.def: New file.
2974 * gm2-compiler/M2Code.mod: New file.
2975 * gm2-compiler/M2ColorString.def: New file.
2976 * gm2-compiler/M2ColorString.mod: New file.
2977 * gm2-compiler/M2Comp.def: New file.
2978 * gm2-compiler/M2Comp.mod: New file.
2979 * gm2-compiler/M2Const.def: New file.
2980 * gm2-compiler/M2Const.mod: New file.
2981 * gm2-compiler/M2Debug.def: New file.
2982 * gm2-compiler/M2Debug.mod: New file.
2983 * gm2-compiler/M2DebugStack.def: New file.
2984 * gm2-compiler/M2DebugStack.mod: New file.
2985 * gm2-compiler/M2Defaults.def: New file.
2986 * gm2-compiler/M2Defaults.mod: New file.
2987 * gm2-compiler/M2DriverOptions.def: New file.
2988 * gm2-compiler/M2DriverOptions.mod: New file.
2989 * gm2-compiler/M2Emit.def: New file.
2990 * gm2-compiler/M2Emit.mod: New file.
2991 * gm2-compiler/M2Error.def: New file.
2992 * gm2-compiler/M2Error.mod: New file.
2993 * gm2-compiler/M2EvalSym.def: New file.
2994 * gm2-compiler/M2FileName.def: New file.
2995 * gm2-compiler/M2FileName.mod: New file.
2996 * gm2-compiler/M2GCCDeclare.def: New file.
2997 * gm2-compiler/M2GCCDeclare.mod: New file.
2998 * gm2-compiler/M2GenGCC.def: New file.
2999 * gm2-compiler/M2GenGCC.mod: New file.
3000 * gm2-compiler/M2Graph.def: New file.
3001 * gm2-compiler/M2Graph.mod: New file.
3002 * gm2-compiler/M2Lex.def: New file.
3003 * gm2-compiler/M2Lex.mod: New file.
3004 * gm2-compiler/M2LexBuf.def: New file.
3005 * gm2-compiler/M2LexBuf.mod: New file.
3006 * gm2-compiler/M2MetaError.def: New file.
3007 * gm2-compiler/M2MetaError.mod: New file.
3008 * gm2-compiler/M2Optimize.def: New file.
3009 * gm2-compiler/M2Optimize.mod: New file.
3010 * gm2-compiler/M2Options.def: New file.
3011 * gm2-compiler/M2Options.mod: New file.
3012 * gm2-compiler/M2Pass.def: New file.
3013 * gm2-compiler/M2Pass.mod: New file.
3014 * gm2-compiler/M2Preprocess.def: New file.
3015 * gm2-compiler/M2Preprocess.mod: New file.
3016 * gm2-compiler/M2Printf.def: New file.
3017 * gm2-compiler/M2Printf.mod: New file.
3018 * gm2-compiler/M2Quads.def: New file.
3019 * gm2-compiler/M2Quads.mod: New file.
3020 * gm2-compiler/M2Quiet.def: New file.
3021 * gm2-compiler/M2Quiet.mod: New file.
3022 * gm2-compiler/M2Range.def: New file.
3023 * gm2-compiler/M2Range.mod: New file.
3024 * gm2-compiler/M2Reserved.def: New file.
3025 * gm2-compiler/M2Reserved.mod: New file.
3026 * gm2-compiler/M2SSA.def: New file.
3027 * gm2-compiler/M2SSA.mod: New file.
3028 * gm2-compiler/M2Scaffold.def: New file.
3029 * gm2-compiler/M2Scaffold.mod: New file.
3030 * gm2-compiler/M2Scope.def: New file.
3031 * gm2-compiler/M2Scope.mod: New file.
3032 * gm2-compiler/M2Search.def: New file.
3033 * gm2-compiler/M2Search.mod: New file.
3034 * gm2-compiler/M2Size.def: New file.
3035 * gm2-compiler/M2Size.mod: New file.
3036 * gm2-compiler/M2StackAddress.def: New file.
3037 * gm2-compiler/M2StackAddress.mod: New file.
3038 * gm2-compiler/M2StackWord.def: New file.
3039 * gm2-compiler/M2StackWord.mod: New file.
3040 * gm2-compiler/M2Students.def: New file.
3041 * gm2-compiler/M2Students.mod: New file.
3042 * gm2-compiler/M2Swig.def: New file.
3043 * gm2-compiler/M2Swig.mod: New file.
3044 * gm2-compiler/M2System.def: New file.
3045 * gm2-compiler/M2System.mod: New file.
3046 * gm2-compiler/M2Version.def: New file.
3047 * gm2-compiler/NameKey.def: New file.
3048 * gm2-compiler/NameKey.mod: New file.
3049 * gm2-compiler/ObjectFiles.def: New file.
3050 * gm2-compiler/ObjectFiles.mod: New file.
3051 * gm2-compiler/Output.def: New file.
3052 * gm2-compiler/Output.mod: New file.
3053 * gm2-compiler/P0SymBuild.def: New file.
3054 * gm2-compiler/P0SymBuild.mod: New file.
3055 * gm2-compiler/P0SyntaxCheck.bnf: New file.
3056 * gm2-compiler/P0SyntaxCheck.def: New file.
3057 * gm2-compiler/P1Build.bnf: New file.
3058 * gm2-compiler/P1Build.def: New file.
3059 * gm2-compiler/P1SymBuild.def: New file.
3060 * gm2-compiler/P1SymBuild.mod: New file.
3061 * gm2-compiler/P2Build.bnf: New file.
3062 * gm2-compiler/P2Build.def: New file.
3063 * gm2-compiler/P2SymBuild.def: New file.
3064 * gm2-compiler/P2SymBuild.mod: New file.
3065 * gm2-compiler/P3Build.bnf: New file.
3066 * gm2-compiler/P3Build.def: New file.
3067 * gm2-compiler/P3SymBuild.def: New file.
3068 * gm2-compiler/P3SymBuild.mod: New file.
3069 * gm2-compiler/PCBuild.bnf: New file.
3070 * gm2-compiler/PCBuild.def: New file.
3071 * gm2-compiler/PCSymBuild.def: New file.
3072 * gm2-compiler/PCSymBuild.mod: New file.
3073 * gm2-compiler/PHBuild.bnf: New file.
3074 * gm2-compiler/PHBuild.def: New file.
3075 * gm2-compiler/README: New file.
3076 * gm2-compiler/Sets.def: New file.
3077 * gm2-compiler/Sets.mod: New file.
3078 * gm2-compiler/SymbolConversion.def: New file.
3079 * gm2-compiler/SymbolConversion.mod: New file.
3080 * gm2-compiler/SymbolKey.def: New file.
3081 * gm2-compiler/SymbolKey.mod: New file.
3082 * gm2-compiler/SymbolTable.def: New file.
3083 * gm2-compiler/SymbolTable.mod: New file.
3084 * gm2-compiler/bnflex.def: New file.
3085 * gm2-compiler/bnflex.mod: New file.
3086 * gm2-compiler/cflex.def: New file.
3087 * gm2-compiler/gm2.mod: New file.
3088 * gm2-compiler/gm2lcc.mod: New file.
3089 * gm2-compiler/gm2lgen.mod: New file.
3090 * gm2-compiler/gm2lorder.mod: New file.
3091 * gm2-compiler/m2flex.def: New file.
3092 * gm2-compiler/ppg.mod: New file.
3093 * gm2-gcc/README: New file.
3094 * gm2-gcc/dynamicstrings.h: New file.
3095 * gm2-gcc/gcc-consolidation.h: New file.
3096 * gm2-gcc/init.cc: New file.
3097 * gm2-gcc/init.def: New file.
3098 * gm2-gcc/init.h: New file.
3099 * gm2-gcc/m2assert.cc: New file.
3100 * gm2-gcc/m2assert.h: New file.
3101 * gm2-gcc/m2block.cc: New file.
3102 * gm2-gcc/m2block.def: New file.
3103 * gm2-gcc/m2block.h: New file.
3104 * gm2-gcc/m2builtins.cc: New file.
3105 * gm2-gcc/m2builtins.def: New file.
3106 * gm2-gcc/m2builtins.h: New file.
3107 * gm2-gcc/m2color.cc: New file.
3108 * gm2-gcc/m2color.def: New file.
3109 * gm2-gcc/m2color.h: New file.
3110 * gm2-gcc/m2configure.cc: New file.
3111 * gm2-gcc/m2configure.def: New file.
3112 * gm2-gcc/m2configure.h: New file.
3113 * gm2-gcc/m2convert.cc: New file.
3114 * gm2-gcc/m2convert.def: New file.
3115 * gm2-gcc/m2convert.h: New file.
3116 * gm2-gcc/m2decl.cc: New file.
3117 * gm2-gcc/m2decl.def: New file.
3118 * gm2-gcc/m2decl.h: New file.
3119 * gm2-gcc/m2except.cc: New file.
3120 * gm2-gcc/m2except.def: New file.
3121 * gm2-gcc/m2except.h: New file.
3122 * gm2-gcc/m2expr.cc: New file.
3123 * gm2-gcc/m2expr.def: New file.
3124 * gm2-gcc/m2expr.h: New file.
3125 * gm2-gcc/m2linemap.cc: New file.
3126 * gm2-gcc/m2linemap.def: New file.
3127 * gm2-gcc/m2linemap.h: New file.
3128 * gm2-gcc/m2misc.cc: New file.
3129 * gm2-gcc/m2misc.def: New file.
3130 * gm2-gcc/m2misc.h: New file.
3131 * gm2-gcc/m2options.h: New file.
3132 * gm2-gcc/m2range.h: New file.
3133 * gm2-gcc/m2search.h: New file.
3134 * gm2-gcc/m2statement.cc: New file.
3135 * gm2-gcc/m2statement.def: New file.
3136 * gm2-gcc/m2statement.h: New file.
3137 * gm2-gcc/m2top.cc: New file.
3138 * gm2-gcc/m2top.def: New file.
3139 * gm2-gcc/m2top.h: New file.
3140 * gm2-gcc/m2tree.cc: New file.
3141 * gm2-gcc/m2tree.def: New file.
3142 * gm2-gcc/m2tree.h: New file.
3143 * gm2-gcc/m2treelib.cc: New file.
3144 * gm2-gcc/m2treelib.def: New file.
3145 * gm2-gcc/m2treelib.h: New file.
3146 * gm2-gcc/m2type.cc: New file.
3147 * gm2-gcc/m2type.def: New file.
3148 * gm2-gcc/m2type.h: New file.
3149 * gm2-gcc/rtegraph.cc: New file.
3150 * gm2-gcc/rtegraph.h: New file.
3151 * gm2-ici/M2Emit.mod: New file.
3152 * gm2-ici/README: New file.
3153 * gm2-ici/m2linemap.c: New file.
3154 * gm2-internals.texi: New file.
3155 * gm2-lang.cc: New file.
3156 * gm2-lang.h: New file.
3157 * gm2-libiberty/README: New file.
3158 * gm2-libiberty/choosetemp.def: New file.
3159 * gm2-libiberty/pexecute.def: New file.
3160 * gm2-libs-ch/M2LINK.c: New file.
3161 * gm2-libs-ch/README: New file.
3162 * gm2-libs-ch/RTcodummy.c: New file.
3163 * gm2-libs-ch/RTintdummy.c: New file.
3164 * gm2-libs-ch/Selective.c: New file.
3165 * gm2-libs-ch/SysExceptions.c: New file.
3166 * gm2-libs-ch/UnixArgs.cc: New file.
3167 * gm2-libs-ch/cgetopt.c: New file.
3168 * gm2-libs-ch/choosetemp.c: New file.
3169 * gm2-libs-ch/dtoa.cc: New file.
3170 * gm2-libs-ch/errno.c: New file.
3171 * gm2-libs-ch/host.c: New file.
3172 * gm2-libs-ch/ldtoa.cc: New file.
3173 * gm2-libs-ch/m2rts.h: New file.
3174 * gm2-libs-ch/termios.c: New file.
3175 * gm2-libs-ch/tools.c: New file.
3176 * gm2-libs-ch/wrapc.c: New file.
3177 * gm2-libs-ch/xlibc.c: New file.
3178 * gm2-libs-coroutines/Debug.def: New file.
3179 * gm2-libs-coroutines/Debug.mod: New file.
3180 * gm2-libs-coroutines/Executive.def: New file.
3181 * gm2-libs-coroutines/Executive.mod: New file.
3182 * gm2-libs-coroutines/KeyBoardLEDs.def: New file.
3183 * gm2-libs-coroutines/README.texi: New file.
3184 * gm2-libs-coroutines/SYSTEM.def: New file.
3185 * gm2-libs-coroutines/SYSTEM.mod: New file.
3186 * gm2-libs-coroutines/TimerHandler.def: New file.
3187 * gm2-libs-coroutines/TimerHandler.mod: New file.
3188 * gm2-libs-iso/COROUTINES.def: New file.
3189 * gm2-libs-iso/COROUTINES.mod: New file.
3190 * gm2-libs-iso/ChanConsts.def: New file.
3191 * gm2-libs-iso/ChanConsts.h: New file.
3192 * gm2-libs-iso/ChanConsts.mod: New file.
3193 * gm2-libs-iso/CharClass.def: New file.
3194 * gm2-libs-iso/CharClass.mod: New file.
3195 * gm2-libs-iso/ClientSocket.def: New file.
3196 * gm2-libs-iso/ClientSocket.mod: New file.
3197 * gm2-libs-iso/ComplexMath.def: New file.
3198 * gm2-libs-iso/ComplexMath.mod: New file.
3199 * gm2-libs-iso/ConvStringLong.def: New file.
3200 * gm2-libs-iso/ConvStringLong.mod: New file.
3201 * gm2-libs-iso/ConvStringReal.def: New file.
3202 * gm2-libs-iso/ConvStringReal.mod: New file.
3203 * gm2-libs-iso/ConvTypes.def: New file.
3204 * gm2-libs-iso/ConvTypes.mod: New file.
3205 * gm2-libs-iso/EXCEPTIONS.def: New file.
3206 * gm2-libs-iso/EXCEPTIONS.mod: New file.
3207 * gm2-libs-iso/ErrnoCategory.def: New file.
3208 * gm2-libs-iso/GeneralUserExceptions.def: New file.
3209 * gm2-libs-iso/GeneralUserExceptions.mod: New file.
3210 * gm2-libs-iso/IOChan.def: New file.
3211 * gm2-libs-iso/IOChan.mod: New file.
3212 * gm2-libs-iso/IOConsts.def: New file.
3213 * gm2-libs-iso/IOConsts.mod: New file.
3214 * gm2-libs-iso/IOLink.def: New file.
3215 * gm2-libs-iso/IOLink.mod: New file.
3216 * gm2-libs-iso/IOResult.def: New file.
3217 * gm2-libs-iso/IOResult.mod: New file.
3218 * gm2-libs-iso/LongComplexMath.def: New file.
3219 * gm2-libs-iso/LongComplexMath.mod: New file.
3220 * gm2-libs-iso/LongConv.def: New file.
3221 * gm2-libs-iso/LongConv.mod: New file.
3222 * gm2-libs-iso/LongIO.def: New file.
3223 * gm2-libs-iso/LongIO.mod: New file.
3224 * gm2-libs-iso/LongMath.def: New file.
3225 * gm2-libs-iso/LongMath.mod: New file.
3226 * gm2-libs-iso/LongStr.def: New file.
3227 * gm2-libs-iso/LongStr.mod: New file.
3228 * gm2-libs-iso/LongWholeIO.def: New file.
3229 * gm2-libs-iso/LongWholeIO.mod: New file.
3230 * gm2-libs-iso/LowLong.def: New file.
3231 * gm2-libs-iso/LowLong.mod: New file.
3232 * gm2-libs-iso/LowReal.def: New file.
3233 * gm2-libs-iso/LowReal.mod: New file.
3234 * gm2-libs-iso/LowShort.def: New file.
3235 * gm2-libs-iso/LowShort.mod: New file.
3236 * gm2-libs-iso/M2EXCEPTION.def: New file.
3237 * gm2-libs-iso/M2EXCEPTION.mod: New file.
3238 * gm2-libs-iso/M2RTS.def: New file.
3239 * gm2-libs-iso/M2RTS.mod: New file.
3240 * gm2-libs-iso/MemStream.def: New file.
3241 * gm2-libs-iso/MemStream.mod: New file.
3242 * gm2-libs-iso/Preemptive.def: New file.
3243 * gm2-libs-iso/Preemptive.mod: New file.
3244 * gm2-libs-iso/Processes.def: New file.
3245 * gm2-libs-iso/Processes.mod: New file.
3246 * gm2-libs-iso/ProgramArgs.def: New file.
3247 * gm2-libs-iso/ProgramArgs.mod: New file.
3248 * gm2-libs-iso/README.texi: New file.
3249 * gm2-libs-iso/RTco.def: New file.
3250 * gm2-libs-iso/RTdata.def: New file.
3251 * gm2-libs-iso/RTdata.mod: New file.
3252 * gm2-libs-iso/RTentity.def: New file.
3253 * gm2-libs-iso/RTentity.mod: New file.
3254 * gm2-libs-iso/RTfio.def: New file.
3255 * gm2-libs-iso/RTfio.mod: New file.
3256 * gm2-libs-iso/RTgen.def: New file.
3257 * gm2-libs-iso/RTgen.mod: New file.
3258 * gm2-libs-iso/RTgenif.def: New file.
3259 * gm2-libs-iso/RTgenif.mod: New file.
3260 * gm2-libs-iso/RTio.def: New file.
3261 * gm2-libs-iso/RTio.mod: New file.
3262 * gm2-libs-iso/RandomNumber.def: New file.
3263 * gm2-libs-iso/RandomNumber.mod: New file.
3264 * gm2-libs-iso/RawIO.def: New file.
3265 * gm2-libs-iso/RawIO.mod: New file.
3266 * gm2-libs-iso/RealConv.def: New file.
3267 * gm2-libs-iso/RealConv.mod: New file.
3268 * gm2-libs-iso/RealIO.def: New file.
3269 * gm2-libs-iso/RealIO.mod: New file.
3270 * gm2-libs-iso/RealMath.def: New file.
3271 * gm2-libs-iso/RealMath.mod: New file.
3272 * gm2-libs-iso/RealStr.def: New file.
3273 * gm2-libs-iso/RealStr.mod: New file.
3274 * gm2-libs-iso/RndFile.def: New file.
3275 * gm2-libs-iso/RndFile.mod: New file.
3276 * gm2-libs-iso/SIOResult.def: New file.
3277 * gm2-libs-iso/SIOResult.mod: New file.
3278 * gm2-libs-iso/SLongIO.def: New file.
3279 * gm2-libs-iso/SLongIO.mod: New file.
3280 * gm2-libs-iso/SLongWholeIO.def: New file.
3281 * gm2-libs-iso/SLongWholeIO.mod: New file.
3282 * gm2-libs-iso/SRawIO.def: New file.
3283 * gm2-libs-iso/SRawIO.mod: New file.
3284 * gm2-libs-iso/SRealIO.def: New file.
3285 * gm2-libs-iso/SRealIO.mod: New file.
3286 * gm2-libs-iso/SShortIO.def: New file.
3287 * gm2-libs-iso/SShortIO.mod: New file.
3288 * gm2-libs-iso/SShortWholeIO.def: New file.
3289 * gm2-libs-iso/SShortWholeIO.mod: New file.
3290 * gm2-libs-iso/STextIO.def: New file.
3291 * gm2-libs-iso/STextIO.mod: New file.
3292 * gm2-libs-iso/SWholeIO.def: New file.
3293 * gm2-libs-iso/SWholeIO.mod: New file.
3294 * gm2-libs-iso/SYSTEM.def: New file.
3295 * gm2-libs-iso/SYSTEM.mod: New file.
3296 * gm2-libs-iso/Semaphores.def: New file.
3297 * gm2-libs-iso/Semaphores.mod: New file.
3298 * gm2-libs-iso/SeqFile.def: New file.
3299 * gm2-libs-iso/SeqFile.mod: New file.
3300 * gm2-libs-iso/ShortComplexMath.def: New file.
3301 * gm2-libs-iso/ShortComplexMath.mod: New file.
3302 * gm2-libs-iso/ShortIO.def: New file.
3303 * gm2-libs-iso/ShortIO.mod: New file.
3304 * gm2-libs-iso/ShortWholeIO.def: New file.
3305 * gm2-libs-iso/ShortWholeIO.mod: New file.
3306 * gm2-libs-iso/SimpleCipher.def: New file.
3307 * gm2-libs-iso/SimpleCipher.mod: New file.
3308 * gm2-libs-iso/StdChans.def: New file.
3309 * gm2-libs-iso/StdChans.mod: New file.
3310 * gm2-libs-iso/Storage.def: New file.
3311 * gm2-libs-iso/Storage.mod: New file.
3312 * gm2-libs-iso/StreamFile.def: New file.
3313 * gm2-libs-iso/StreamFile.mod: New file.
3314 * gm2-libs-iso/StringChan.def: New file.
3315 * gm2-libs-iso/StringChan.mod: New file.
3316 * gm2-libs-iso/Strings.def: New file.
3317 * gm2-libs-iso/Strings.mod: New file.
3318 * gm2-libs-iso/SysClock.def: New file.
3319 * gm2-libs-iso/SysClock.mod: New file.
3320 * gm2-libs-iso/TERMINATION.def: New file.
3321 * gm2-libs-iso/TERMINATION.mod: New file.
3322 * gm2-libs-iso/TermFile.def: New file.
3323 * gm2-libs-iso/TermFile.mod: New file.
3324 * gm2-libs-iso/TextIO.def: New file.
3325 * gm2-libs-iso/TextIO.mod: New file.
3326 * gm2-libs-iso/WholeConv.def: New file.
3327 * gm2-libs-iso/WholeConv.mod: New file.
3328 * gm2-libs-iso/WholeIO.def: New file.
3329 * gm2-libs-iso/WholeIO.mod: New file.
3330 * gm2-libs-iso/WholeStr.def: New file.
3331 * gm2-libs-iso/WholeStr.mod: New file.
3332 * gm2-libs-iso/wrapsock.c: New file.
3333 * gm2-libs-iso/wrapsock.def: New file.
3334 * gm2-libs-iso/wraptime.c: New file.
3335 * gm2-libs-iso/wraptime.def: New file.
3336 * gm2-libs-min/M2RTS.def: New file.
3337 * gm2-libs-min/M2RTS.mod: New file.
3338 * gm2-libs-min/SYSTEM.def: New file.
3339 * gm2-libs-min/SYSTEM.mod: New file.
3340 * gm2-libs-min/libc.c: New file.
3341 * gm2-libs-min/libc.def: New file.
3342 * gm2-libs-pim/BitBlockOps.def: New file.
3343 * gm2-libs-pim/BitBlockOps.mod: New file.
3344 * gm2-libs-pim/BitByteOps.def: New file.
3345 * gm2-libs-pim/BitByteOps.mod: New file.
3346 * gm2-libs-pim/BitWordOps.def: New file.
3347 * gm2-libs-pim/BitWordOps.mod: New file.
3348 * gm2-libs-pim/BlockOps.def: New file.
3349 * gm2-libs-pim/BlockOps.mod: New file.
3350 * gm2-libs-pim/Break.c: New file.
3351 * gm2-libs-pim/Break.def: New file.
3352 * gm2-libs-pim/CardinalIO.def: New file.
3353 * gm2-libs-pim/CardinalIO.mod: New file.
3354 * gm2-libs-pim/Conversions.def: New file.
3355 * gm2-libs-pim/Conversions.mod: New file.
3356 * gm2-libs-pim/DebugPMD.def: New file.
3357 * gm2-libs-pim/DebugPMD.mod: New file.
3358 * gm2-libs-pim/DebugTrace.def: New file.
3359 * gm2-libs-pim/DebugTrace.mod: New file.
3360 * gm2-libs-pim/Delay.def: New file.
3361 * gm2-libs-pim/Delay.mod: New file.
3362 * gm2-libs-pim/Display.def: New file.
3363 * gm2-libs-pim/Display.mod: New file.
3364 * gm2-libs-pim/ErrorCode.def: New file.
3365 * gm2-libs-pim/ErrorCode.mod: New file.
3366 * gm2-libs-pim/FileSystem.def: New file.
3367 * gm2-libs-pim/FileSystem.mod: New file.
3368 * gm2-libs-pim/FloatingUtilities.def: New file.
3369 * gm2-libs-pim/FloatingUtilities.mod: New file.
3370 * gm2-libs-pim/InOut.def: New file.
3371 * gm2-libs-pim/InOut.mod: New file.
3372 * gm2-libs-pim/Keyboard.def: New file.
3373 * gm2-libs-pim/Keyboard.mod: New file.
3374 * gm2-libs-pim/LongIO.def: New file.
3375 * gm2-libs-pim/LongIO.mod: New file.
3376 * gm2-libs-pim/NumberConversion.def: New file.
3377 * gm2-libs-pim/NumberConversion.mod: New file.
3378 * gm2-libs-pim/README.texi: New file.
3379 * gm2-libs-pim/Random.def: New file.
3380 * gm2-libs-pim/Random.mod: New file.
3381 * gm2-libs-pim/RealConversions.def: New file.
3382 * gm2-libs-pim/RealConversions.mod: New file.
3383 * gm2-libs-pim/RealInOut.def: New file.
3384 * gm2-libs-pim/RealInOut.mod: New file.
3385 * gm2-libs-pim/Strings.def: New file.
3386 * gm2-libs-pim/Strings.mod: New file.
3387 * gm2-libs-pim/Termbase.def: New file.
3388 * gm2-libs-pim/Termbase.mod: New file.
3389 * gm2-libs-pim/Terminal.def: New file.
3390 * gm2-libs-pim/Terminal.mod: New file.
3391 * gm2-libs-pim/TimeDate.def: New file.
3392 * gm2-libs-pim/TimeDate.mod: New file.
3393 * gm2-libs/ASCII.def: New file.
3394 * gm2-libs/ASCII.mod: New file.
3395 * gm2-libs/Args.def: New file.
3396 * gm2-libs/Args.mod: New file.
3397 * gm2-libs/Assertion.def: New file.
3398 * gm2-libs/Assertion.mod: New file.
3399 * gm2-libs/Break.def: New file.
3400 * gm2-libs/Break.mod: New file.
3401 * gm2-libs/Builtins.def: New file.
3402 * gm2-libs/Builtins.mod: New file.
3403 * gm2-libs/COROUTINES.def: New file.
3404 * gm2-libs/COROUTINES.mod: New file.
3405 * gm2-libs/CmdArgs.def: New file.
3406 * gm2-libs/CmdArgs.mod: New file.
3407 * gm2-libs/Debug.def: New file.
3408 * gm2-libs/Debug.mod: New file.
3409 * gm2-libs/DynamicStrings.def: New file.
3410 * gm2-libs/DynamicStrings.mod: New file.
3411 * gm2-libs/Environment.def: New file.
3412 * gm2-libs/Environment.mod: New file.
3413 * gm2-libs/FIO.def: New file.
3414 * gm2-libs/FIO.mod: New file.
3415 * gm2-libs/FormatStrings.def: New file.
3416 * gm2-libs/FormatStrings.mod: New file.
3417 * gm2-libs/FpuIO.def: New file.
3418 * gm2-libs/FpuIO.mod: New file.
3419 * gm2-libs/GetOpt.def: New file.
3420 * gm2-libs/GetOpt.mod: New file.
3421 * gm2-libs/IO.def: New file.
3422 * gm2-libs/IO.mod: New file.
3423 * gm2-libs/Indexing.def: New file.
3424 * gm2-libs/Indexing.mod: New file.
3425 * gm2-libs/LMathLib0.def: New file.
3426 * gm2-libs/LMathLib0.mod: New file.
3427 * gm2-libs/LegacyReal.def: New file.
3428 * gm2-libs/LegacyReal.mod: New file.
3429 * gm2-libs/M2Dependent.def: New file.
3430 * gm2-libs/M2Dependent.mod: New file.
3431 * gm2-libs/M2EXCEPTION.def: New file.
3432 * gm2-libs/M2EXCEPTION.mod: New file.
3433 * gm2-libs/M2LINK.def: New file.
3434 * gm2-libs/M2RTS.def: New file.
3435 * gm2-libs/M2RTS.mod: New file.
3436 * gm2-libs/MathLib0.def: New file.
3437 * gm2-libs/MathLib0.mod: New file.
3438 * gm2-libs/MemUtils.def: New file.
3439 * gm2-libs/MemUtils.mod: New file.
3440 * gm2-libs/NumberIO.def: New file.
3441 * gm2-libs/NumberIO.mod: New file.
3442 * gm2-libs/OptLib.def: New file.
3443 * gm2-libs/OptLib.mod: New file.
3444 * gm2-libs/PushBackInput.def: New file.
3445 * gm2-libs/PushBackInput.mod: New file.
3446 * gm2-libs/README.texi: New file.
3447 * gm2-libs/RTExceptions.def: New file.
3448 * gm2-libs/RTExceptions.mod: New file.
3449 * gm2-libs/RTint.def: New file.
3450 * gm2-libs/RTint.mod: New file.
3451 * gm2-libs/SArgs.def: New file.
3452 * gm2-libs/SArgs.mod: New file.
3453 * gm2-libs/SCmdArgs.def: New file.
3454 * gm2-libs/SCmdArgs.mod: New file.
3455 * gm2-libs/SEnvironment.def: New file.
3456 * gm2-libs/SEnvironment.mod: New file.
3457 * gm2-libs/SFIO.def: New file.
3458 * gm2-libs/SFIO.mod: New file.
3459 * gm2-libs/SMathLib0.def: New file.
3460 * gm2-libs/SMathLib0.mod: New file.
3461 * gm2-libs/SYSTEM.def: New file.
3462 * gm2-libs/SYSTEM.mod: New file.
3463 * gm2-libs/Scan.def: New file.
3464 * gm2-libs/Scan.mod: New file.
3465 * gm2-libs/Selective.def: New file.
3466 * gm2-libs/StdIO.def: New file.
3467 * gm2-libs/StdIO.mod: New file.
3468 * gm2-libs/Storage.def: New file.
3469 * gm2-libs/Storage.mod: New file.
3470 * gm2-libs/StrCase.def: New file.
3471 * gm2-libs/StrCase.mod: New file.
3472 * gm2-libs/StrIO.def: New file.
3473 * gm2-libs/StrIO.mod: New file.
3474 * gm2-libs/StrLib.def: New file.
3475 * gm2-libs/StrLib.mod: New file.
3476 * gm2-libs/StringConvert.def: New file.
3477 * gm2-libs/StringConvert.mod: New file.
3478 * gm2-libs/SysExceptions.def: New file.
3479 * gm2-libs/SysStorage.def: New file.
3480 * gm2-libs/SysStorage.mod: New file.
3481 * gm2-libs/TimeString.def: New file.
3482 * gm2-libs/TimeString.mod: New file.
3483 * gm2-libs/UnixArgs.def: New file.
3484 * gm2-libs/cbuiltin.def: New file.
3485 * gm2-libs/cgetopt.def: New file.
3486 * gm2-libs/config-host: New file.
3487 * gm2-libs/config-host.in: New file.
3488 * gm2-libs/cxxabi.def: New file.
3489 * gm2-libs/dtoa.def: New file.
3490 * gm2-libs/errno.def: New file.
3491 * gm2-libs/gdbif.def: New file.
3492 * gm2-libs/gdbif.mod: New file.
3493 * gm2-libs/gm2-libs-host.h.in: New file.
3494 * gm2-libs/ldtoa.def: New file.
3495 * gm2-libs/libc.def: New file.
3496 * gm2-libs/libm.def: New file.
3497 * gm2-libs/sckt.def: New file.
3498 * gm2-libs/termios.def: New file.
3499 * gm2-libs/wrapc.def: New file.
3500 * gm2config.h.in: New file.
3501 * gm2spec.cc: New file.
3502 * gm2version.h: New file.
3503 * init/README: New file.
3504 * init/mcinit: New file.
3505 * init/ppginit: New file.
3506 * lang-specs.h: New file.
3507 * lang.opt: New file.
3508 * m2-tree.def: New file.
3509 * m2-tree.h: New file.
3510 * m2.flex: New file.
3511 * m2pp.cc: New file.
3512 * m2pp.h: New file.
3513 * mc-boot-ch/GBuiltins.c: New file.
3514 * mc-boot-ch/GM2LINK.c: New file.
3515 * mc-boot-ch/GRTco.c: New file.
3516 * mc-boot-ch/GSYSTEM.c: New file.
3517 * mc-boot-ch/GSelective.c: New file.
3518 * mc-boot-ch/GSysExceptions.c: New file.
3519 * mc-boot-ch/GUnixArgs.cc: New file.
3520 * mc-boot-ch/Gabort.c: New file.
3521 * mc-boot-ch/Gcbuiltin.c: New file.
3522 * mc-boot-ch/Gdtoa.c: New file.
3523 * mc-boot-ch/Gerrno.c: New file.
3524 * mc-boot-ch/Gldtoa.c: New file.
3525 * mc-boot-ch/Glibc.c: New file.
3526 * mc-boot-ch/Glibm.c: New file.
3527 * mc-boot-ch/Gmcrts.c: New file.
3528 * mc-boot-ch/Gmcrts.h: New file.
3529 * mc-boot-ch/Gnetwork.h: New file.
3530 * mc-boot-ch/Gtermios.cc: New file.
3531 * mc-boot-ch/Gwrapc.c: New file.
3532 * mc-boot-ch/README: New file.
3533 * mc-boot-ch/m2rts.h: New file.
3534 * mc-boot-ch/network.c: New file.
3535 * mc-boot/GASCII.c: New file.
3536 * mc-boot/GASCII.h: New file.
3537 * mc-boot/GArgs.c: New file.
3538 * mc-boot/GArgs.h: New file.
3539 * mc-boot/GAssertion.c: New file.
3540 * mc-boot/GAssertion.h: New file.
3541 * mc-boot/GBreak.c: New file.
3542 * mc-boot/GBreak.h: New file.
3543 * mc-boot/GCOROUTINES.h: New file.
3544 * mc-boot/GCmdArgs.c: New file.
3545 * mc-boot/GCmdArgs.h: New file.
3546 * mc-boot/GDebug.c: New file.
3547 * mc-boot/GDebug.h: New file.
3548 * mc-boot/GDynamicStrings.c: New file.
3549 * mc-boot/GDynamicStrings.h: New file.
3550 * mc-boot/GEnvironment.c: New file.
3551 * mc-boot/GEnvironment.h: New file.
3552 * mc-boot/GFIO.c: New file.
3553 * mc-boot/GFIO.h: New file.
3554 * mc-boot/GFormatStrings.c: New file.
3555 * mc-boot/GFormatStrings.h: New file.
3556 * mc-boot/GFpuIO.c: New file.
3557 * mc-boot/GFpuIO.h: New file.
3558 * mc-boot/GIO.c: New file.
3559 * mc-boot/GIO.h: New file.
3560 * mc-boot/GIndexing.c: New file.
3561 * mc-boot/GIndexing.h: New file.
3562 * mc-boot/GM2Dependent.c: New file.
3563 * mc-boot/GM2Dependent.h: New file.
3564 * mc-boot/GM2EXCEPTION.c: New file.
3565 * mc-boot/GM2EXCEPTION.h: New file.
3566 * mc-boot/GM2LINK.h: New file.
3567 * mc-boot/GM2RTS.c: New file.
3568 * mc-boot/GM2RTS.h: New file.
3569 * mc-boot/GMemUtils.c: New file.
3570 * mc-boot/GMemUtils.h: New file.
3571 * mc-boot/GNumberIO.c: New file.
3572 * mc-boot/GNumberIO.h: New file.
3573 * mc-boot/GPushBackInput.c: New file.
3574 * mc-boot/GPushBackInput.h: New file.
3575 * mc-boot/GRTExceptions.c: New file.
3576 * mc-boot/GRTExceptions.h: New file.
3577 * mc-boot/GRTco.h: New file.
3578 * mc-boot/GRTint.c: New file.
3579 * mc-boot/GRTint.h: New file.
3580 * mc-boot/GSArgs.c: New file.
3581 * mc-boot/GSArgs.h: New file.
3582 * mc-boot/GSFIO.c: New file.
3583 * mc-boot/GSFIO.h: New file.
3584 * mc-boot/GSYSTEM.h: New file.
3585 * mc-boot/GSelective.h: New file.
3586 * mc-boot/GStdIO.c: New file.
3587 * mc-boot/GStdIO.h: New file.
3588 * mc-boot/GStorage.c: New file.
3589 * mc-boot/GStorage.h: New file.
3590 * mc-boot/GStrCase.c: New file.
3591 * mc-boot/GStrCase.h: New file.
3592 * mc-boot/GStrIO.c: New file.
3593 * mc-boot/GStrIO.h: New file.
3594 * mc-boot/GStrLib.c: New file.
3595 * mc-boot/GStrLib.h: New file.
3596 * mc-boot/GStringConvert.c: New file.
3597 * mc-boot/GStringConvert.h: New file.
3598 * mc-boot/GSysExceptions.h: New file.
3599 * mc-boot/GSysStorage.c: New file.
3600 * mc-boot/GSysStorage.h: New file.
3601 * mc-boot/GTimeString.c: New file.
3602 * mc-boot/GTimeString.h: New file.
3603 * mc-boot/GUnixArgs.h: New file.
3604 * mc-boot/Galists.c: New file.
3605 * mc-boot/Galists.h: New file.
3606 * mc-boot/Gdecl.c: New file.
3607 * mc-boot/Gdecl.h: New file.
3608 * mc-boot/Gdtoa.h: New file.
3609 * mc-boot/Gerrno.h: New file.
3610 * mc-boot/Gkeyc.c: New file.
3611 * mc-boot/Gkeyc.h: New file.
3612 * mc-boot/Gldtoa.h: New file.
3613 * mc-boot/Glibc.h: New file.
3614 * mc-boot/Glibm.h: New file.
3615 * mc-boot/Glists.c: New file.
3616 * mc-boot/Glists.h: New file.
3617 * mc-boot/GmcComment.c: New file.
3618 * mc-boot/GmcComment.h: New file.
3619 * mc-boot/GmcComp.c: New file.
3620 * mc-boot/GmcComp.h: New file.
3621 * mc-boot/GmcDebug.c: New file.
3622 * mc-boot/GmcDebug.h: New file.
3623 * mc-boot/GmcError.c: New file.
3624 * mc-boot/GmcError.h: New file.
3625 * mc-boot/GmcFileName.c: New file.
3626 * mc-boot/GmcFileName.h: New file.
3627 * mc-boot/GmcLexBuf.c: New file.
3628 * mc-boot/GmcLexBuf.h: New file.
3629 * mc-boot/GmcMetaError.c: New file.
3630 * mc-boot/GmcMetaError.h: New file.
3631 * mc-boot/GmcOptions.c: New file.
3632 * mc-boot/GmcOptions.h: New file.
3633 * mc-boot/GmcPreprocess.c: New file.
3634 * mc-boot/GmcPreprocess.h: New file.
3635 * mc-boot/GmcPretty.c: New file.
3636 * mc-boot/GmcPretty.h: New file.
3637 * mc-boot/GmcPrintf.c: New file.
3638 * mc-boot/GmcPrintf.h: New file.
3639 * mc-boot/GmcQuiet.c: New file.
3640 * mc-boot/GmcQuiet.h: New file.
3641 * mc-boot/GmcReserved.c: New file.
3642 * mc-boot/GmcReserved.h: New file.
3643 * mc-boot/GmcSearch.c: New file.
3644 * mc-boot/GmcSearch.h: New file.
3645 * mc-boot/GmcStack.c: New file.
3646 * mc-boot/GmcStack.h: New file.
3647 * mc-boot/GmcStream.c: New file.
3648 * mc-boot/GmcStream.h: New file.
3649 * mc-boot/Gmcflex.h: New file.
3650 * mc-boot/Gmcp1.c: New file.
3651 * mc-boot/Gmcp1.h: New file.
3652 * mc-boot/Gmcp2.c: New file.
3653 * mc-boot/Gmcp2.h: New file.
3654 * mc-boot/Gmcp3.c: New file.
3655 * mc-boot/Gmcp3.h: New file.
3656 * mc-boot/Gmcp4.c: New file.
3657 * mc-boot/Gmcp4.h: New file.
3658 * mc-boot/Gmcp5.c: New file.
3659 * mc-boot/Gmcp5.h: New file.
3660 * mc-boot/GnameKey.c: New file.
3661 * mc-boot/GnameKey.h: New file.
3662 * mc-boot/Gpth.h: New file.
3663 * mc-boot/GsymbolKey.c: New file.
3664 * mc-boot/GsymbolKey.h: New file.
3665 * mc-boot/Gtermios.h: New file.
3666 * mc-boot/Gtop.c: New file.
3667 * mc-boot/Gvarargs.c: New file.
3668 * mc-boot/Gvarargs.h: New file.
3669 * mc-boot/Gwlists.c: New file.
3670 * mc-boot/Gwlists.h: New file.
3671 * mc-boot/Gwrapc.h: New file.
3672 * mc-boot/README: New file.
3673 * mc/Indexing.def: New file.
3674 * mc/Indexing.mod: New file.
3675 * mc/README: New file.
3676 * mc/alists.def: New file.
3677 * mc/alists.mod: New file.
3678 * mc/decl.def: New file.
3679 * mc/decl.mod: New file.
3680 * mc/decl.mod-extra: New file.
3681 * mc/keyc.def: New file.
3682 * mc/keyc.mod: New file.
3683 * mc/lists.def: New file.
3684 * mc/lists.mod: New file.
3685 * mc/m2flex.def: New file.
3686 * mc/mc.flex: New file.
3687 * mc/mcComment.def: New file.
3688 * mc/mcComment.h: New file.
3689 * mc/mcComment.mod: New file.
3690 * mc/mcComp.def: New file.
3691 * mc/mcComp.mod: New file.
3692 * mc/mcDebug.def: New file.
3693 * mc/mcDebug.mod: New file.
3694 * mc/mcError.def: New file.
3695 * mc/mcError.mod: New file.
3696 * mc/mcFileName.def: New file.
3697 * mc/mcFileName.mod: New file.
3698 * mc/mcLexBuf.def: New file.
3699 * mc/mcLexBuf.h: New file.
3700 * mc/mcLexBuf.mod: New file.
3701 * mc/mcMetaError.def: New file.
3702 * mc/mcMetaError.mod: New file.
3703 * mc/mcOptions.def: New file.
3704 * mc/mcOptions.mod: New file.
3705 * mc/mcPreprocess.def: New file.
3706 * mc/mcPreprocess.mod: New file.
3707 * mc/mcPretty.def: New file.
3708 * mc/mcPretty.mod: New file.
3709 * mc/mcPrintf.def: New file.
3710 * mc/mcPrintf.mod: New file.
3711 * mc/mcQuiet.def: New file.
3712 * mc/mcQuiet.mod: New file.
3713 * mc/mcReserved.def: New file.
3714 * mc/mcReserved.h: New file.
3715 * mc/mcReserved.mod: New file.
3716 * mc/mcSearch.def: New file.
3717 * mc/mcSearch.mod: New file.
3718 * mc/mcStack.def: New file.
3719 * mc/mcStack.mod: New file.
3720 * mc/mcStream.def: New file.
3721 * mc/mcStream.mod: New file.
3722 * mc/mcflex.def: New file.
3723 * mc/mcp1.bnf: New file.
3724 * mc/mcp1.def: New file.
3725 * mc/mcp2.bnf: New file.
3726 * mc/mcp2.def: New file.
3727 * mc/mcp3.bnf: New file.
3728 * mc/mcp3.def: New file.
3729 * mc/mcp4.bnf: New file.
3730 * mc/mcp4.def: New file.
3731 * mc/mcp5.bnf: New file.
3732 * mc/mcp5.def: New file.
3733 * mc/nameKey.def: New file.
3734 * mc/nameKey.mod: New file.
3735 * mc/symbolKey.def: New file.
3736 * mc/symbolKey.mod: New file.
3737 * mc/top.mod: New file.
3738 * mc/varargs.def: New file.
3739 * mc/varargs.mod: New file.
3740 * mc/wlists.def: New file.
3741 * mc/wlists.mod: New file.
3742 * pge-boot/GASCII.c: New file.
3743 * pge-boot/GASCII.h: New file.
3744 * pge-boot/GArgs.c: New file.
3745 * pge-boot/GArgs.h: New file.
3746 * pge-boot/GAssertion.c: New file.
3747 * pge-boot/GAssertion.h: New file.
3748 * pge-boot/GBreak.h: New file.
3749 * pge-boot/GBuiltins.c: New file.
3750 * pge-boot/GCmdArgs.h: New file.
3751 * pge-boot/GDebug.c: New file.
3752 * pge-boot/GDebug.h: New file.
3753 * pge-boot/GDynamicStrings.c: New file.
3754 * pge-boot/GDynamicStrings.h: New file.
3755 * pge-boot/GEnvironment.h: New file.
3756 * pge-boot/GFIO.c: New file.
3757 * pge-boot/GFIO.h: New file.
3758 * pge-boot/GFormatStrings.h: New file.
3759 * pge-boot/GFpuIO.h: New file.
3760 * pge-boot/GIO.c: New file.
3761 * pge-boot/GIO.h: New file.
3762 * pge-boot/GIndexing.c: New file.
3763 * pge-boot/GIndexing.h: New file.
3764 * pge-boot/GLists.c: New file.
3765 * pge-boot/GLists.h: New file.
3766 * pge-boot/GM2Dependent.c: New file.
3767 * pge-boot/GM2Dependent.h: New file.
3768 * pge-boot/GM2EXCEPTION.c: New file.
3769 * pge-boot/GM2EXCEPTION.h: New file.
3770 * pge-boot/GM2LINK.c: New file.
3771 * pge-boot/GM2LINK.h: New file.
3772 * pge-boot/GM2RTS.c: New file.
3773 * pge-boot/GM2RTS.h: New file.
3774 * pge-boot/GNameKey.c: New file.
3775 * pge-boot/GNameKey.h: New file.
3776 * pge-boot/GNumberIO.c: New file.
3777 * pge-boot/GNumberIO.h: New file.
3778 * pge-boot/GOutput.c: New file.
3779 * pge-boot/GOutput.h: New file.
3780 * pge-boot/GPushBackInput.c: New file.
3781 * pge-boot/GPushBackInput.h: New file.
3782 * pge-boot/GRTExceptions.c: New file.
3783 * pge-boot/GRTExceptions.h: New file.
3784 * pge-boot/GRTco.c: New file.
3785 * pge-boot/GSArgs.h: New file.
3786 * pge-boot/GSEnvironment.h: New file.
3787 * pge-boot/GSFIO.c: New file.
3788 * pge-boot/GSFIO.h: New file.
3789 * pge-boot/GSYSTEM.c: New file.
3790 * pge-boot/GSYSTEM.h: New file.
3791 * pge-boot/GScan.h: New file.
3792 * pge-boot/GSelective.c: New file.
3793 * pge-boot/GStdIO.c: New file.
3794 * pge-boot/GStdIO.h: New file.
3795 * pge-boot/GStorage.c: New file.
3796 * pge-boot/GStorage.h: New file.
3797 * pge-boot/GStrCase.c: New file.
3798 * pge-boot/GStrCase.h: New file.
3799 * pge-boot/GStrIO.c: New file.
3800 * pge-boot/GStrIO.h: New file.
3801 * pge-boot/GStrLib.c: New file.
3802 * pge-boot/GStrLib.h: New file.
3803 * pge-boot/GStringConvert.h: New file.
3804 * pge-boot/GSymbolKey.c: New file.
3805 * pge-boot/GSymbolKey.h: New file.
3806 * pge-boot/GSysExceptions.c: New file.
3807 * pge-boot/GSysExceptions.h: New file.
3808 * pge-boot/GSysStorage.c: New file.
3809 * pge-boot/GSysStorage.h: New file.
3810 * pge-boot/GTimeString.h: New file.
3811 * pge-boot/GUnixArgs.cc: New file.
3812 * pge-boot/GUnixArgs.h: New file.
3813 * pge-boot/Gabort.c: New file.
3814 * pge-boot/Gbnflex.c: New file.
3815 * pge-boot/Gbnflex.h: New file.
3816 * pge-boot/Gcbuiltin.c: New file.
3817 * pge-boot/Gdtoa.c: New file.
3818 * pge-boot/Gdtoa.h: New file.
3819 * pge-boot/Gerrno.c: New file.
3820 * pge-boot/Gerrno.h: New file.
3821 * pge-boot/Gldtoa.c: New file.
3822 * pge-boot/Gldtoa.h: New file.
3823 * pge-boot/Glibc.c: New file.
3824 * pge-boot/Glibc.h: New file.
3825 * pge-boot/Glibm.c: New file.
3826 * pge-boot/Glibm.h: New file.
3827 * pge-boot/Gmcrts.c: New file.
3828 * pge-boot/Gmcrts.h: New file.
3829 * pge-boot/Gnetwork.h: New file.
3830 * pge-boot/Gpge.c: New file.
3831 * pge-boot/Gtermios.cc: New file.
3832 * pge-boot/Gtermios.h: New file.
3833 * pge-boot/Gwrapc.c: New file.
3834 * pge-boot/Gwrapc.h: New file.
3835 * pge-boot/README: New file.
3836 * pge-boot/m2rts.h: New file.
3837 * pge-boot/main.c: New file.
3838 * pge-boot/network.c: New file.
3839 * plugin/README: New file.
3840 * plugin/m2rte.cc: New file.
3841 * tools-src/README: New file.
3842 * tools-src/boilerplate.py: New file.
3843 * tools-src/buildpg: New file.
3844 * tools-src/calcpath: New file.
3845 * tools-src/def2doc.py: New file.
3846 * tools-src/makeSystem: New file.
3847 * tools-src/mklink.c: New file.
3848 * tools-src/tidydates.py: New file.
3849 * images/LICENSE.IMG: New file.
3850 * images/gnupng: New file.
3851 * images/gnu.eps: New file.
3852 * version.c: New file.
3853 * configure: Rebuilt.
3854 * target-independent/Builtins.texi: New file.
3855 * target-independent/SYSTEM-iso.texi: New file.
3856 * target-independent/SYSTEM-pim.texi: New file.
3857 * target-independent/gm2-libs.texi: New file.
3858 * target-independent/readme.txt: New file.