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