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