| 2026-11-09 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-ici/M2Emit.mod: Removed. | |
| * gm2-ici/README: Removed. | |
| * gm2-ici/m2linemap.c: Removed. | |
| 2026-11-04 Pietro Monteiro <pietro@sociotechnical.xyz> | |
| PR bootstrap/103459 | |
| * gm2-libs/config-host.in: Replace AC_CONFIG_HEADER with AC_CONFIG_HEADERS. | |
| 2026-10-26 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/127991 | |
| * gm2-gcc/m2decl.cc (m2decl_DeclareKnownConstant): Build the | |
| anonymous constant declaration without a name. | |
| 2026-10-12 Iain Sandoe <iain@sandoe.co.uk> | |
| * Make-lang.in: Do not makr m2.pod as .INTERMEDIATE but delete it | |
| explicitly in clean targets. | |
| 2026-10-09 Sam James <sam@gentoo.org> | |
| PR bootstrap/112422 | |
| * gm2-libs/config-host.in: Drop AC_HEADER_STDC. | |
| 2026-10-09 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/127794 | |
| * gm2-libs/M2Diagnostic.def (MemIncrLong): New procedure. | |
| (MemDecrLong): Ditto. | |
| (MemSetLong): Ditto. | |
| (TotalHeapIncrLong): Ditto. | |
| (TotalHeapDecrLong): Ditto. | |
| * gm2-libs/M2Diagnostic.mod (MemIncrLong): New procedure. | |
| (MemDecrLong): Ditto. | |
| (MemSetLong): Ditto. | |
| (TotalHeapIncrLong): Ditto. | |
| (TotalHeapDecrLong): Ditto. | |
| (MemIncr): Reimplement. | |
| (MemDecr): Ditto. | |
| (MemSet): Ditto. | |
| (TotalHeapIncr): Ditto. | |
| (TotalHeapDecr): Ditto. | |
| * gm2-libs/LongStorage.def: New file. | |
| * gm2-libs/LongStorage.mod: New file. | |
| * gm2-libs/LongSysStorage.def: New file. | |
| * gm2-libs/LongSysStorage.mod: New file. | |
| 2026-09-29 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/127657 | |
| * gm2-compiler/M2Quads.mod (BuildValFunction): Add filtering | |
| spell check for unknown symbols. | |
| 2026-09-26 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/127622 | |
| * gm2-compiler/M2Base.mod (CheckCompatible): Rename t1 to left. | |
| Rename t2 to right. | |
| Add spellcheck hint format specifiers to unknown types. | |
| * gm2-compiler/M2MetaError.mod (ConfigureFilter): New procedure. | |
| (errorBlock): filterVar new field. | |
| filterType new field. | |
| filterConst new field. | |
| (continuation): Add T V C filter modifiers. | |
| (FilterOnType): New procedure. | |
| (FilterOnVariable): Ditto. | |
| (FilrerOnConst): Ditto. | |
| (SpellHint): Call ConfigureFilter. | |
| * gm2-compiler/M2StackSpell.def (FilterType): New procedure. | |
| (FilterVariable): Ditto. | |
| (FilrerConst): Ditto. | |
| * gm2-compiler/M2StackSpell.mod (FilterKind): New type. | |
| (FilterSet): Ditto. | |
| (CurrentFilter): New variable. | |
| (PushNameFilter): New procedure. | |
| (PushCandidates): Pass PushNameFilter as callback. | |
| (GetSpellHintFilter): New procedure. | |
| (GetSpellHint): Reimplement. | |
| (FilterType): New procedure. | |
| (FilterVariable): Ditto. | |
| (FilterConst): Ditto. | |
| (Init): Initialize CurrentFilter. | |
| * gm2-compiler/P3SymBuild.mod (P3StartBuildDefModule): Push base | |
| module. | |
| (P3EndBuildDefModule): Pop base module. | |
| (P3StartBuildImpModule): Push base module. | |
| (P3EndBuildImpModule): Pop base module. | |
| (P3StartBuildProgModule): Push base module. | |
| (P3EndBuildProgModule): Pop base module. | |
| (StartBuildInnerModule): Push base module. | |
| (EndBuildInnerModule): Pop base module. | |
| * gm2-compiler/PCSymBuild.mod (PCEndBuildDefModule): Pop | |
| base module. | |
| (PCStartBuildImpModule): Push base module. | |
| (PCEndBuildImpModule): Pop base module. | |
| (PCStartBuildProgModule): Push base module. | |
| (PCEndBuildProgModule): Pop base module. | |
| (StartBuildInnerModule): Push base module. | |
| (EndBuildInnerModule): Pop base module. | |
| 2026-09-25 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/127567 | |
| * gm2-compiler/P1SymBuild.mod (BuildImportInnerModule): Call | |
| PutImported if sym is a defimp or module. | |
| * gm2-compiler/SymbolConversion.def (Gcc2Mod): Correct parameter | |
| name. | |
| * gm2-compiler/SymbolConversion.mod (Gcc2Mod): Ditto. | |
| * gm2-compiler/SymbolTable.mod (IsExternalModule): New procedure | |
| function. | |
| (AddSymToModuleScope): Only generate an error if the symbol is | |
| not an external module. | |
| 2026-09-22 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/127554 | |
| * gm2-compiler/M2MetaError.mod (SpellHint): Allow error symbols to | |
| be spell checked. | |
| * gm2-compiler/M2Quads.mod (BuildConstructor): Generate a spelling | |
| hint error message if the name is set and an error is seen. | |
| (PopTntok): New procedure. | |
| * gm2-compiler/PCBuild.bnf (CreateQualident): New procedure. | |
| (PushQualident): Reimplement. | |
| * gm2-compiler/PCSymBuild.mod (PCStartBuildDefModule): Push | |
| module to spelling stack. | |
| (PCStartBuildImpModule): Ditto. | |
| (PCStartBuildInnerModule): Ditto. | |
| (PCEndBuildDefModule): Pop top of spell stack. | |
| (PCEndBuildImpModule): Ditto. | |
| (PCEndBuildProgModule): Ditto. | |
| (PCEndBuildInnerModule): Ditto. | |
| (PCEndBuildProcedure): Ditto. | |
| (PCBuildProcedureHeading): Ditto. | |
| (PCEndBuildForward): Reimplement. | |
| 2026-09-21 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/127469 | |
| * gm2-compiler/M2Quads.mod (BuildConstructor): Check for | |
| tok UnknownTokenNo and if not equal generate an error message | |
| at tok stating the type is unknown. | |
| * gm2-compiler/PCSymBuild.mod (WalkConvert): Check totype for | |
| NulSym and if so return FALSE. | |
| 2026-09-17 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/126174 | |
| * Make-lang.in (m2/gm2-libs.texi): Add test for | |
| m2/gm2-libs-pim-common and create if necessary. | |
| Add test for m2/gm2-libs-iso-common and create if necessary. | |
| Add test for m2/gm2-libs-cor-common and create if necessary. | |
| * tools-src/def2doc.py (Base_Libs): Change section heading name. | |
| (library_classifications): Add PIM_Common, ISO_Common and | |
| COR_Common. | |
| (PIM_Common): New list. | |
| (ISO_Common): New list. | |
| (COR_Common): New list. | |
| * gm2-libs-cor-common/README.texi: New file. | |
| * gm2-libs-iso-common/README.texi: New file. | |
| * gm2-libs-pim-common/README.texi: New file. | |
| 2026-09-16 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/127359 | |
| * tools-src/makeSystem: Replace echo with printf equivalent. | |
| 2026-09-11 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-gcc/m2builtins.cc (define_builtin): Reimplement. | |
| (do_define_builtin): New function. | |
| (data_type_supported): Ditto. | |
| (param_data_type_supported): Ditto. | |
| (dump_builtin): Call dump_available if | |
| param_data_type_supported. | |
| * gm2-libs-iso-common/ComplexMath.def (arcsin): Replace | |
| with template tag. | |
| (arccos): Ditto. | |
| (arctan): Ditto. | |
| * gm2-libs-iso-common/ComplexMath.mod (arcsin): Replace | |
| with template tag. | |
| (arccos): Ditto. | |
| (arctan): Ditto. | |
| * gm2-libs-iso-common/LongComplexMath.def (arcsin): Replace | |
| with template tag. | |
| (arccos): Ditto. | |
| (arctan): Ditto. | |
| * gm2-libs-iso-common/LongComplexMath.mod (arcsin): Replace | |
| with template tag. | |
| (arccos): Ditto. | |
| (arctan): Ditto. | |
| * gm2-libs-iso-common/ShortComplexMath.def (arcsin): Replace | |
| with template tag. | |
| (arccos): Ditto. | |
| (arctan): Ditto. | |
| * gm2-libs-iso-common/ShortComplexMath.mod (arcsin): Replace | |
| with template tag. | |
| (arccos): Ditto. | |
| (arctan): Ditto. | |
| * gm2-libs-pim-common/Builtins.def (carcsinf): Replace | |
| with template tag. | |
| (carcsin): Ditto. | |
| (carcsinl): Ditto. | |
| (carccosf): Ditto. | |
| (carccos): Ditto. | |
| (carccosl): Ditto. | |
| (carctanf): Ditto. | |
| (carctan): Ditto. | |
| (carctanl): Ditto. | |
| * gm2-libs-pim-common/Builtins.mod: (carcsinf): Replace | |
| with template tag. | |
| (carcsin): Ditto. | |
| (carcsinl): Ditto. | |
| (carccosf): Ditto. | |
| (carccos): Ditto. | |
| (carccosl): Ditto. | |
| (carctanf): Ditto. | |
| (carctan): Ditto. | |
| (carctanl): Ditto. | |
| * gm2-libs-pim-common/cbuiltin.def (casinf): Replace | |
| with template tag. | |
| (casin): Ditto. | |
| (casinl): Ditto. | |
| (cacosf): Ditto. | |
| (cacos): Ditto. | |
| (cacosl): Ditto. | |
| (catanf): Ditto. | |
| (catan): Ditto. | |
| (catanl): Ditto. | |
| * gm2spec.cc (lang_specific_driver): Comment formatting. | |
| * tools-src/mktargetsrc.py (do_output_mod_builtin): New | |
| function. | |
| (output_mod_builtin): Ditto. | |
| (list_of_builtins): Add casin, casinf, casinl, cacos, cacosf, | |
| cacosl, catan, catanf and catanl. | |
| 2026-09-07 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/126847 | |
| * Make-lang.in (TEXILIBSRC): New define. | |
| (m2/stage1/cc1gm2$(exeext)): Rewrite. | |
| (m2/gm2-gcc/$(SRC_PREFIX)%.h): Add order-only dependancy. | |
| (m2/gm2-libs-boot/M2RTS.o): Ditto. | |
| (m2/gm2-libs-boot/%.o): Ditto. | |
| (m2/gm2-libs-boot/$(SRC_PREFIX)%.h): Ditto. | |
| (m2/gm2-libs-boot/RTintdummy.o): Ditto. | |
| (m2/gm2-libs-boot/wrapc.o): Ditto. | |
| (m2/gm2-libs-boot/UnixArgs.o): Ditto. | |
| (m2/gm2-libs-boot/choosetemp.o): Ditto. | |
| (m2/gm2-libs-boot/errno.o): Ditto. | |
| (m2/gm2-libs-boot/dtoa.o): Ditto. | |
| (m2/gm2-libs-boot/ldtoa.o): Ditto. | |
| (m2/gm2-libs-boot/termios.o): Ditto. | |
| (m2/gm2-libs-boot/SysExceptions.o): Ditto. | |
| (m2/gm2-libs-boot/SysStorage.o): Ditto. | |
| (m2/gm2-libs-boot/Selective.o): Ditto. | |
| (m2/gm2-compiler-boot/M2GCCDeclare.o): Ditto. | |
| (m2/gm2-compiler-boot/M2Error.o): Ditto. | |
| (m2/gm2-compiler-boot/%.o): Ditto. | |
| (m2/gm2-compiler-boot/$(SRC_PREFIX)%.h): Ditto. | |
| (m2/gm2-compiler-boot/P0SyntaxCheck.c): Ditto. | |
| (m2/gm2-compiler-boot/P0SyntaxCheck.o): Ditto. | |
| (m2/gm2-compiler-boot/P1Build.c): Ditto. | |
| (m2/gm2-compiler-boot/P1Build.o): Ditto. | |
| (m2/gm2-compiler-boot/P2Build.c): Ditto. | |
| (m2/gm2-compiler-boot/P2Build.o): Ditto. | |
| (m2/gm2-compiler-boot/P3Build.c): Ditto. | |
| (m2/gm2-compiler-boot/P3Build.o): Ditto. | |
| (m2/gm2-compiler-boot/PCBuild.c): Ditto. | |
| (m2/gm2-compiler-boot/PCBuild.o): Ditto. | |
| (m2/gm2-compiler-boot/PHBuild.c): Ditto. | |
| (m2/gm2-compiler-boot/PHBuild.o): Ditto. | |
| (m2/gm2-compiler-boot/m2flex.o): Ditto. | |
| (m2/gm2-libiberty/$(SRC_PREFIX)%.h): Ditto. | |
| (m2/gm2-compiler/%.o): Ditto. | |
| (m2/gm2-compiler/m2flex.o): Ditto. | |
| (m2/gm2-libs/choosetemp.o): Ditto. | |
| (m2/gm2-libs-boot/libgm2.a): Ditto. | |
| (m2/gm2-compiler-boot/gm2.a): Ditto. | |
| 2026-08-24 Gaius Mulley <gaiusmod2@gmail.com> | |
| * Make-lang.in (GM2_FOR_TARGET_ESC): Remove. | |
| (m2/gm2-libs/Builtins.def): Use "$(GM2_FOR_TARGET)" instead of | |
| $(GM2_FOR_TARGET_ESC). | |
| (m2/gm2-libs/Builtins.mod): Ditto. | |
| (m2/gm2-libs/SYSTEM.def): Ditto. | |
| (m2/gm2-libs-iso/SYSTEM.def): Ditto. | |
| 2026-08-19 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/126911 | |
| * tools-src/mktargetsrc.py (safeRemove): New function. | |
| (quietSystem): Call safeRemove for temporaryFile and | |
| args.outputfile. | |
| 2026-08-19 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/126911 | |
| * tools-src/mktargetsrc.py (quietSystem): Add temporaryFile | |
| parameter. | |
| Tidy up if result is non zero by removing temporaryFile | |
| and args.outputfile. | |
| 2026-08-12 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/125129 | |
| * Make-lang.in (escape_path): New define. | |
| (GM2_FOR_TARGET_ESC): New define. | |
| (RSTSRC): Remove. | |
| (gm2-libs.texi-check): Rewrite without $(objdir). | |
| (m2/gm2-libs.rst): Remove. | |
| (gm2-ebnf.rst): Ditto. | |
| (gm2-ebnf.rst-check): Ditto. | |
| (SYSTEM-pim-texi-check): Ditto. | |
| (m2/SYSTEM-pim.rst): Ditto. | |
| (m2/SYSTEM-iso.texi): Rewrite without $(objdir). | |
| (Builtins.texi-check): Rewrite specifying $(srcdir). | |
| (m2/Builtins.rst): Remove. | |
| (MC_ARGS): Add -I$(srcdir)/m2/gm2-libs-pim-common | |
| and -I$(srcdir)/m2/mc-boot-ch. | |
| (m2/mc-boot/$(SRC_PREFIX)%.o): Add -I$(srcdir)/m2/mc-boot-ch. | |
| (m2/mc-boot-ch/$(SRC_PREFIX)%.o): Ditto. | |
| (MC_BOOT_INCLUDES): New define. | |
| (m2/gm2-libs-boot/UnixArgs.o): Add MC_BOOT_INCLUDES. | |
| (m2/gm2-libs-boot/choosetemp.o): Ditto. | |
| (m2/gm2-libs-boot/errno.o): Ditto. | |
| (m2/gm2-libs-boot/dtoa.o): Ditto. | |
| (m2/gm2-libs-boot/ldtoa.o): Ditto. | |
| (m2/gm2-libs-boot/termios.o): Ditto. | |
| (m2/gm2-libs-boot/SysExceptions.o): Ditto. | |
| (m2/gm2-libs-boot/SysStorage.o): Ditto. | |
| (m2/gm2-libs/Builtins.def): Rewrite. | |
| (m2/gm2-libs/Builtins.mod): Ditto. | |
| (m2/gm2-libs/SYSTEM.def): Ditto. | |
| (m2/gm2-libs-iso/SYSTEM.def): Ditto. | |
| (m2/gm2-libs-coroutines/SYSTEM.def): Ditto. | |
| (m2/gm2-libs/%.o): Ditto. | |
| * gm2-compiler/M2Options.def (SetDumpBuiltins): New procedure. | |
| (GetDumpBuiltins): New procedure function. | |
| * gm2-compiler/M2Options.mod (DumpBuiltinsFlag): New variable. | |
| (SetDumpBuiltins): Implement new procedure. | |
| (GetDumpBuiltins): Implement new procedure function. | |
| * gm2-compiler/M2Quads.mod (BuildComponentValue): Removed unused | |
| variable virtpos. | |
| * gm2-gcc/m2builtins.cc (GM2_BUG_REPORT): Reformat. | |
| (ASSERT): Ditto. | |
| (ERROR): Ditto. | |
| (dump_available): New funmction. | |
| (define_builtin): Call dump_available if GetDumpBuiltins is set. | |
| (dump_builtin): New function. | |
| (m2builtins_init): Call dump_builtin. | |
| * gm2-gcc/m2options.h (M2Options_SetDumpBuiltins): New prototype. | |
| (M2Options_GetDumpBuiltins): Ditto. | |
| * gm2-lang.cc (gm2_langhook_handle_option): Add OPT_fdump_builtins | |
| case. | |
| * gm2-libs-coroutines/SYSTEM.def: Move to... | |
| * gm2-libs-cor-common/SYSTEM.def: ...here. | |
| * gm2-libs-coroutines/SYSTEM.mod: Move to... | |
| * gm2-libs-cor-common/SYSTEM.mod: ...here. | |
| * gm2-libs-iso/ComplexMath.def: Move to... | |
| * gm2-libs-iso-common/ComplexMath.def: ...here. | |
| Add tags. | |
| * gm2-libs-iso/ComplexMath.mod: Move to... | |
| * gm2-libs-iso-common/ComplexMath.mod: ...here. | |
| Add tags. | |
| * gm2-libs-iso/LongComplexMath.def: Move to... | |
| * gm2-libs-iso-common/LongComplexMath.def: ...here. | |
| Add tags. | |
| * gm2-libs-iso/LongComplexMath.mod: Move to... | |
| * gm2-libs-iso-common/LongComplexMath.mod: ...here. | |
| Add tags. | |
| * gm2-libs-iso/SYSTEM.def: Move to... | |
| * gm2-libs-iso-common/SYSTEM.def: ...here. | |
| Add tags. | |
| * gm2-libs-iso/SYSTEM.mod: Move to... | |
| * gm2-libs-iso-common/SYSTEM.mod: ...here. | |
| Add tags. | |
| * gm2-libs-iso/ShortComplexMath.def: Move to... | |
| * gm2-libs-iso-common/ShortComplexMath.def: ...here. | |
| Add tags. | |
| * gm2-libs-iso/ShortComplexMath.mod: Move to... | |
| * gm2-libs-iso-common/ShortComplexMath.mod: ...here. | |
| Add tags. | |
| * gm2-libs/Builtins.def: Move to... | |
| * gm2-libs-pim-common/Builtins.def: ...here. | |
| Add tags. | |
| * gm2-libs/Builtins.mod: Move to... | |
| * gm2-libs-pim-common/Builtins.mod: ...here. | |
| Add tags. | |
| * gm2-libs/SYSTEM.def: Move to... | |
| * gm2-libs-pim-common/SYSTEM.def: ...here. | |
| Add tags. | |
| * gm2-libs/SYSTEM.mod: Move to... | |
| * gm2-libs-pim-common/SYSTEM.mod: ...here. | |
| Add tags. | |
| * gm2-libs/cbuiltin.def: Move to... | |
| * gm2-libs-pim-common/cbuiltin.def: ...here. | |
| Add tags. | |
| * gm2-libs-min/SYSTEM.def: Add tags. | |
| * lang.opt (fdump-builtins): Add. | |
| * tools-src/def2doc.py: Modified to process tags. | |
| * tools-src/makeSystem: Modified to reflect new tags. | |
| * tools-src/mktargetsrc.py: New file. | |
| 2026-07-10 Léo Hardt <leom.hardt@inf.ufrgs.br> | |
| * plugin/m2rte.cc: Removed unused extern bool | |
| ggc_force_collect. | |
| 2026-06-03 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/125512 | |
| * gm2-compiler/P3Build.bnf (SubDesignator): Rewrite to | |
| include spell checking. | |
| 2026-06-02 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/125544 | |
| * gm2-libs-iso/Storage.def (REALLOCATE): Updated comment | |
| describing new behavior. | |
| * gm2-libs-iso/Storage.mod (REALLOCATE): Check addr | |
| and call ALLOCATE if NIL else call lowerReallocate. | |
| (lowerReallocate): New procedure. | |
| 2026-05-19 Jakub Jelinek <jakub@redhat.com> | |
| PR other/125348 | |
| * gm2-compiler/M2GenGCC.mod (PerformLastForIterator): Fix diagnostic | |
| typo, intemediate -> intermediate. | |
| 2026-04-21 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/120189 | |
| * gm2-compiler/M2Options.mod (DefaultRuntimeModuleOverride): Add | |
| reference comment to libgm2/libm2iso/m2rts.h. | |
| 2026-04-15 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/124081 | |
| * gm2-compiler/M2Quads.mod (SafeCheckWithField): New procedure. | |
| (BuildInclRange): Reimplement. | |
| (AddFieldTo): Ditto. | |
| (BuildComponentValue): Ditto. | |
| 2026-04-14 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/105408 | |
| * Make-lang.in (GM2-COMP-BOOT-MODS): Remove duplicate NameKey.mod. | |
| * gm2-compiler/M2GenGCC.mod (import): Remove BuildAssignmentTree. | |
| Add CopyMemcpy. | |
| (IsSystemTypeBecomes): New procedure function. | |
| (CodeAssignment): Rewrite using CopyMemcpy and IsSystemTypeBecomes. | |
| * gm2-gcc/m2convert.cc (const_to_ISO_aggregate_type): Reverse | |
| array elements if BYTES_BIG_ENDIAN. | |
| * gm2-gcc/m2pp.cc (ps): New function. | |
| * gm2-gcc/m2pp.h (pf): Added comment. | |
| (pe): Ditto. | |
| (pt): Ditto. | |
| (ptl): Ditto. | |
| (pv): Ditto. | |
| (ptcl): Ditto. | |
| * gm2-gcc/m2statement.cc (copy_memcpy): Replace with ... | |
| (m2statement_CopyMemcpy): ... this. | |
| (CopyByField_Lower): Call m2statement_CopyMemcpy instead of copy_memcpy. | |
| (m2statement_BuildAssignmentTree): Tidied up comment. | |
| Add test for ARRAY_TYPE CONSTRUCTOR expr and use | |
| m2statement_CopyMemcpy. | |
| Return type changed to void. | |
| * gm2-gcc/m2statement.def (BuildAssignmentTree): Rewrite declaration. | |
| (CopyMemcpy): New procedure declaration. | |
| * gm2-gcc/m2statement.h (m2statement_BuildAssignmentTree): Replace | |
| return type with void. | |
| (m2statement_CopyMemcpy): New function declaration. | |
| * gm2-gcc/m2type.cc (m2type_ReverseArrayConstructorElements): New | |
| function. | |
| * gm2-gcc/m2type.def (ReverseArrayConstructorElements): New | |
| procedure function declaration. | |
| * gm2-gcc/m2type.h (m2type_ReverseArrayConstructorElements): New | |
| function declaration. | |
| 2026-04-10 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/124840 | |
| * gm2-libs/BinDict.mod (Key): Return field key. | |
| 2026-04-07 Sandra Loosemore <sloosemore@baylibre.com> | |
| PR other/124784 | |
| * lang.opt.urls: Regenerated. | |
| 2026-01-25 Sandra Loosemore <sloosemore@baylibre.com> | |
| * lang.opt.urls: Regenerated. | |
| 2026-01-21 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/123739 | |
| * lang.opt: All option descriptions are now capitalized. | |
| (Wcase-enum): Warning tag added. | |
| (Wpedantic-param-names): Ditto. | |
| (Wpedantic-cast): Ditto. | |
| (Wverbose-unbounded): Ditto. | |
| (Wstyle): Ditto. | |
| (Wuninit-variable-checking): Ditto. | |
| (Wuninit-variable-checking=): Ditto. | |
| 2026-01-20 Jakub Jelinek <jakub@redhat.com> | |
| * lang.opt (Wpedantic-param-names, Wpedantic-cast, Wverbose-unbounded, | |
| Wstyle, fauto-init, fbounds, fcase, fcpp, fcpp-end, fcpp-begin, | |
| fdebug-builtins, fd, fdebug-function-line-numbers, fdef=, | |
| fdump-system-exports, fextended-opaque, ffloatvalue, | |
| fgen-module-list=, findex, fiso, flocation=, fm2-debug-trace=, | |
| fm2-dump=, fm2-dump-decl=, fm2-dump-gimple=, fm2-dump-quad=, | |
| fm2-dump-filter=, fm2-file-offset-bits=, fm2-g, fm2-lower-case, | |
| fm2-pathname=, fm2-pathname-root=, fm2-pathname-rootI=, fm2-plugin, | |
| fm2-prefix=, fm2-statistics, fm2-strict-type, fm2-strict-type-reason, | |
| fm2-whole-program, fmod=, fnil, fpim, fpim2, fpim3, fpim4, | |
| fpositive-mod-floor-div, fpthread, fq, frange, freturn, | |
| fruntime-modules=, fscaffold-dynamic, fscaffold-c, fscaffold-c++, | |
| fscaffold-main, fscaffold-static, fshared, fsoft-check-all, fsources, | |
| fswig, fuse-list=, fwideset, fwholediv, fwholevalue, save-temps, | |
| save-temps=): Add dot at the end of the description. | |
| 2025-12-19 Jakub Jelinek <jakub@redhat.com> | |
| * gm2-compiler/FilterError.mod: Fix comment typo, refering | |
| -> referring. | |
| * gm2-compiler/M2Batch.mod (LookupOuterModule): Likewise. | |
| 2025-12-17 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/23178 | |
| * gm2-compiler/P3SymBuild.mod (CheckCanBeImported): Reimplement to | |
| use MetaError2 and provide spell hints if possible for unknown symbols. | |
| 2025-12-17 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/123151 | |
| * gm2-libs/FIO.def (IsError): New procedure function. | |
| (IsActive): Rewrite the comment. | |
| (Exists): Ditto. | |
| (OpenToRead): Ditto. | |
| (OpenToWrite): Ditto. | |
| (Close): Add an optional BOOLEAN return result. | |
| * gm2-libs/FIO.mod (Close): Reimplement with an | |
| optional BOOLEAN return result. | |
| 2025-12-12 Pietro Monteiro <pietro@sociotechnical.xyz> | |
| * lang.opt.urls: Regenerate. | |
| 2025-12-11 Jakub Jelinek <jakub@redhat.com> | |
| * gm2-compiler/M2Check.mod (buildError4): Fix comment typo, | |
| paramters -> parameters. | |
| 2025-11-30 Andrew Pinski <andrew.pinski@oss.qualcomm.com> | |
| * lang.opt.urls: Regenerate. | |
| 2025-11-02 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/122499 | |
| * gm2-compiler/M2StackSpell.mod (PushName): Add comment. | |
| (GetSpellHint): Rewrite. | |
| (GetExportedSpellHint): New procedure function. | |
| (GetScopeSpellHint): New procedure function. | |
| * gm2-compiler/P1Build.bnf (IdentScope): Rewrite. | |
| (PossiblyExportIdent): Ditto. | |
| * gm2-compiler/P1SymBuild.mod (BuildImportInnerModule): Add | |
| parameter to AddNameToImportList. | |
| * gm2-compiler/SymbolTable.def (GetUnknownOnImport): New | |
| procedure function. | |
| (GetUnknownDeclScope): Ditto. | |
| (AddNameToScope): Add tok parameter. | |
| (AddNameToImportList): Ditto. | |
| * gm2-compiler/SymbolTable.mod (SymUndefined): New field | |
| declScope. | |
| New field onImport. | |
| (MakeObject): Add tok parameter. | |
| (FillInUnknownFields): Initialize declScope. | |
| Initialize onImport. | |
| (GetUnknownOnImport): New procedure function. | |
| (GetUnknownDeclScope): Ditto. | |
| (AddNameToScope): Pass tok to MakeObject. | |
| (AddNameToImportList): Add tok parameter. | |
| Pass tok to MakeObject. | |
| (GetDeclaredSym): Add parameters to FillInUnknownFields. | |
| (RequestSym): Ditto. | |
| (FetchUnknownFromModule): Ditto. | |
| (FetchUnknownFromDefImp): Ditto. | |
| (FetchUnknownFrom): Ditto. | |
| 2025-10-30 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/122485 | |
| * gm2-compiler/M2Comp.mod (Pass0CheckDef): Add spell check | |
| format specifier filtering on module names. | |
| * gm2-compiler/M2MetaError.mod (errorBlock): New field | |
| filterDef. | |
| (initErrorBlock): Initialize filterDef. | |
| (continuation): Add 'D' filter on definition module specifier. | |
| (SpellHint): Rewrite to check for filterDef and defimp symbols. | |
| (FilterOnDefinitionModule): New procedure. | |
| * gm2-compiler/M2Quads.mod (BuildSizeFunction): Rewrite to | |
| ensure variables are initialized. | |
| * gm2-compiler/M2StackSpell.def (GetDefModuleSpellHint): New | |
| procedure function. | |
| * gm2-compiler/M2StackSpell.mod (GetDefModuleSpellHint): New | |
| procedure function. | |
| (CandidatePushName): New procedure. | |
| (BuildHintStr): New procedure. | |
| (CheckForHintStr): Rewrite. | |
| 2025-10-24 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/122407 | |
| * gm2-compiler/FilterError.def (Copyright): Use correct | |
| licence. | |
| * gm2-compiler/FilterError.mod (Copyright): Ditto. | |
| * gm2-compiler/M2Quads.mod (BuildNewProcedure): Rewrite. | |
| (BuildIncProcedure): Ditto. | |
| (BuildDecProcedure): Ditto. | |
| (BuildInclProcedure): Ditto. | |
| (BuildExclProcedure): Ditto. | |
| (BuildAbsFunction): Ditto. | |
| (BuildCapFunction): Ditto. | |
| (BuildChrFunction): Ditto. | |
| (BuildOrdFunction): Ditto. | |
| (BuildIntFunction): Ditto. | |
| (BuildMinFunction): Ditto. | |
| (BuildMaxFunction): Ditto. | |
| (BuildTruncFunction): Ditto. | |
| (BuildTBitSizeFunction): Ditto. | |
| (BuildTSizeFunction): Ditto. | |
| (BuildSizeFunction): Ditto. | |
| 2025-10-24 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/122407 | |
| * Make-lang.in (GM2-LIBS-BOOT-DEFS): Add BinDict.def. | |
| (GM2-LIBS-BOOT-MODS): Add BinDict.mod. | |
| (GM2-COMP-BOOT-DEFS): Add FilterError.def. | |
| (GM2-COMP-BOOT-MODS): Add FilterError.mod. | |
| (GM2-LIBS-DEFS): Add BinDict.def. | |
| (GM2-LIBS-MODS): Add BinDict.mod. | |
| * gm2-compiler/M2Error.def (KillError): New procedure. | |
| * gm2-compiler/M2Error.mod (WriteFormat3): Reformat. | |
| (NewError): Rewrite and call AddToList. | |
| (AddToList): New procedure. | |
| (SubFromList): Ditto. | |
| (WipeReferences): Ditto. | |
| (KillError): Ditto. | |
| * gm2-compiler/M2LexBuf.mod (MakeVirtualTok): Return | |
| caret if all token positions are identical. | |
| * gm2-compiler/M2MetaError.mod (KillError): Import. | |
| (FilterError): Import. | |
| (FilterUnknown): New global. | |
| (initErrorBlock): Initialize symcause and token. | |
| (push): Capitalize comments. | |
| (pop): Copy symcause to toblock if discovered. | |
| (doError): Add parameter sym. | |
| (defaultError): Assign token if discovered. | |
| Pass NulSym to doError. | |
| (updateTokSym): New procedure. | |
| (chooseError): Call updateTokSym. | |
| (doErrorScopeModule): Pass sym to doError. | |
| (doErrorScopeForward): Ditto. | |
| (doErrorScopeMod): Ditto. | |
| (doErrorScopeFor): Ditto. | |
| (doErrorScopeDefinition): Ditto. | |
| (doErrorScopeDef): Ditto. | |
| (doErrorScopeProc): Ditto. | |
| (used): Pass sym[bol] to doError. | |
| (op): Assign symcause when encountering | |
| an error, warning or note. | |
| (MetaErrorStringT1): Rewrite. | |
| (MetaErrorStringT2): Ditto. | |
| (MetaErrorStringT3): Ditto. | |
| (MetaErrorStringT4): Ditto. | |
| (isUniqueError): New procedure function. | |
| (wrapErrors): Rewrite. | |
| (FilterUnknown): Initialize. | |
| * gm2-compiler/M2Quads.mod (BuildTSizeFunction): Add spell check | |
| hint specifier. | |
| * gm2-compiler/FilterError.def: New file. | |
| * gm2-compiler/FilterError.mod: New file. | |
| * gm2-libs/BinDict.def: New file. | |
| * gm2-libs/BinDict.mod: New file. | |
| 2025-10-19 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/122333 | |
| * gm2-compiler/M2MetaError.mod (JoinSentances): Remove | |
| unused variable. | |
| * gm2-gcc/m2spellcheck.cc (m2spellcheck_InitCandidates): Rewrite. | |
| (KillCandidates): Deallocate auto_vec candidates_array. | |
| (candidates_array_vec_t): New declaration. | |
| 2025-10-13 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/122241 | |
| * gm2-compiler/M2Quads.mod (BuildSizeFunction): Improve | |
| error message. | |
| (BuildTSizeFunction): Improve error message. | |
| * gm2-compiler/P3Build.bnf (ProgramModule): New variable | |
| namet. | |
| Pass namet to P3EndBuildProgModule. | |
| (ImplementationModule): New variable namet. | |
| Pass namet to P3EndBuildImpModule. | |
| (ModuleDeclaration): New variable namet. | |
| Pass namet to P3EndBuildInnerModule. | |
| (DefinitionModule): New variable namet. | |
| Pass namet to P3EndBuildDefModule. | |
| * gm2-compiler/P3SymBuild.def (P3EndBuildDefModule): New | |
| parameter tokno. | |
| (P3EndBuildImpModule): Ditto. | |
| (P3EndBuildProgModule): Ditto. | |
| (EndBuildInnerModule): Ditto. | |
| * gm2-compiler/P3SymBuild.mod (P3EndBuildDefModule): New | |
| parameter tokno. | |
| Pass tokno to CheckForUnknownInModule. | |
| (P3EndBuildImpModule): Ditto. | |
| (P3EndBuildProgModule): Ditto. | |
| (EndBuildInnerModule): Ditto. | |
| * gm2-compiler/PCBuild.bnf (ProgramModule): New variable | |
| namet. | |
| Pass namet to PCEndBuildProgModule. | |
| (ImplementationModule): New variable namet. | |
| Pass namet to PCEndBuildImpModule. | |
| (ModuleDeclaration): New variable namet. | |
| Pass namet to PCEndBuildInnerModule. | |
| (DefinitionModule): New variable namet. | |
| Pass namet to PCEndBuildDefModule. | |
| * gm2-compiler/PCSymBuild.def (PCEndBuildDefModule): New | |
| parameter tokno. | |
| (PCEndBuildImpModule): Ditto. | |
| (PCEndBuildProgModule): Ditto. | |
| (PCEndBuildInnerModule): Ditto. | |
| * gm2-compiler/PCSymBuild.mod (PCEndBuildDefModule): New | |
| parameter tokno. | |
| Pass tokno to CheckForUnknownInModule. | |
| (PCEndBuildImpModule): Ditto. | |
| (PCEndBuildProgModule): Ditto. | |
| (PCEndBuildInnerModule): Ditto. | |
| * gm2-compiler/PHBuild.bnf (DefinitionModule): New variable | |
| namet. | |
| Pass namet to PHEndBuildDefModule. | |
| (ModuleDeclaration): New variable namet. | |
| Pass namet to PHEndBuildProgModule. | |
| (ImplementationModule): New variable namet. | |
| Pass namet to PHEndBuildImpModule. | |
| (ModuleDeclaration): New variable namet. | |
| Pass namet to PHEndBuildInnerModule. | |
| (DefinitionModule): New variable namet. | |
| Pass namet to PHEndBuildDefModule. | |
| * gm2-compiler/SymbolTable.def (CheckForUnknownInModule): Add | |
| tokno parameter. | |
| * gm2-compiler/SymbolTable.mod (CheckForUnknownInModule): Add | |
| tokno parameter. | |
| Pass tokno to CheckForUnknowns. | |
| (CheckForUnknowns): Reimplement. | |
| 2025-10-11 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/122241 | |
| * Make-lang.in (GM2_C_OBJS): Add m2/gm2-gcc/m2spellcheck.o. | |
| (GM2-COMP-BOOT-DEFS): Add M2StackSpell.def. | |
| (GM2-COMP-BOOT-MODS): Add M2StackSpell.mod. | |
| (GM2-GCC-DEFS): Add m2spellcheck.def. | |
| (GM2-COMP-DEFS): Add M2StackSpell.def. | |
| (GM2-COMP-MODS): Add M2StackSpell.mod. | |
| * gm2-compiler/M2Base.mod (CheckCompatible): Add comments. | |
| * gm2-compiler/M2MetaError.mod (importHint): New field. | |
| (exportHint): Ditto. | |
| (withStackHint): Ditto. | |
| * gm2-compiler/M2Quads.mod (M2StackSpell): Import. | |
| (BuildProcedureCall): Add spell check specifier when | |
| encountering an unknown symbol. | |
| (CheckProcedureParameters): Ditto. | |
| (CheckParameter): Ditto. | |
| (DescribeType): Ditto. | |
| (GetQualidentImport): Ditto. | |
| (BuildValFunction): Ditto. | |
| (BuildCastFunction): Ditto. | |
| (BuildConvertFunction): Ditto. | |
| (ExpectingParameterType): Ditto. | |
| (ExpectingVariableType): Ditto. | |
| (BuildDesignatorPointer): Ditto. | |
| (BuildEmptySet): Ditto. | |
| (CheckVariableOrConstantOrProcedure): Ditto. | |
| * gm2-compiler/P2SymBuild.mod (BuildType): Add comment. | |
| * gm2-compiler/P3Build.bnf (SubDesignator): Reimplement. | |
| * gm2-compiler/P3SymBuild.mod (P3StartBuildDefModule): Add | |
| M2StackSpell.Push. | |
| (P3StartBuildProgModule): Ditto. | |
| (P3StartBuildImpModule): Ditto. | |
| (StartBuildInnerModule): Ditto. | |
| (StartBuildProcedure): Ditto. | |
| (P3EndBuildDefModule): Add M2StackSpell.Pop. | |
| (P3EndBuildImpModule): Ditto. | |
| (P3EndBuildProgModule): Ditto. | |
| (EndBuildInnerModule): Ditto. | |
| (EndBuildProcedure): Ditto. | |
| (BuildProcedureHeading): Ditto. | |
| (EndBuildForward): Ditto. | |
| * gm2-compiler/SymbolTable.mod (RequestSym): Reformat. | |
| * gm2-gcc/init.cc (_M2_M2StackSpell_init): New prototype. | |
| (init_PerCompilationInit): Call _M2_M2StackSpell_init. | |
| * gm2-libs/DynamicStrings.def (RemoveWhitePrefix): Correct | |
| comment. | |
| * gm2-libs/DynamicStrings.mod (RemoveWhitePrefix): Ditto. | |
| * gm2-compiler/M2StackSpell.def: New file. | |
| * gm2-compiler/M2StackSpell.mod: New file. | |
| * gm2-gcc/m2spellcheck.cc: New file. | |
| * gm2-gcc/m2spellcheck.def: New file. | |
| * gm2-gcc/m2spellcheck.h: New file. | |
| 2025-10-02 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/122009 | |
| * gm2-compiler/M2GCCDeclare.mod (PrintKnown): Remove. | |
| * gm2-gcc/m2type.cc (m2type_BuildEnumerator): Add const modifier. | |
| * gm2-gcc/m2type.def (BuildEnumerator): Use ConstCharStar type. | |
| * gm2-gcc/m2type.h (m2type_BuildEnumerator): Add const modifier. | |
| * gm2-libs/M2WIDESET.mod (ShiftLeftByteBit): Rename variable to | |
| as toIdx. | |
| Rename variable from as fromIdx. | |
| (ShiftRightByteBit): Rename variable to as toIdx. | |
| Rename variable from as fromIdx. | |
| (RotateLeft): Rename variable to as toIdx. | |
| Rename variable from as fromIdx. | |
| (ArithShiftLeftBit): Rename set to setb. | |
| (ArithShiftRightBit): Rename set to setb. | |
| 2025-10-01 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/122009 | |
| * pge-boot/Gldtoa.cc (ldtoa_ldtoa): Change int to bool for | |
| parameter sign. | |
| 2025-09-21 Mark Wielaard <mark@klomp.org> | |
| * lang.opt.urls: Regenerate. | |
| 2025-09-20 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/122009 | |
| * gm2-compiler/M2GenGCC.mod (FromM2WIDESETImport): Assign | |
| sym to NulSym. | |
| (CodeMakeAdr): Remove fourth parameter to BuildLogicalOrAddress. | |
| (FoldMakeAdr): Ditto. | |
| * gm2-compiler/M2Quads.mod (BuildAssignmentBoolean): Remove | |
| unused parameter checkTypes. | |
| (doBuildAssignment): Remove checkTypes parameter when calling | |
| BuildAssignmentBoolean. | |
| * gm2-gcc/m2expr.def (BuildLogicalOrAddress): Remove | |
| needconvert parameter. | |
| * gm2-gcc/m2statement.def (IfExprJump): Change label type | |
| to CharStar. | |
| * gm2-gcc/m2type.cc (m2type_BuildEnumerator): Remove const. | |
| * gm2-gcc/m2type.h (m2type_BuildEnumerator): Ditto. | |
| 2025-09-19 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/121856 | |
| * Make-lang.in (GM2-LIBS-BOOT-DEFS): Add M2Diagnostic.def. | |
| Add Selective.def. | |
| (GM2-LIBS-BOOT-MODS): Add M2Diagnostic.mod. | |
| (GM2-LIBS-BOOT-C): Add Selective.c. | |
| (GM2-LIBS-DEFS): Add Selective.def. | |
| (GM2-LIBS-MODS): Add M2Diagnostic.mod. | |
| (MC-LIB-MODS): Add M2Diagnostic.mod. | |
| (m2/gm2-libs-boot/Selective.o): New rule. | |
| (BUILD-PGE-O): Add m2/pge-boot/GM2Diagnostic.o. | |
| Add m2/pge-boot/GM2Diagnostic.o. | |
| Add m2/pge-boot/GStringConvert.o. | |
| Add m2/pge-boot/Gdtoa.o. | |
| Add m2/pge-boot/Gldtoa.o. | |
| * Make-maintainer.in (PPG-LIB-DEFS): Add M2Diagnostic.def. | |
| Add StringConvert.def. | |
| (PPG-LIB-MODS): Add M2Diagnostic.mod. | |
| Add StringConvert.mod. | |
| (PGE-DEF): Add M2Diagnostic.def. | |
| (PGE-DEPS): Add GM2Diagnostic.cc. | |
| Add GM2Diagnostic.h. | |
| * gm2-compiler/FifoQueue.def (PutSetIntoFifoQueue): New | |
| procedure. | |
| (GetSetFromFifoQueue): New procedure function. | |
| * gm2-compiler/FifoQueue.mod (PutSetIntoFifoQueue): New | |
| procedure. | |
| (GetSetFromFifoQueue): New procedure function. | |
| * gm2-compiler/M2ALU.def (KillValue): New procedure. | |
| (PushSetTree): Rename parameter t to value. | |
| (ConstructSetConstant): Rewrite comment. | |
| * gm2-compiler/M2ALU.mod: Rewrite to use the new set type | |
| and introduce memory diagnostics. | |
| * gm2-compiler/M2Base.mod (InitBaseProcedures): Lookup M2WIDESET. | |
| * gm2-compiler/M2CaseList.mod (CheckCaseBoundsResolved): Change | |
| format specifier to allow the preceeding indefinite article to | |
| have a n concatenated providing the following string substitute | |
| begins with a vowel. | |
| (checkTypes): Ditto. | |
| * gm2-compiler/M2Check.mod (checkGenericUnboundedTyped): New | |
| procedure function. | |
| * gm2-compiler/M2Code.mod (OptimizationAnalysis): Replace with ... | |
| (ResourceAnalysis): ... this. | |
| * gm2-compiler/M2Comp.mod (PopulateResource): New procedure. | |
| (compile): Call PopulateResource. | |
| Call M2Diagnostic.Generate. | |
| * gm2-compiler/M2GCCDeclare.mod: Rewrite for new set type. | |
| * gm2-compiler/M2GenGCC.mod: Rewrite implementation for | |
| becomes, incl, excl, and, or, not, xor for the new set type. | |
| * gm2-compiler/M2MetaError.def: Extend comment documenting | |
| the v format specifier. | |
| * gm2-compiler/M2MetaError.mod (errorBlock): New field vowel. | |
| (initErrorBlock): Initialize field vowel. | |
| Reformat comments. | |
| (pop): Call checkVowel. | |
| (checkVowel): New procedure. | |
| (isVowel): New procedure function. | |
| (symDesc): Remove indefinite article. | |
| (op): Set vowel field in case clause. | |
| * gm2-compiler/M2Options.def (OptimizeSets): New global. | |
| (TimeReport): Ditto. | |
| (MemReport): Ditto. | |
| (SetMemReport): New procedure. | |
| (SetTimeReport): Ditto. | |
| (SetWideset): Ditto. | |
| (GetWideset): New procedure function. | |
| * gm2-compiler/M2Options.mod (SetOptimizing): Assign | |
| OptimizeSets depending upon the optimization level. | |
| (SetMemReport): New procedure. | |
| (SetTimeReport): Ditto. | |
| (SetWideset): Ditto. | |
| (GetWideset): New procedure function. | |
| (OptimizeSets): Initialize to FALSE. | |
| (TimeReport): Ditto. | |
| (MemReport): Ditto. | |
| * gm2-compiler/M2Quads.mod (M2Diagnostic): Import. | |
| (QuadsMemDiag): New global variable. | |
| (NewQuad): Bump QuadsMemDiag whenever a quad is allocated. | |
| (BuildAssignmentBoolean): New procedure. | |
| (doBuildAssignment): Ditto. | |
| Add v to the format specifier. | |
| (CheckCompatibleWithBecomes): Add v to the format specifier. | |
| (CheckProcTypeAndProcedure): Ditto. | |
| (BuildAddAdrFunction): Ditto. | |
| (BuildSubAdrFunction): Ditto. | |
| (BuildDifAdrFunction): Ditto. | |
| (BuildDesignatorArrayStaticDynamic): Ditto. | |
| (BuildDesignatorPointer): Ditto. | |
| (CheckVariableOrConstantOrProcedure): Ditto. | |
| (Init): Initialize QuadsMemDiag. | |
| * gm2-compiler/M2Range.mod (CodeTypeAssign): Add v to the | |
| format specifier. | |
| * gm2-compiler/M2Scaffold.mod (DeclareScaffoldFunctions): | |
| Generate more precise warning note. | |
| * gm2-compiler/M2SymInit.mod (PrintSymInit): Add record | |
| field warning. | |
| * gm2-compiler/M2System.mod | |
| (IsPseudoSystemFunctionConstExpression): Add TBitSize. | |
| * gm2-compiler/NameKey.mod: Add MemDiagnostic code | |
| commented out. | |
| * gm2-compiler/P1SymBuild.mod (StartBuildProcedure): | |
| Add v format specifier. | |
| * gm2-compiler/P2SymBuild.mod (BuildFieldRecord): Ditto. | |
| * gm2-compiler/P3Build.bnf (SetType): Reformat. | |
| * gm2-compiler/PathName.def (Copyright): Added. | |
| * gm2-compiler/PathName.mod: Remove blank line. | |
| * gm2-compiler/SymbolConversion.mod (gdbhook): New procedure. | |
| (BreakWhenSymBooked): Ditto. | |
| (CheckBook): Ditto. | |
| (Init): Rewrite. | |
| * gm2-compiler/SymbolTable.def (GetSetArray): New procedure. | |
| (PutSetArray): Ditto. | |
| (MakeSetArray): New procedure function. | |
| (PutSetInWord): New procedure. | |
| (GetSetInWord): New procedure function. | |
| (IsConstVar): Ditto. | |
| * gm2-compiler/SymbolTable.mod (SymSet): SetInWord new field. | |
| SetArray new field. | |
| Align new field. | |
| (SymMemDiag): New global variable. | |
| (Init): Initialize SymMemDiag. | |
| (IsConstVar): New procedure function. | |
| (IsVariableSSA): Replace InternalError with Return FALSE. | |
| (GetNthParamOrdered): Reimplement. | |
| (GetNthParamAnyClosest): Ditto. | |
| (GetOuterModuleScope): Ditto. | |
| (MakeSet): Ditto. | |
| (PutSetArray): New procedure. | |
| (GetSetArray): New procedure function. | |
| (MakeSetArray): Ditto. | |
| (PutSetInWord): New procedure. | |
| (GetSetInWord): New procedure function. | |
| * gm2-gcc/init.cc (_M2_M2Diagnostic_init): Define | |
| prototype. | |
| (init_FrontEndInit):Call _M2_M2Diagnostic_init. | |
| * gm2-gcc/m2block.cc (m2block_GetTotalConstants): New function. | |
| (m2block_GetGlobalTypes): Ditto. | |
| * gm2-gcc/m2block.def (GetTotalConstants): New procedure function. | |
| (GetGlobalTypes): New procedure function. | |
| * gm2-gcc/m2block.h (m2block_GetTotalConstants): New function | |
| prototype. | |
| (m2block_GetGlobalTypes): Ditto. | |
| * gm2-gcc/m2convert.cc (converting_ISO_generic): Reimplement. | |
| (m2convert_ToPIMByte): New function. | |
| * gm2-gcc/m2convert.def (ToLoc): New procedure function. | |
| (ToPIMByte): Ditto. | |
| * gm2-gcc/m2convert.h (m2convert_ToPIMByte): Ditto. | |
| * gm2-gcc/m2decl.h (m2decl_RememberVariables): Ditto. | |
| * gm2-gcc/m2expr.cc (m2expr_BuildLogicalShift): Reimplement. | |
| (m2expr_BuildLRotate): Ditto. | |
| (m2expr_BuildLRLn): Ditto. | |
| (m2expr_BuildLRRn): Ditto. | |
| (m2expr_BuildLogicalRotate): Ditto. | |
| (buildUnboundedArrayOf): Ditto. | |
| (BuildIfBitInSetLower): New function. | |
| (m2expr_BuildBinarySetDo): Reimplement. | |
| (m2expr_BuildIfInSet): Ditto. | |
| (m2expr_BuildIfNotInSet): New function. | |
| (m2expr_Build4LogicalOr): Reimplement. | |
| (m2expr_BuildSetNegate): Ditto. | |
| (m2expr_BuildLogicalOrAddress): Ditto. | |
| (m2expr_BuildLogicalOr): Ditto. | |
| (m2expr_BuildLogicalAnd): Ditto. | |
| (m2expr_BuildSymmetricDifference): Ditto. | |
| (m2expr_BuildLogicalDifference): Ditto. | |
| (boolean_enum_to_unsigned): Ditto. | |
| (m2expr_BuildIsSuperset): Ditto. | |
| (m2expr_BuildIsNotSuperset): Ditto. | |
| (m2expr_BuildIsSubset): Ditto. | |
| (m2expr_BuildIfBitInSetJump): Ditto. | |
| (m2expr_BuildIfNotConstInVar): Ditto. | |
| (m2expr_BuildIfVarInVar): Ditto. | |
| (m2expr_BuildIfNotVarInVar): Remove. | |
| (m2expr_BuildIfConstInVar): Remove. | |
| (m2expr_BuildForeachWordInSetDoIfExpr): Ditto. | |
| (m2expr_BuildBinaryForeachWordDo): Ditto. | |
| (m2expr_BuildIfInRangeGoto): Reimplement. | |
| (m2expr_BuildIfNotInRangeGoto): Ditto. | |
| (m2expr_SetAndNarrow): Ditto. | |
| (m2expr_GetBitsetZero): New function. | |
| (m2expr_GetRValue): Ditto. | |
| * gm2-gcc/m2expr.def (GetBitsetZero): New function. | |
| (BuildSetNegate): Ditto. | |
| (BuildLogicalOr): Reimplement. | |
| (BuildLogicalAnd): Ditto. | |
| (BuildSymmetricDifference): Ditto. | |
| (BuildLogicalDifference): Ditto. | |
| (BuildIfInSet): New procedure function. | |
| (BuildIfNotInSet): Ditto. | |
| (BuildEqualTo): Reimplement. | |
| (BuildNotEqualTo): Ditto. | |
| (BuildBinaryForeachWordDo): Remove. | |
| (BuildBinarySetDo): Ditto. | |
| (GetRValue): New procedure function. | |
| * gm2-gcc/m2expr.h (m2expr_BuildBinaryForeachWordDo): Remove. | |
| (m2expr_BuildForeachWordInSetDoIfExpr): Ditto. | |
| (m2expr_BuildIfNotVarInVar): Ditto. | |
| (m2expr_BuildIfVarInVar): Ditto. | |
| (m2expr_BuildIfNotConstInVar): Ditto. | |
| (m2expr_BuildIfConstInVar): Ditto. | |
| (m2expr_BuildLogicalDifference): Reimplement. | |
| (m2expr_BuildSymmetricDifference): Ditto. | |
| (m2expr_BuildLogicalAnd): Ditto. | |
| (m2expr_BuildLogicalOr): Ditto. | |
| (m2expr_BuildLogicalOrAddress): Ditto. | |
| (m2expr_BuildSetNegate): Ditto. | |
| (m2expr_GetBitsetZero): New function. | |
| (m2expr_GetRValue): Ditto. | |
| (m2expr_BuildIfInSet): Ditto. | |
| (m2expr_BuildIfNotInSet): Ditto. | |
| * gm2-gcc/m2options.h (M2Options_SetTimeReport): New function. | |
| (M2Options_SetMemReport): Ditto. | |
| (M2Options_SetWideset): Ditto. | |
| (M2Options_GetWideset): Ditto. | |
| * gm2-gcc/m2pp.cc (m2pp_shiftrotate_expr): New function. | |
| (m2pp_simple_expression): Ditto. | |
| * gm2-gcc/m2statement.cc (m2statement_BuildStartFunctionCode): | |
| Tidyup comments. | |
| (m2statement_BuildEndFunctionCode): Ditto. | |
| (m2statement_BuildPushFunctionContext): Ditto. | |
| (copy_array): Ditto. | |
| (CopyByField_Lower): Ditto. | |
| (m2statement_BuildGoto): Ditto. | |
| (m2statement_DeclareLabel): Ditto. | |
| (m2statement_BuildParam): Ditto. | |
| (nCount): Ditto. | |
| (m2statement_BuildProcedureCallTree): Ditto. | |
| (m2statement_BuildBuiltinCallTree): Ditto. | |
| (m2statement_BuildFunctValue): Ditto. | |
| (m2statement_BuildCall2): Ditto. | |
| (m2statement_BuildCall3): Ditto. | |
| (m2statement_BuildFunctionCallTree): Ditto. | |
| (m2statement_SetLastFunction): Ditto. | |
| (m2statement_SetParamList): Ditto. | |
| (m2statement_GetLastFunction): Ditto. | |
| (m2statement_GetParamList): Ditto. | |
| (m2statement_GetCurrentFunction): Ditto. | |
| (m2statement_GetParamTree): Ditto. | |
| (m2statement_BuildTryFinally): Ditto. | |
| (m2statement_BuildCleanUp): Ditto. | |
| (m2statement_BuildUnaryForeachWordDo): Remove. | |
| (m2statement_BuildExcludeVarConst): Ditto. | |
| (m2statement_BuildExcludeVarVar): Ditto. | |
| (m2statement_BuildIncludeVarConst): Ditto. | |
| (m2statement_BuildIncludeVarVar): Ditto. | |
| (m2statement_DoJump): Remove. | |
| (m2statement_IfExprJump): New function. | |
| (m2statement_IfBitInSetJump): Ditto. | |
| * gm2-gcc/m2statement.def (DoJump): Remove. | |
| (IfExprJump): New procedure function. | |
| (BuildUnaryForeachWordDo): Remove. | |
| (IfBitInSetJump): New procedure function. | |
| * gm2-gcc/m2statement.h (m2statement_BuildForeachWordDo): Remove. | |
| (m2statement_DoJump): Ditto. | |
| (m2statement_IfExprJump): New function. | |
| (m2statement_IfBitInSetJump): Ditto. | |
| * gm2-gcc/m2treelib.cc (m2treelib_do_jump_if_bit): Reimplement. | |
| (nCount): Replace with ... | |
| (m2treelib_nCount): ... this. | |
| (m2treelib_DoCall): Reimplement. | |
| (m2treelib_get_rvalue): Remove. | |
| * gm2-gcc/m2treelib.def (get_rvalue): Remove. | |
| (nCount): New procedure function. | |
| * gm2-gcc/m2treelib.h (m2treelib_get_rvalue): Remove. | |
| (m2treelib_nCount): New function. | |
| * gm2-gcc/m2type.cc (constructor_elements): Change type to vec. | |
| (m2type_BuildEndArrayType): Reformat. | |
| (build_m2_type_node_by_array): Ditto. | |
| (m2type_GetBooleanEnumList): New procedure function. | |
| (m2type_BuildEnumerator): Add const to char *. | |
| (m2type_BuildSetConstructorElement): Reimplement. | |
| (m2type_BuildEndSetConstructor): Ditto. | |
| (build_record_constructor): New function. | |
| (m2type_BuildEndRecordConstructor): Reimplement. | |
| (m2type_BuildRecordConstructorElement): Ditto. | |
| (m2type_BuildStartArrayConstructor): Reimplement. | |
| (m2type_BuildEndArrayConstructor): Remove blank lines. | |
| * gm2-gcc/m2type.def (BuildSetConstructorElement): Reimplement. | |
| (BuildEndArrayType): Reformat. | |
| (GetBooleanEnumList): New function. | |
| * gm2-gcc/m2type.h (m2type_BuildEnumerator): Add const to char *. | |
| (m2type_BuildSetConstructorElement): Reimplement. | |
| (m2type_GetBooleanEnumList): New procedure function. | |
| * gm2-lang.cc (OPT_fmem_report): New option. | |
| (OPT_ftime_report): Ditto. | |
| (OPT_fwideset): Ditto. | |
| * gm2-libs-coroutines/SYSTEM.def (ShiftVal): Remove. | |
| (ShiftLeft): Ditto. | |
| (ShiftRight): Ditto. | |
| (RotateVal): Ditto. | |
| (RotateLeft): Ditto. | |
| (RotateRight): Ditto. | |
| * gm2-libs-coroutines/SYSTEM.mod: Reimplement. | |
| * gm2-libs-iso/SYSTEM.def (ShiftVal): Remove. | |
| (ShiftLeft): Ditto. | |
| (ShiftRight): Ditto. | |
| (RotateVal): Ditto. | |
| (RotateLeft): Ditto. | |
| (RotateRight): Ditto. | |
| * gm2-libs-iso/SYSTEM.mod: Reimplement. | |
| * gm2-libs/SYSTEM.def (ShiftVal): Remove. | |
| (ShiftLeft): Ditto. | |
| (ShiftRight): Ditto. | |
| (RotateVal): Ditto. | |
| (RotateLeft): Ditto. | |
| (RotateRight): Ditto. | |
| * gm2-libs/SYSTEM.mod: Reimplement. | |
| * gm2-libs/SysStorage.def (DEALLOCATE): Improve comment. | |
| * gm2-libs/SysStorage.mod: Improve comment. | |
| * init/ppginit (M2Diagnostic): Add. | |
| (StringConvert): Add. | |
| * lang.opt (fmem-report): Add access to c.opt. | |
| (ftime-report): Ditto. | |
| (fwideset): New option. | |
| * pge-boot/main.cc (_M2_M2Diagnostic_init): New function. | |
| (_M2_M2Diagnostic_fini): Ditto. | |
| (_M2_StringConvert_init): Ditto. | |
| (_M2_StringConvert_fini): Ditto. | |
| (main): Call _M2_M2Diagnostic_init. | |
| Call _M2_StringConvert_init. | |
| Call _M2_M2Diagnostic_fini. | |
| Call _M2_StringConvert_fini. | |
| * tools-src/makeSystem: Add -gdb option. | |
| * gm2-libs/M2Diagnostic.def: New file. | |
| * gm2-libs/M2Diagnostic.mod: New file. | |
| * gm2-libs/M2WIDESET.def: New file. | |
| * gm2-libs/M2WIDESET.mod: New file. | |
| * mc-boot/GM2Diagnostic.cc: New file. | |
| * mc-boot/GM2Diagnostic.h: New file. | |
| * pge-boot/GM2Diagnostic.cc: New file. | |
| * pge-boot/GM2Diagnostic.h: New file. | |
| * pge-boot/GSelective.h: New file. | |
| * pge-boot/GStringConvert.cc: New file. | |
| 2025-08-29 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/121709 | |
| * gm2-lang.cc (concat_component): New function. | |
| (find_cpp_entry): Ditto. | |
| (lookup_cpp_default): Ditto. | |
| (add_default_include_paths): Rewrite. | |
| (m2_pathname_root): Remove. | |
| 2025-08-28 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/121629 | |
| * gm2-compiler/PathName.mod: Add copyright notice. | |
| * gm2-lang.cc (named_path): Add field lib_root. | |
| (push_back_Ipath): Set lib_root false. | |
| (push_back_lib_root): New function. | |
| (get_dir_sep_size): Ditto. | |
| (add_path_component): Ditto. | |
| (add_one_import_path): Ditto. | |
| (add_non_dialect_specific_path): Ditto. | |
| (foreach_lib_gen_import_path): Ditto. | |
| (get_module_source_dir): Ditto. | |
| (add_default_include_paths): Ditto. | |
| (assign_flibs): Ditto. | |
| (m2_pathname_root): Ditto. | |
| (add_m2_import_paths): Remove function. | |
| (gm2_langhook_post_options): Call assign_flibs. | |
| Check np.lib_root and call foreach_lib_gen_import_path. | |
| Replace call to add_m2_import_paths with a call to | |
| add_default_include_paths. | |
| (gm2_langhook_handle_option): Add case OPT_fm2_pathname_rootI_. | |
| * gm2spec.cc (named_path): Add field lib_root. | |
| (push_back_Ipath): Set lib_root false. | |
| (push_back_lib_root): New function. | |
| (add_m2_I_path): Add OPT_fm2_pathname_rootI_ option | |
| if np.lib_root. | |
| (lang_specific_driver): Add case OPT_fm2_pathname_root_. | |
| * lang.opt (fm2-pathname-root=): New option. | |
| (fm2-pathname-rootI=): Ditto. | |
| 2025-08-01 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/121354 | |
| * gm2-compiler/M2GenGCC.mod (FoldHigh): Rewrite. | |
| (IsUnboundedArray): New procedure function. | |
| 2025-07-31 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/121314 | |
| * mc-boot/GFormatStrings.cc (PerformFormatString): Rebuilt. | |
| * mc-boot/GM2EXCEPTION.cc (M2EXCEPTION_M2Exception): Rebuilt. | |
| * mc-boot/GSFIO.cc (SFIO_GetFileName): Rebuilt. | |
| * mc-boot/GSFIO.h (SFIO_GetFileName): Rebuilt. | |
| * mc-boot/Gdecl.cc: Rebuilt. | |
| * mc-boot/GmcFileName.h: Rebuilt. | |
| * mc/decl.mod (getStringChar): New procedure function. | |
| (getStringContents): Call getStringChar. | |
| (addQuotes): New procedure function. | |
| (foldBinary): Call addQuotes to add delimiting quotes | |
| to the new string. | |
| 2025-07-29 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-compiler/M2GenGCC.mod (FoldBecomes): Remove all | |
| local variables. | |
| (CodeIndrX): Remove length. | |
| Remove newstr. | |
| * gm2-compiler/M2Range.mod (FoldTypeIndrX): Remove desType. | |
| 2025-07-29 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/121289 | |
| * gm2-compiler/M2Students.def (CheckVariableAgainstKeyword): New | |
| parameter tok. | |
| * gm2-compiler/M2Students.mod (CheckVariableAgainstKeyword): New | |
| parameter tok. | |
| Pass tok to PerformVariableKeywordCheck. | |
| (PerformVariableKeywordCheck): New parameter tok. | |
| Pass tok to MetaErrorStringT0. | |
| * gm2-compiler/P2SymBuild.mod (BuildVariable): Pass tok to | |
| CheckVariableAgainstKeyword. | |
| * gm2-libs-iso/LowLong.mod (except): Replace with ... | |
| (exceptSrc): ... this. | |
| * gm2-libs-iso/LowReal.mod (except): Replace with ... | |
| (exceptSrc): ... this. | |
| * gm2-libs-iso/LowShort.mod (except): Replace with ... | |
| (exceptSrc): ... this. | |
| * gm2-libs-iso/Processes.mod (Wait): Replace from with fromCor. | |
| * gm2-libs-iso/RndFile.mod (EndPos): Replace end with endP. | |
| * gm2-libs/SCmdArgs.mod (GetArg): Replace start with startPos. | |
| Replace end with endPos. | |
| (NArg): Replace start with startPos. | |
| Replace end with endPos. | |
| 2025-07-25 David Malcolm <dmalcolm@redhat.com> | |
| * gm2-gcc/m2linemap.cc: Update usage of "diagnostic_info" to | |
| explicitly refer to "diagnostics::diagnostic_info". | |
| * gm2-gcc/rtegraph.cc: Likewise. | |
| 2025-07-25 David Malcolm <dmalcolm@redhat.com> | |
| * gm2-gcc/m2linemap.cc: Update for diagnostic_t becoming | |
| enum class diagnostics::kind. | |
| * gm2-gcc/rtegraph.cc: Likewise. | |
| 2025-07-25 David Malcolm <dmalcolm@redhat.com> | |
| * gm2-gcc/m2color.cc: Update for move of diagnostic-color.h to | |
| diagnostics/color.h. | |
| 2025-07-23 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-libs/M2EXCEPTION.mod (M2Exception): Add return | |
| exException in case Raise completes. | |
| 2025-07-23 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/121164 | |
| * gm2-compiler/P1SymBuild.mod: Remove PutProcTypeParam. | |
| Remove PutProcTypeParam. | |
| (CheckFileName): Remove. | |
| (P1EndBuildDefinitionModule): Correct spelling. | |
| (P1EndBuildImplementationModule): Ditto. | |
| (P1EndBuildProgramModule): Ditto. | |
| (EndBuildInnerModule): Ditto. | |
| * gm2-compiler/P2SymBuild.mod (P2EndBuildDefModule): Correct | |
| spelling. | |
| (P2EndBuildImplementationModule): Ditto. | |
| (P2EndBuildProgramModule): Ditto. | |
| (EndBuildInnerModule): Ditto. | |
| (CheckFormalParameterSection): Ditto. | |
| * gm2-compiler/P3SymBuild.mod (P3EndBuildDefModule): Ditto. | |
| * gm2-compiler/PCSymBuild.mod (PCEndBuildDefModule): Ditto. | |
| (fixupProcedureType): Pass tok to PutProcTypeVarParam. | |
| Pass tok to PutProcTypeParam. | |
| * gm2-compiler/SymbolTable.def (PutProcTypeParam): Add tok | |
| parameter. | |
| (PutProcTypeVarParam): Ditto. | |
| * gm2-compiler/SymbolTable.mod (SymParam): At change type to | |
| CARDINAL. | |
| New field FullTok. | |
| New field Scope. | |
| (SymVarParam): At change type to CARDINAL. | |
| New field FullTok. | |
| New field Scope. | |
| (GetVarDeclTok): Check ShadowVar for NulSym and return At. | |
| (PutParam): Initialize FullTok. | |
| Initialize At. | |
| Initialize Scope. | |
| (PutVarParam): Initialize FullTok. | |
| Assign At. | |
| Initialize Scope. | |
| (AddProcedureProcTypeParam): Add tok parameter. | |
| (GetScope): Add ParamSym and VarParamSym clause. | |
| (PutProcTypeVarParam): Add tok parameter. | |
| Initialize At. | |
| Initialize FullTok. | |
| (GetDeclaredDefinition): Clause ParamSym return At. | |
| Clause VarParamSym return At. | |
| (GetDeclaredModule): Ditto. | |
| (PutDeclaredDefinition): Remove clause ParamSym. | |
| Remove clause VarParamSym. | |
| (PutDeclaredModule): Remove clause ParamSym. | |
| Remove clause VarParamSym. | |
| 2025-07-18 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/121164 | |
| * gm2-libs/ARRAYOFCHAR.mod (Write): Rename 2nd parameter | |
| name a to str. | |
| 2025-07-01 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/120912 | |
| * gm2-libs-iso/IOChanUtils.def (GetFile): New procedure function. | |
| * gm2-libs-iso/IOChanUtils.mod (GetFile): New procedure function. | |
| 2025-06-29 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/117203 | |
| * gm2-libs-log/FileSystem.def (GetFileName): New | |
| procedure function. | |
| (WriteString): New procedure. | |
| * gm2-libs-log/FileSystem.mod (GetFileName): New | |
| procedure function. | |
| (WriteString): New procedure. | |
| * gm2-libs/SFIO.def (GetFileName): New procedure function. | |
| * gm2-libs/SFIO.mod (GetFileName): New procedure function. | |
| * gm2-libs-iso/IOChanUtils.def: New file. | |
| * gm2-libs-iso/IOChanUtils.mod: New file. | |
| 2025-06-22 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/120731 | |
| * gm2-libs-log/Strings.def (Delete): Rewrite comment. | |
| * gm2-libs-log/Strings.mod (Pos): Rewrite. | |
| (PosLower): New procedure function. | |
| 2025-06-21 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-compiler/M2GCCDeclare.mod (StartDeclareModuleScopeSeparate): | |
| Reformat statement comments. | |
| (StartDeclareModuleScopeWholeProgram): Ditto. | |
| 2025-06-17 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/120673 | |
| * gm2-compiler/M2GCCDeclare.mod (ErrorDepList): New | |
| global variable set containing every errant dependency symbol. | |
| (mystop): Remove. | |
| (EmitCircularDependancyError): Replace with ... | |
| (EmitCircularDependencyError): ... this. | |
| (AssertAllTypesDeclared): Rewrite. | |
| (DoVariableDeclaration): Ditto. | |
| (TypeDependentsDeclared): New procedure function. | |
| (PrepareGCCVarDeclaration): Ditto. | |
| (DeclareVariable): Remove assert. | |
| (DeclareLocalVariable): Ditto. | |
| (Constructor): Initialize ErrorDepList. | |
| * gm2-compiler/M2MetaError.mod (doErrorScopeProc): Rewrite | |
| and ensure that a symbol with a module scope does not lookup | |
| from a definition module. | |
| * gm2-compiler/P2SymBuild.mod (BuildType): Rewrite so that | |
| a synonym type is created using the token refering to the name | |
| on the lhs. | |
| 2025-06-12 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/119650 | |
| * gm2-libs/ARRAYOFCHAR.def: Remove comment about non | |
| existent read. | |
| * target-independent/m2/Builtins.texi: Regenerate. | |
| * target-independent/m2/SYSTEM-iso.texi: Ditto. | |
| * target-independent/m2/SYSTEM-pim.texi: Ditto. | |
| * target-independent/m2/gm2-libs.texi: Ditto. | |
| 2025-06-09 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/120606 | |
| * gm2-compiler/M2Quads.mod (ForLoopLastIterator): Dereference | |
| start and end expressions e1 and e2 respectively. | |
| 2025-06-07 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/119650 | |
| PR modula2/117203 | |
| * gm2-compiler/P2Build.bnf (CheckModuleQualident): New | |
| procedure. | |
| (Qualident): Rewrite. | |
| * gm2-compiler/P3Build.bnf (PushTFQualident): New procedure. | |
| (CheckModuleQualident): Ditto. | |
| (Qualident): Rewrite. | |
| * gm2-compiler/PCBuild.bnf (PushTFQualident): New procedure. | |
| (CheckModuleQualident): Ditto. | |
| (Qualident): Rewrite. | |
| * gm2-compiler/PHBuild.bnf (PushTFQualident): New procedure. | |
| (CheckModuleQualident): Ditto. | |
| (Qualident): Rewrite. | |
| * gm2-libs/ARRAYOFCHAR.def: New file. | |
| * gm2-libs/ARRAYOFCHAR.mod: New file. | |
| * gm2-libs/CFileSysOp.def: New file. | |
| * gm2-libs/CHAR.def: New file. | |
| * gm2-libs/CHAR.mod: New file. | |
| * gm2-libs/FileSysOp.def: New file. | |
| * gm2-libs/FileSysOp.mod: New file. | |
| * gm2-libs/String.def: New file. | |
| * gm2-libs/String.mod: New file. | |
| * gm2-libs/StringFileSysOp.def: New file. | |
| * gm2-libs/StringFileSysOp.mod: New file. | |
| 2025-06-06 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/120542 | |
| * gm2-compiler/M2Quads.mod (BuildReturnLower): New procedure. | |
| (BuildReturn): Allow return without an expression from | |
| module initialization blocks. Generate an error if an | |
| expression is provided. Call BuildReturnLower if no error | |
| was seen. | |
| 2025-06-01 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/120474 | |
| * gm2-libs-log/InOut.mod (LocalWrite): Call FIO.FlushBuffer. | |
| 2025-06-01 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/120497 | |
| * gm2-compiler/M2Range.mod (IsAssignmentCompatible): Remove from | |
| import list. | |
| (FoldTypeReturnFunc): Rewrite to skip the Lvalue of a var | |
| variable. | |
| (CodeTypeReturnFunc): Ditto. | |
| (CodeTypeIndrX): Call AssignmentTypeCompatible rather than | |
| IsAssignmentCompatible. | |
| (FoldTypeIndrX): Ditto. | |
| 2025-05-31 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/120389 | |
| * gm2-compiler/M2Check.def (AssignmentTypeCompatible): Add new | |
| parameter enableReason. | |
| * gm2-compiler/M2Check.mod (EquivalenceProcedure): New type. | |
| (falseReason2): New procedure function. | |
| (falseReason1): Ditto. | |
| (falseReason0): Ditto. | |
| (checkTypeEquivalence): Rewrite. | |
| (checkUnboundedArray): Ditto. | |
| (checkUnbounded): Ditto. | |
| (checkArrayTypeEquivalence): Ditto. | |
| (checkCharStringTypeEquivalence): Ditto. | |
| (buildError4): Add false reason. | |
| (buildError2): Ditto. | |
| (IsTyped): Use GetDType. | |
| (IsTypeEquivalence): New procedure function. | |
| (checkVarTypeEquivalence): Ditto. | |
| (checkVarEquivalence ): Rewrite. | |
| (checkConstMeta): Ditto. | |
| (checkEnumField): New procedure function. | |
| (checkEnumFieldEquivalence): Ditto. | |
| (checkSubrangeTypeEquivalence): Rewrite. | |
| (checkSystemEquivalence): Ditto. | |
| (checkTypeKindViolation): Ditto. | |
| (doCheckPair): Ditto. | |
| (InitEquivalenceArray): New procedure. | |
| (addEquivalence): Ditto. | |
| (checkProcType): Rewrite. | |
| (deconstruct): Deallocate reason string. | |
| (AssignmentTypeCompatible): Initialize reason and reasonEnable | |
| fields. | |
| (ParameterTypeCompatible): Ditto. | |
| (doExpressionTypeCompatible): Ditto. | |
| * gm2-compiler/M2GenGCC.mod (CodeIndrX) Rewrite. | |
| (CheckBinaryExpressionTypes): Rewrite and simplify now that the | |
| type checker is more robust. | |
| (CheckElementSetTypes): Ditto. | |
| (CodeXIndr): Add new range assignment type check. | |
| * gm2-compiler/M2MetaError.def: Correct comments. | |
| * gm2-compiler/M2Options.def (SetStrictTypeAssignment): New procedure. | |
| (SetStrictTypeReason): Ditto. | |
| * gm2-compiler/M2Options.mod: (SetStrictTypeAssignment): New procedure. | |
| (SetStrictTypeReason): Ditto. | |
| (StrictTypeReason): Initialize. | |
| (StrictTypeAssignment): Ditto. | |
| * gm2-compiler/M2Quads.mod (CheckBreak): Delete. | |
| (BreakQuad): New global variable. | |
| (BreakAtQuad): Delete. | |
| (gdbhook): New procedure. | |
| (BreakWhenQuadCreated): Ditto. | |
| (CheckBreak): Ditto. | |
| (Init): Call BreakWhenQuadCreated and gdbhook. | |
| (doBuildAssignment): Add type assignment range check. | |
| (CheckProcTypeAndProcedure): Only check if the procedure | |
| types differ. | |
| (doIndrX): Add type IndrX range check. | |
| (CheckReturnType): Add range return type check. | |
| * gm2-compiler/M2Range.def (InitTypesIndrXCheck): New procedure | |
| function. | |
| (InitTypesReturnTypeCheck): Ditto. | |
| * gm2-compiler/M2Range.mod (InitTypesIndrXCheck): New procedure | |
| function. | |
| (InitTypesReturnTypeCheck): Ditto. | |
| (HandlerExists): Add new clauses. | |
| (FoldAssignment): Pass extra FALSE parameter to | |
| AssignmentTypeCompatible. | |
| (FoldTypeReturnFunc): New procedure. | |
| (FoldTypeAssign): Ditto. | |
| (FoldTypeIndrX): Ditto. | |
| (CodeTypeAssign): Rewrite. | |
| (CodeTypeIndrX): New procedure. | |
| (CodeTypeReturnFunc): Ditto. | |
| (FoldTypeCheck): Add new case clauses. | |
| (CodeTypeCheck): Ditto. | |
| (FoldRangeCheckLower): Ditto. | |
| (IssueWarning): Ditto. | |
| * gm2-gcc/m2options.h (M2Options_SetStrictTypeAssignment): New | |
| function prototype. | |
| (M2Options_SetStrictTypeReason): Ditto. | |
| * gm2-lang.cc (gm2_langhook_handle_option): New case clause | |
| OPT_fm2_strict_type_reason. | |
| * lang.opt (-fm2-strict-type-reason): New option. | |
| 2025-05-22 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/120389 | |
| * gm2-compiler/M2GenGCC.mod (CodeXIndr): Check to see that | |
| the type of left is assignment compatible with the type of | |
| right. | |
| 2025-05-13 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/120253 | |
| * m2.flex (FIRST_COLUMN): New define. | |
| (updatepos): Remove commented code. | |
| (consumeLine): Assign column to FIRST_COLUMN. | |
| (initLine): Ditto. | |
| (m2flex_GetColumnNo): Return FIRST_COLUMN if currentLine is NULL. | |
| (m2flex_GetLineNo): Rewrite for positive logic. | |
| (m2flex_GetLocation): Ditto. | |
| 2025-05-05 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/120117 | |
| * gm2-compiler/M2GenGCC.mod (FoldBecomes): Remove the call to | |
| RemoveQuad since this is performed by TypeCheckBecomes. | |
| * gm2-compiler/PCSymBuild.mod (buildConstFunction): Rewrite | |
| header comment. | |
| Check for a set or a type aliased set and appropriately | |
| skip type equivalences and obtain the element type. | |
| * gm2-compiler/SymbolTable.mod (PutConst): Add call to | |
| CheckBreak. | |
| 2025-04-24 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/119915 | |
| * gm2-libs/FormatStrings.mod (PerformFormatString): Handle | |
| the %u and %x format specifiers in a similar way to the %d | |
| specifier. Avoid using Slice and use Copy instead. | |
| 2025-04-24 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/119914 | |
| * gm2-compiler/M2Check.mod (checkConstMeta): Add check for | |
| Ztype, Rtype and Ctype and unbounded arrays. | |
| (IsZRCType): New procedure function. | |
| (isZRC): Add comment. | |
| * gm2-compiler/M2Quads.mod: | |
| * gm2-compiler/M2Range.mod (gdbinit): New procedure. | |
| (BreakWhenRangeCreated): Ditto. | |
| (CheckBreak): Ditto. | |
| (InitRange): Call CheckBreak. | |
| (Init): Add gdbhook and initialize interactive watch point. | |
| * gm2-compiler/SymbolTable.def (GetNthParamAnyClosest): New | |
| procedure function. | |
| * gm2-compiler/SymbolTable.mod (BreakSym): Remove constant. | |
| (BreakSym): Add Variable. | |
| (stop): Remove. | |
| (gdbhook): New procedure. | |
| (BreakWhenSymCreated): Ditto. | |
| (CheckBreak): Ditto. | |
| (NewSym): Call CheckBreak. | |
| (Init): Add gdbhook and initialize interactive watch point. | |
| (MakeProcedure): Replace guarded call to stop with CheckBreak. | |
| (GetNthParamChoice): New procedure function. | |
| (GetNthParamOrdered): Ditto. | |
| (GetNthParamAnyClosest): Ditto. | |
| (GetOuterModuleScope): Ditto. | |
| 2025-04-11 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/119735 | |
| * gm2-compiler/M2MetaError.def: Hide %n from comment. | |
| * gm2-compiler/SymbolTable.def (PutIncludedByDefinition): Remove ' | |
| from comment. | |
| * gm2-gcc/m2expr.def (init): Ditto. | |
| * gm2-libiberty/pexecute.def: Ditto. | |
| * gm2-libs-coroutines/Executive.def (InitSemaphore): Ditto. | |
| (Wait): Ditto. | |
| * gm2-libs-iso/ClientSocket.def: Ditto. | |
| * gm2-libs-log/BlockOps.def (BlockMoveBackward): Ditto. | |
| * gm2-libs-log/InOut.def: Ditto. | |
| * mc/mcFileName.def: Ditto. | |
| 2025-04-09 Jakub Jelinek <jakub@redhat.com> | |
| * gm2-compiler/M2MetaError.def: Fix comment typo, range" -> "range2". | |
| 2025-03-30 Sandra Loosemore <sloosemore@baylibre.com> | |
| * lang.opt.urls: Regenerate. | |
| 2025-03-28 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/119504 | |
| * gm2-compiler/M2Quads.mod (BuildHighFunction): Defend against | |
| Type = NulSym and fall into BuildConstHighFromSym. | |
| (BuildDesignatorArray): Rewrite to detect an array access to | |
| a constant string. | |
| (BuildDesignatorArrayStaticDynamic): New procedure. | |
| 2025-03-25 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/119449 | |
| * gm2-compiler/M2GCCDeclare.def (TryDeclareType): Remove tokenno | |
| parameter. | |
| * gm2-compiler/M2GCCDeclare.mod (TryDeclareType): Ditto. | |
| * gm2-compiler/M2GenGCC.mod (FoldTBitsize): Remove op2 and | |
| rename op1 as res and op3 as type. | |
| (FoldStandardFunction): Call FoldTBitsize omitting op2. | |
| * gm2-compiler/M2Quads.mod (GetTypeMin): Rewrite. | |
| (GetTypeMinLower): New procedure function. | |
| (GetTypeMax): Rewrite. | |
| (GetTypeMaxLower): New procedure function. | |
| * gm2-compiler/M2Range.mod (CheckCancelled): Comment out. | |
| * gm2-compiler/M2System.mod (CreateMinMaxFor): Add realtype | |
| parameter. | |
| (MapType): Rewrite to use realtype. | |
| (CreateType): Ditto. | |
| (AttemptToCreateType): Ditto. | |
| (MakeFixedSizedTypes): Add realtype boolean. | |
| (InitPIMTypes): Ditto. | |
| (InitISOTypes): Ditto. | |
| (MakeExtraSystemTypes): Ditto. | |
| * gm2-gcc/m2pp.cc (m2pp_nop_expr): Remove code. | |
| * gm2-gcc/m2type.cc (IsGccRealType): New function. | |
| (m2type_GetMinFrom): Rewrite. | |
| (m2type_GetMaxFrom): Ditto. | |
| (do_min_real): Declare static. | |
| (do_max_real): Declare static. | |
| 2025-03-20 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/118600 | |
| * gm2-compiler/M2GenGCC.mod (PerformCodeBecomes): New procedure. | |
| (CodeBecomes): Refactor and call PerformCodeBecomes. | |
| * gm2-gcc/m2builtins.cc (gm2_strncpy_node): New global variable. | |
| (DoBuiltinStrNCopy): New function. | |
| (m2builtins_BuiltinStrNCopy): New function. | |
| (m2builtins_init): Initialize gm2_strncpy_node. | |
| * gm2-gcc/m2builtins.def (BuiltinStrNCopy): New procedure | |
| function. | |
| * gm2-gcc/m2builtins.h (m2builtins_BuiltinStrNCopy): New | |
| function. | |
| * gm2-gcc/m2statement.cc (copy_record_fields): New function. | |
| (copy_array): Ditto. | |
| (copy_strncpy): Ditto. | |
| (copy_memcpy): Ditto. | |
| (CopyByField_Lower): Ditto. | |
| (m2statement_CopyByField): Ditto. | |
| * gm2-gcc/m2statement.def (CopyByField): New procedure function. | |
| * gm2-gcc/m2statement.h (m2statement_CopyByField): New function. | |
| * gm2-gcc/m2type.cc (check_record_fields): Ditto. | |
| (check_array_types): Ditto. | |
| (m2type_IsGccStrictTypeEquivalent): Ditto. | |
| * gm2-gcc/m2type.def (IsGccStrictTypeEquivalent): New procedure | |
| function. | |
| * gm2-gcc/m2type.h (m2type_IsAddress): Replace return type int | |
| with bool. | |
| 2025-03-16 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/115111 | |
| * gm2-compiler/M2GenGCC.mod (CodeStatementNote): Add debugging. | |
| * gm2-compiler/M2Quads.def (BuildEndWhile): New parameter reltokpos. | |
| * gm2-compiler/M2Quads.mod (BuildEndWhile): Reimplement using new parameter. | |
| * gm2-compiler/P3Build.bnf (WhileStatement): Call BuildEndWhile | |
| with -1 relative position. | |
| * gm2-gcc/m2block.cc (do_add_stmt): Tidy comment. | |
| (GetGlobals): Ditto. | |
| (flush_pending_note): Remove #if 0 code. | |
| * gm2-gcc/m2pp.cc (m2pp_nop_expr): New function. | |
| (m2pp_statement): New case clause call m2pp_nop_expr. | |
| 2025-03-10 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/119192 | |
| * gm2-compiler/M2GCCDeclare.def (TryDeclareType): New procedure. | |
| * gm2-compiler/M2GCCDeclare.mod (IsAnyType): New procedure. | |
| (TryDeclareType): Ditto. | |
| * gm2-compiler/M2GenGCC.mod (FoldTBitsize): New procedure. | |
| (FoldStandardFunction): Call FoldTBitsize. | |
| * gm2-gcc/m2expr.cc (BuildTBitSize): Improve comment. | |
| (m2expr_BuildSystemTBitSize): New function. | |
| * gm2-gcc/m2expr.def (BuildSystemTBitSize): New procedure | |
| function. | |
| * gm2-gcc/m2expr.h (m2expr_BuildSystemTBitSize): New function | |
| prototype. | |
| 2025-03-05 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/118998 | |
| * gm2-gcc/m2expr.cc (m2expr_BuildLRotate): Convert nBits | |
| to the return type. | |
| (m2expr_BuildRRotate): Ditto. | |
| (m2expr_BuildLogicalRotate): Convert op3 to an integer type. | |
| Replace op3 aith rotateCount. | |
| Negate rotateCount if it is negative and call rotate right. | |
| * gm2-gcc/m2pp.cc (m2pp_bit_and_expr): New function. | |
| (m2pp_binary_function): Ditto. | |
| (m2pp_simple_expression): BIT_AND_EXPR new case clause. | |
| LROTATE_EXPR ditto. | |
| RROTATE_EXPR ditto. | |
| 2025-03-02 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/119088 | |
| * gm2-compiler/M2SymInit.mod (ConfigSymInit): Reimplement to | |
| defensively check for NulSym type. | |
| 2025-02-22 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/118978 | |
| * gm2-compiler/M2Check.mod (checkConstMeta): Add check for | |
| typed constants. | |
| * gm2-compiler/M2Quads.mod (BoolFrame): New field RangeDep. | |
| (CheckProcedureParameters): Call PutRangeDep to associate the | |
| range dependency with the parameter on the quad stack. | |
| Pass ParamCheckId to CheckParameter. | |
| (CheckProcTypeAndProcedure): Add ParamCheckId parameter. | |
| Pass ParamCheckId to BuildRange. | |
| (CheckParameter): New parameter ParamCheckId. | |
| Pass ParamCheckId to CheckProcTypeAndProcedure. | |
| (CheckParameterOrdinals): Add extra range dep parameter to the | |
| call of InitParameterRangeCheck. | |
| (ConvertBooleanToVariable): Initialize RangeDep field. | |
| (PushBacktok): Ditto. | |
| (OperandRangeDep): New procedure. | |
| (PutRangeDep): Ditto. | |
| * gm2-compiler/M2Range.def (InitTypesParameterCheck): Add new | |
| parameter depRangeId. | |
| (InitParameterRangeCheck): Add new parameter parentRangeId. | |
| (FoldRangeCheck): Add new parameter range. | |
| * gm2-compiler/M2Range.mod (InitTypesParameterCheck): Add new | |
| parameter depRangeId. | |
| (InitParameterRangeCheck): Add new parameter parentRangeId. | |
| (FoldRangeCheck): Add new parameter range and rewrite. | |
| (FoldRangeCheckLower): New procedure. | |
| (Range): New field cancelled. | |
| New field dependantid. | |
| (PutRangeParam): Initialize dependantid. | |
| (PutRangeParamAssign): Ditto. | |
| (CheckCancelled): New procedure. | |
| (Cancel): Ditto. | |
| (IsCancelled): New procedure function. | |
| (FoldTypeParam): Add depRangeId parameter. | |
| (WriteRangeCheck): Add dependent debugging. | |
| 2025-02-11 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/118761 | |
| * gm2spec.cc (lang_specific_driver): Add case clauses for | |
| OPT__help, OPT__help_ set in_added_libraries to 0 and early | |
| return. | |
| 2025-02-04 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/115112 | |
| * gm2-compiler/M2Quads.mod (BuildPseudoProcedureCall): Pass | |
| tokno to each build procedure. | |
| (BuildThrowProcedure): New parameter functok. | |
| (BuildIncProcedure): New parameter proctok. | |
| Pass proctok on the quad stack during every push. | |
| (BuildDecProcedure): Ditto. | |
| (BuildInclProcedure): New parameter proctok. | |
| (BuildExclProcedure): New parameter proctok. | |
| 2025-02-01 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/118703 | |
| * gm2-gcc/m2builtins.cc (define_builtin_gcc): New function. | |
| (m2builtins_init): Call define_builtin_gcc. | |
| * gm2-libs/Builtins.def (clz): New procedure function. | |
| (clzll): Ditto. | |
| (ctz): Ditto. | |
| (ctzll): Ditto. | |
| * gm2-libs/Builtins.mod (clz): New procedure function. | |
| (clzll): Ditto. | |
| (ctz): Ditto. | |
| (ctzll): Ditto. | |
| * gm2-libs/cbuiltin.def (clz): New procedure function. | |
| (clzll): Ditto. | |
| (ctz): Ditto. | |
| (ctzll): Ditto. | |
| 2025-01-29 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/118010 | |
| PR modula2/118183 | |
| PR modula2/116073 | |
| * gm2-compiler/M2Options.mod (OffTBits): Assign to 0. | |
| * gm2-gcc/m2type.cc (build_m2_specific_size_type): Ensure that | |
| layout_type is called before returning c. | |
| (build_m2_offt_type_node): If GetFileOffsetBits returns 0 then | |
| use the type size of ssize_t. | |
| 2025-01-26 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-compiler/M2GenGCC.mod (FoldConstBecomes): Remove | |
| commented out code. | |
| Improve early return comment. | |
| 2025-01-26 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-compiler/M2GenGCC.mod (FoldStatementNote): Add header | |
| comment. | |
| (CodeStatementNote): Ditto. | |
| (FoldRange): Tidy comment. | |
| (CodeError): Ditto. | |
| (CodeProcedureScope): Ditto. | |
| (CheckConvertCoerceParameter): Replace op1 with nth. | |
| Replace op2 with callee. | |
| Replace op3 with actual. | |
| 2025-01-25 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/117737 | |
| PR modula2/118010 | |
| * Make-maintainer.in (PGE-MC-OPTIONS): New macro. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)M2RTS.o): Use $(PGE-MC-OPTIONS). | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)SymbolKey.o): Ditto. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)NameKey.o): Ditto. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)Lists.o): Ditto. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)Output.o): Ditto. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)bnflex.o): Ditto. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)RTentity.o): Ditto. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)%.o): Ditto. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)pge.o): Ditto. | |
| (m2/gm2-auto/pg.o): Ditto. | |
| (m2/gm2-auto/pge.o): Ditto. | |
| (mc-autogen): Add include directory $(GMPINC) to $(CXX). | |
| * mc/keyc.mod (checkGccConfigSystem): Remove | |
| INCLUDE_MEMORY define. | |
| * mc-boot/GASCII.cc (INCLUDE_MEMORY): Removed during rebuild. | |
| * mc-boot/GASCII.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GArgs.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GArgs.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GAssertion.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GAssertion.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GBreak.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GBreak.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GCOROUTINES.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GCmdArgs.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GCmdArgs.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GDebug.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GDebug.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GDynamicStrings.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GDynamicStrings.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GEnvironment.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GEnvironment.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GFIO.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GFIO.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GFormatStrings.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GFormatStrings.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GFpuIO.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GFpuIO.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GIO.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GIO.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GIndexing.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GIndexing.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GM2Dependent.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GM2Dependent.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GM2EXCEPTION.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GM2EXCEPTION.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GM2RTS.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GM2RTS.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GMemUtils.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GMemUtils.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GNumberIO.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GNumberIO.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GPushBackInput.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GPushBackInput.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GRTExceptions.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GRTExceptions.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GRTco.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GRTentity.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GRTint.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GRTint.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GSArgs.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GSArgs.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GSFIO.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GSFIO.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GSYSTEM.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GSelective.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GStdIO.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GStdIO.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GStorage.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GStorage.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GStrCase.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GStrCase.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GStrIO.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GStrIO.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GStrLib.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GStrLib.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GStringConvert.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GStringConvert.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GSysExceptions.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GSysStorage.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GSysStorage.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GTimeString.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GTimeString.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GUnixArgs.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/Galists.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/Galists.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/Gdecl.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/Gdecl.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/Gdtoa.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/Gerrno.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/Gkeyc.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/Gkeyc.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/Gldtoa.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/Glibc.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/Glibm.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/Glists.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/Glists.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GmcComment.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GmcComment.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GmcComp.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GmcComp.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GmcDebug.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GmcDebug.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GmcError.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GmcError.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GmcFileName.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GmcFileName.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GmcLexBuf.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GmcLexBuf.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GmcMetaError.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GmcMetaError.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GmcOptions.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GmcOptions.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GmcPreprocess.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GmcPreprocess.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GmcPretty.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GmcPretty.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GmcPrintf.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GmcPrintf.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GmcQuiet.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GmcQuiet.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GmcReserved.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GmcReserved.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GmcSearch.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GmcSearch.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GmcStack.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GmcStack.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GmcStream.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GmcStream.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/Gmcflex.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/Gmcp1.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/Gmcp1.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/Gmcp2.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/Gmcp2.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/Gmcp3.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/Gmcp3.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/Gmcp4.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/Gmcp4.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/Gmcp5.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/Gmcp5.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GnameKey.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GnameKey.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GsymbolKey.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/GsymbolKey.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/Gtermios.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/Gtop.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/Gvarargs.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/Gvarargs.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/Gwlists.cc (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/Gwlists.h (INCLUDE_MEMORY): Ditto. | |
| * mc-boot/Gwrapc.h (INCLUDE_MEMORY): Ditto. | |
| * pge-boot/GIndexing.h (INCLUDE_MEMORY): Ditto. | |
| * pge-boot/GSEnvironment.h (INCLUDE_MEMORY): Ditto. | |
| * pge-boot/GScan.h (INCLUDE_MEMORY): Ditto. | |
| 2025-01-25 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/118010 | |
| * gm2-libs-log/FileSystem.mod (doModeChange): Replace | |
| LONGINT with COFF_T. | |
| (SetPos): Use COFF_T for the return value and offset type | |
| when calling lseek. | |
| * gm2-libs/FIO.mod (SetPositionFromBeginning): Convert pos | |
| to COFF_T. | |
| (SetPositionFromEnd): Ditto. | |
| * mc-boot/GFIO.cc: Rebuild. | |
| * mc-boot/Glibc.h: Ditto. | |
| * pge-boot/GFIO.cc: Ditto. | |
| * pge-boot/Glibc.h: Ditto. | |
| 2025-01-25 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/118010 | |
| * gm2-compiler/P2SymBuild.mod (Debug): Comment out unused | |
| procedure. | |
| * gm2-libs/libc.def (lseek): Declare second parameter offset | |
| as COFF_T. | |
| 2025-01-25 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/118589 | |
| * gm2-compiler/M2MetaError.mod (symDesc): Add opaque type | |
| description. | |
| * gm2-compiler/M2Quads.mod (BuildDesignatorPointerError): New | |
| procedure. | |
| (BuildDesignatorPointer): Reimplement. | |
| * gm2-compiler/P3Build.bnf (SubDesignator): Tidy up error message. | |
| Use MetaErrorT2 rather than WriteForma1 and use the token pos from | |
| the quad stack. | |
| 2025-01-13 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/116557 | |
| * COPYING.FDL: Remove physical address and replace with a URL. | |
| 2025-01-13 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/118453 | |
| * gm2-compiler/M2Check.mod (buildError4): Call MetaError1 | |
| for the actual and formal parameter type. | |
| * gm2-compiler/P2Build.bnf (SubrangeType): Construct a virtual | |
| token containing the subrange type declaration. | |
| (PrefixedSubrangeType): Ditto. | |
| * gm2-compiler/P2SymBuild.def (BuildSubrange): Add tok parameter. | |
| * gm2-compiler/P2SymBuild.mod (BuildSubrange): Use tok parameter, | |
| rather than the token at the start of the subrange. | |
| 2025-01-07 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/118010 | |
| PR modula2/118183 | |
| * gm2-compiler/M2GCCDeclare.mod (Import): COffT, GetCOffTType. | |
| (DeclareDefaultSimpleTypes): Declare COFF_T. | |
| * gm2-compiler/M2GenGCC.mod (GetParamSize): Correct first | |
| parameter to BuildSize to use location rather than a token position. | |
| * gm2-compiler/M2Options.def (SetFileOffsetBits): New procedure. | |
| (GetFileOffsetBits): New procedure function. | |
| * gm2-compiler/M2Options.mod (SetFileOffsetBits): New procedure. | |
| (GetFileOffsetBits): New procedure function. | |
| (OffTBits): New variable. | |
| * gm2-compiler/M2System.def (COffT): New variable. | |
| * gm2-compiler/M2System.mod (MakeExtraSystemTypes): Declare | |
| COffT. | |
| * gm2-compiler/P1SymBuild.mod (EndBuildProcedure): Call | |
| PutProcedureDefined. | |
| * gm2-compiler/P2SymBuild.mod (Debug): Reimplement. | |
| * gm2-compiler/SymbolTable.mod (InitProcedureDeclaration): | |
| Initialize ProcedureTok. | |
| * gm2-gcc/gcctypes.def (location_t): Declare as CARDINAL64. | |
| * gm2-gcc/m2linemap.cc (m2linemap_GetLocationBinary): Add | |
| call to linemap_add indication a LC_LEAVE. | |
| * gm2-gcc/m2options.h (M2Options_SetFileOffsetBits): New procedure. | |
| (M2Options_GetFileOffsetBits): New procedure function. | |
| * gm2-gcc/m2type.cc (m2_offt_type_node): New variable. | |
| (m2type_GetCSizeTType): Reword comment. | |
| (m2type_GetCSSizeTType): Reword comment. | |
| (m2type_GetCOffTType): New function. | |
| (build_m2_offt_type_node): New function. | |
| (m2type_InitSystemTypes): Initialize m2_offt_type_node. | |
| * gm2-gcc/m2type.def (GetCSizeTType): Reword comment. | |
| (GetCOffTType): New procedure function. | |
| * gm2-gcc/m2type.h (m2type_GetCOffTType): New prototype. | |
| * gm2-lang.cc (gm2_langhook_handle_option): New clause | |
| OPT_fm2_file_offset_bits_. | |
| * gm2-libs-coroutines/SYSTEM.def: Add COFF_T to export list. | |
| * gm2-libs-iso/SYSTEM.def: Ditto. | |
| * gm2-libs-min/SYSTEM.def: Ditto. | |
| * gm2-libs/SYSTEM.def: Add COFF_T and CARDINAL64 to export list. | |
| * gm2-libs/libc.def (lseek): Change return type to COFF_T. | |
| * lang.opt (-fm2-file-offset-bits=): New option. | |
| * mc-boot-ch/Glibc.c (libc_lseek): Change result to use off_t. | |
| * mc-boot/GASCII.cc: Rebuilt. | |
| * mc-boot/GASCII.h: Ditto. | |
| * mc-boot/GArgs.cc: Ditto. | |
| * mc-boot/GArgs.h: Ditto. | |
| * mc-boot/GAssertion.cc: Ditto. | |
| * mc-boot/GAssertion.h: Ditto. | |
| * mc-boot/GBreak.cc: Ditto. | |
| * mc-boot/GBreak.h: Ditto. | |
| * mc-boot/GCOROUTINES.h: Ditto. | |
| * mc-boot/GCmdArgs.cc: Ditto. | |
| * mc-boot/GCmdArgs.h: Ditto. | |
| * mc-boot/GDebug.cc: Ditto. | |
| * mc-boot/GDebug.h: Ditto. | |
| * mc-boot/GDynamicStrings.cc: Ditto. | |
| * mc-boot/GDynamicStrings.h: Ditto. | |
| * mc-boot/GEnvironment.cc: Ditto. | |
| * mc-boot/GEnvironment.h: Ditto. | |
| * mc-boot/GFIO.cc: Ditto. | |
| * mc-boot/GFIO.h: Ditto. | |
| * mc-boot/GFormatStrings.cc: Ditto. | |
| * mc-boot/GFormatStrings.h: Ditto. | |
| * mc-boot/GFpuIO.cc: Ditto. | |
| * mc-boot/GFpuIO.h: Ditto. | |
| * mc-boot/GIO.cc: Ditto. | |
| * mc-boot/GIO.h: Ditto. | |
| * mc-boot/GIndexing.cc: Ditto. | |
| * mc-boot/GIndexing.h: Ditto. | |
| * mc-boot/GM2Dependent.cc: Ditto. | |
| * mc-boot/GM2Dependent.h: Ditto. | |
| * mc-boot/GM2EXCEPTION.cc: Ditto. | |
| * mc-boot/GM2EXCEPTION.h: Ditto. | |
| * mc-boot/GM2RTS.cc: Ditto. | |
| (M2RTS_Halt): Call libc_exit. | |
| (M2RTS_HaltC): Ditto. | |
| * mc-boot/GM2RTS.h: Rebuilt. | |
| * mc-boot/GMemUtils.cc: Ditto. | |
| * mc-boot/GMemUtils.h: Ditto. | |
| * mc-boot/GNumberIO.cc: Ditto. | |
| * mc-boot/GNumberIO.h: Ditto. | |
| * mc-boot/GPushBackInput.cc: Ditto. | |
| * mc-boot/GPushBackInput.h: Ditto. | |
| * mc-boot/GRTExceptions.cc: Ditto. | |
| * mc-boot/GRTExceptions.h: Ditto. | |
| * mc-boot/GRTco.h: Ditto. | |
| * mc-boot/GRTentity.h: Ditto. | |
| * mc-boot/GRTint.cc: Ditto. | |
| * mc-boot/GRTint.h: Ditto. | |
| * mc-boot/GSArgs.cc: Ditto. | |
| * mc-boot/GSArgs.h: Ditto. | |
| * mc-boot/GSFIO.cc: Ditto. | |
| * mc-boot/GSFIO.h: Ditto. | |
| * mc-boot/GSYSTEM.h: Ditto. | |
| * mc-boot/GSelective.h: Ditto. | |
| * mc-boot/GStdIO.cc: Ditto. | |
| * mc-boot/GStdIO.h: Ditto. | |
| * mc-boot/GStorage.cc: Ditto. | |
| * mc-boot/GStorage.h: Ditto. | |
| * mc-boot/GStrCase.cc: Ditto. | |
| * mc-boot/GStrCase.h: Ditto. | |
| * mc-boot/GStrIO.cc: Ditto. | |
| * mc-boot/GStrIO.h: Ditto. | |
| * mc-boot/GStrLib.cc: Ditto. | |
| * mc-boot/GStrLib.h: Ditto. | |
| * mc-boot/GStringConvert.cc: Ditto. | |
| * mc-boot/GStringConvert.h: Ditto. | |
| * mc-boot/GSysExceptions.h: Ditto. | |
| * mc-boot/GSysStorage.cc: Ditto. | |
| * mc-boot/GSysStorage.h: Ditto. | |
| * mc-boot/GTimeString.cc: Ditto. | |
| * mc-boot/GTimeString.h: Ditto. | |
| * mc-boot/GUnixArgs.h: Ditto. | |
| * mc-boot/Galists.cc: Ditto. | |
| * mc-boot/Galists.h: Ditto. | |
| * mc-boot/Gdecl.cc: Ditto. | |
| * mc-boot/Gdecl.h: Rebuilt. | |
| * mc-boot/Gdtoa.h: Ditto. | |
| * mc-boot/Gerrno.h: Ditto. | |
| * mc-boot/Gkeyc.cc: Ditto. | |
| * mc-boot/Gkeyc.h: Rebuilt. | |
| * mc-boot/Gldtoa.h: Ditto. | |
| * mc-boot/Glibc.h: Ditto. | |
| * mc-boot/Glibm.h: Ditto. | |
| * mc-boot/Glists.cc: Ditto. | |
| * mc-boot/Glists.h: Ditto. | |
| * mc-boot/GmcComment.cc: Ditto. | |
| * mc-boot/GmcComment.h: Ditto. | |
| * mc-boot/GmcComp.cc: Ditto. | |
| * mc-boot/GmcComp.h: Ditto. | |
| * mc-boot/GmcDebug.cc: Ditto. | |
| * mc-boot/GmcDebug.h: Ditto. | |
| * mc-boot/GmcError.cc: Ditto. | |
| * mc-boot/GmcError.h: Ditto. | |
| * mc-boot/GmcFileName.cc: Ditto. | |
| * mc-boot/GmcFileName.h: Ditto. | |
| * mc-boot/GmcLexBuf.cc: Ditto. | |
| * mc-boot/GmcLexBuf.h: Ditto. | |
| * mc-boot/GmcMetaError.cc: Ditto. | |
| * mc-boot/GmcMetaError.h: Ditto. | |
| * mc-boot/GmcOptions.cc: Ditto. | |
| * mc-boot/GmcOptions.h: Ditto. | |
| * mc-boot/GmcPreprocess.cc: Ditto. | |
| * mc-boot/GmcPreprocess.h: Ditto. | |
| * mc-boot/GmcPretty.cc: Ditto. | |
| * mc-boot/GmcPretty.h: Ditto. | |
| * mc-boot/GmcPrintf.cc: Ditto. | |
| * mc-boot/GmcPrintf.h: Ditto. | |
| * mc-boot/GmcQuiet.cc: Ditto. | |
| * mc-boot/GmcQuiet.h: Ditto. | |
| * mc-boot/GmcReserved.cc: Ditto. | |
| * mc-boot/GmcReserved.h: Ditto. | |
| * mc-boot/GmcSearch.cc: Ditto. | |
| * mc-boot/GmcSearch.h: Ditto. | |
| * mc-boot/GmcStack.cc: Ditto. | |
| * mc-boot/GmcStack.h: Ditto. | |
| * mc-boot/GmcStream.cc: Ditto. | |
| * mc-boot/GmcStream.h: Ditto. | |
| * mc-boot/Gmcflex.h: Ditto. | |
| * mc-boot/Gmcp1.cc: Ditto. | |
| * mc-boot/Gmcp1.h: Ditto. | |
| * mc-boot/Gmcp2.cc: Ditto. | |
| * mc-boot/Gmcp2.h: Ditto. | |
| * mc-boot/Gmcp3.cc: Ditto. | |
| * mc-boot/Gmcp3.h: Ditto. | |
| * mc-boot/Gmcp4.cc: Ditto. | |
| * mc-boot/Gmcp4.h: Ditto. | |
| * mc-boot/Gmcp5.cc: Ditto. | |
| * mc-boot/Gmcp5.h: Ditto. | |
| * mc-boot/GnameKey.cc: Ditto. | |
| * mc-boot/GnameKey.h: Ditto. | |
| * mc-boot/GsymbolKey.cc: Ditto. | |
| * mc-boot/GsymbolKey.h: Ditto. | |
| * mc-boot/Gtermios.h: Ditto. | |
| * mc-boot/Gtop.cc: Ditto. | |
| * mc-boot/Gvarargs.cc: Ditto. | |
| * mc-boot/Gvarargs.h: Ditto. | |
| * mc-boot/Gwlists.cc: Ditto. | |
| * mc-boot/Gwlists.h: Ditto. | |
| * mc-boot/Gwrapc.h: Ditto. | |
| * mc/decl.mod (cofft): New enum. | |
| (cardinal64): Ditto. | |
| (cofftN): New variable. | |
| (cardinal64N): Ditto. | |
| (isProcedure): Remove. | |
| (getSymName): Add clause for cofft and cardinal64. | |
| (makeBase): Ditto. | |
| (isOrdinal): Ditto. | |
| (getType): Ditto. | |
| (doGetExprType): Ditto. | |
| (getScope): Ditto. | |
| (doExprC): Ditto. | |
| (isSystem): Ditto. | |
| (doSystemC): Ditto. | |
| (doDependants): Ditto. | |
| (visitDependants): Ditto. | |
| (genKind): Ditto. | |
| (doSystemM2): Ditto. | |
| (doDupExpr): Ditto. | |
| (makeSystem): Initialize cofftN and cardinal64N. | |
| * mc/keyc.mod (useUIntMin): Remove. | |
| (useUIntMax): Ditto. | |
| * pge-boot/GIndexing.h: Rebuilt. | |
| * pge-boot/GSEnvironment.h: Ditto. | |
| * pge-boot/GScan.h: Ditto. | |
| * pge-boot/Glibc.h: Ditto. | |
| 2024-12-23 Wilken Gottwalt <wilken.gottwalt@posteo.net> | |
| * gm2-libs-log/InOut.mod: Fix bad identifier warning. | |
| 2024-12-10 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/117120 | |
| * gm2-compiler/M2CaseList.mod (CaseBoundsResolved): Rewrite. | |
| (ConvertNulStr2NulChar): New procedure function. | |
| (NulStr2NulChar): Ditto. | |
| (GetCaseExpression): Ditto. | |
| (OverlappingCaseBound): Rewrite. | |
| * gm2-compiler/M2GCCDeclare.mod (CheckResolveSubrange): Allow | |
| '' to be used as the subrange low limit. | |
| * gm2-compiler/M2GenGCC.mod (FoldConvert): Rewrite. | |
| (PopKindTree): Ditto. | |
| (BuildHighFromString): Reformat. | |
| * gm2-compiler/SymbolTable.mod (PushConstString): Add test for | |
| length 0 and PushChar (nul). | |
| 2024-12-09 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/115328 | |
| * gm2-compiler/M2Options.def (GetEnableForward): New procedure | |
| function. | |
| (SetEnableForward): New procedure. | |
| * gm2-compiler/M2Options.mod (GetEnableForward): New procedure | |
| function. | |
| (SetEnableForward): New procedure. | |
| (EnableForward): New boolean. | |
| * gm2-compiler/P1SymBuild.mod (EndBuildForward): Check | |
| GetEnableForward and generate an error message if false. | |
| 2024-12-07 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/117948 | |
| * gm2-compiler/P1Build.bnf (ForwardDeclaration): Pass token | |
| position of the FORWARD keyword to EndBuildForward. | |
| * gm2-compiler/P1SymBuild.def (EndBuildForward): New parameter | |
| forwardPos. | |
| * gm2-compiler/P1SymBuild.mod (EndBuildForward): Issue an error at | |
| forwardPos if the Iso boolean is false. | |
| 2024-12-05 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/117904 | |
| * gm2-compiler/M2GenGCC.mod (PerformLastForIterator): Add call to | |
| BuildConvert when increment is > 0. | |
| 2024-11-25 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/117777 | |
| * gm2-compiler/P0SyntaxCheck.bnf (AsmOperands): Allow term after | |
| ConstExpression to be optional. | |
| * gm2-compiler/P1Build.bnf (AsmOperands): Ditto. | |
| * gm2-compiler/P2Build.bnf (AsmOperands): Ditto. | |
| * gm2-compiler/PCBuild.bnf (AsmOperands): Ditto. | |
| * gm2-compiler/PHBuild.bnf (AsmOperands): Ditto. | |
| 2024-11-23 Maciej W. Rozycki <macro@orcam.me.uk> | |
| * Make-lang.in (m2 modula-2 modula2): Remove $(GCC_PARTS). | |
| 2024-11-22 Andrew Pinski <quic_apinski@quicinc.com> | |
| PR bootstrap/117737 | |
| * gm2-gcc/gcc-consolidation.h (INCLUDE_MEMORY): Remove. | |
| * gm2-gcc/m2configure.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GASCII.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GASCII.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GArgs.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GArgs.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GAssertion.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GAssertion.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GBreak.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GBreak.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GCOROUTINES.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GCmdArgs.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GCmdArgs.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GDebug.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GDebug.h (INCLUDE_MEMORY): Remove. Remove. | |
| * mc-boot/GDynamicStrings.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GDynamicStrings.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GEnvironment.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GEnvironment.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GFIO.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GFIO.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GFormatStrings.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GFormatStrings.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GFpuIO.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GFpuIO.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GIO.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GIO.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GIndexing.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GIndexing.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GM2Dependent.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GM2Dependent.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GM2EXCEPTION.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GM2EXCEPTION.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GM2RTS.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GM2RTS.h (INCLUDE_MEMORY): Remove. Remove. | |
| * mc-boot/GMemUtils.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GMemUtils.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GNumberIO.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GNumberIO.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GPushBackInput.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GPushBackInput.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GRTExceptions.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GRTExceptions.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GRTco.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GRTentity.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GRTint.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GRTint.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GSArgs.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GSArgs.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GSFIO.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GSFIO.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GSYSTEM.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GSelective.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GStdIO.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GStdIO.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GStorage.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GStorage.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GStrCase.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GStrCase.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GStrIO.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GStrIO.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GStrLib.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GStrLib.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GStringConvert.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GStringConvert.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GSysExceptions.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GSysStorage.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GSysStorage.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GTimeString.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GTimeString.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GUnixArgs.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/Galists.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/Galists.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/Gdecl.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/Gdecl.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/Gdtoa.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/Gerrno.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/Gkeyc.cc (INCLUDE_MEMORY): Remove. | |
| (checkGccConfigSystem): Remove printing out `#define INCLUDE_MEMORY`. | |
| * mc-boot/Gkeyc.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/Gldtoa.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/Glibc.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/Glibm.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/Glists.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/Glists.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GmcComment.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GmcComment.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GmcComp.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GmcComp.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GmcDebug.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GmcDebug.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GmcError.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GmcError.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GmcFileName.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GmcFileName.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GmcLexBuf.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GmcLexBuf.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GmcMetaError.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GmcMetaError.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GmcOptions.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GmcOptions.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GmcPreprocess.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GmcPreprocess.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GmcPretty.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GmcPretty.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GmcPrintf.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GmcPrintf.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GmcQuiet.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GmcQuiet.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GmcReserved.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GmcReserved.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GmcSearch.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GmcSearch.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GmcStack.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GmcStack.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GmcStream.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GmcStream.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/Gmcflex.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/Gmcp1.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/Gmcp1.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/Gmcp2.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/Gmcp2.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/Gmcp3.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/Gmcp3.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/Gmcp4.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/Gmcp4.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/Gmcp5.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/Gmcp5.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GnameKey.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GnameKey.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GsymbolKey.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/GsymbolKey.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/Gtermios.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/Gtop.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/Gvarargs.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/Gvarargs.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/Gwlists.cc (INCLUDE_MEMORY): Remove. | |
| * mc-boot/Gwlists.h (INCLUDE_MEMORY): Remove. | |
| * mc-boot/Gwrapc.h (INCLUDE_MEMORY): Remove. | |
| * pge-boot/GIndexing.h (INCLUDE_MEMORY): Remove. | |
| * pge-boot/GSEnvironment.h (INCLUDE_MEMORY): Remove. | |
| * pge-boot/GScan.h (INCLUDE_MEMORY): Remove. | |
| 2024-11-18 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/117555 | |
| * gm2-libs-iso/M2EXCEPTION.mod (M2Exception): Add missing | |
| return statement. | |
| * gm2-libs-iso/RealConv.mod (ValueReal): Ditto. | |
| * gm2-libs-iso/RndFile.mod (StartPos): Ditto. | |
| (EndPos): Ditto. | |
| (NewPos): Ditto. | |
| * gm2-libs-iso/ShortConv.mod (ValueReal): Ditto. | |
| * gm2-libs-iso/WholeConv.mod (ValueInt): Ditto. | |
| (ValueCard): Ditto. | |
| 2024-11-18 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/117660 | |
| * gm2-compiler/P2Build.bnf (ArrayType): Update tok with the | |
| composite token produced during array type declaration. | |
| * gm2-compiler/P2SymBuild.mod (EndBuildArray): Create the | |
| combinedtok and store it into the symbol table. | |
| Also ensure combinedtok is pushed to the quad stack. | |
| (BuildFieldArray): Preserve typetok. | |
| * gm2-compiler/SymbolTable.def (PutArray): Rename parameters. | |
| * gm2-compiler/SymbolTable.mod (PutArray): Rename parameters. | |
| 2024-11-18 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/117371 | |
| * gm2-compiler/M2GenGCC.mod (PerformLastForIterator): | |
| Add check for zero step value and issue an error message. | |
| 2024-11-16 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/117555 | |
| * gm2-libs-iso/EXCEPTIONS.mod (CurrentNumber): Add return | |
| statement. | |
| * gm2-libs-iso/IOChan.mod (ReadResult): Ditto. | |
| (CurrentFlags): Ditto. | |
| (DeviceError): Ditto. | |
| * gm2-libs-iso/IOLink.mod (DeviceTablePtrValue): Ditto. | |
| * gm2-libs-iso/LongConv.mod (ValueReal): Ditto. | |
| * gm2-libs/M2RTS.mod (Halt): Add noreturn attribute. | |
| Add exit (1). | |
| (HaltC): Add exit (1). | |
| * pge-boot/GM2RTS.cc (M2RTS_Halt): Add exit (1). | |
| (M2RTS_HaltC): Ditto. | |
| 2024-11-15 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/117371 | |
| * gm2-compiler/M2Base.mod (MixMetaTypes): Add parameter TRUE to | |
| MetaErrorDecl. | |
| (IsUserType): Test against ZType. | |
| (MixTypesDecl): Test for ZType. | |
| * gm2-compiler/M2GenGCC.mod (ErrorMessageDecl): Add parameter TRUE to | |
| MetaErrorDecl. | |
| (CodeLastForIterator): New procedure. | |
| (FoldLastForIterator): Ditto. | |
| (PerformLastForIterator): Ditto. | |
| (CodeStatement): Add case clause for LastForIteratorOp. | |
| (ErrorMessageDecl): Add iserror parameter. | |
| Call MetaErrorDecl with iserror parameter. | |
| (checkIncorrectMeta): Call MetaErrorDecl with TRUE parameter. | |
| (CheckBinaryExpressionTypes): Ditto. | |
| (CheckElementSetTypes): Ditto. | |
| * gm2-compiler/M2LexBuf.def (MakeVirtualTok): Update comment | |
| detailing the fall back when UnknownTokenNo is encountered. | |
| (MakeVirtual2Tok): Ditto. | |
| * gm2-compiler/M2LexBuf.mod (MakeVirtualTok): Check against | |
| UnknownTokenNo. | |
| (MakeVirtual2Tok): Ditto. | |
| * gm2-compiler/M2MetaError.def (MetaErrorDecl): Add error parameter. | |
| * gm2-compiler/M2MetaError.mod (MetaErrorDecl): Add error | |
| parameter. | |
| Issue warning if error is FALSE. | |
| * gm2-compiler/M2Quads.def (QuadOperator): Add LastForIteratorOp. | |
| * gm2-compiler/M2Quads.mod (AddQuadInformation): New case clause | |
| LastForIteratorOp. | |
| (CheckAddTuple2Read): New procedure. | |
| (BuildForLoopToRangeCheck): Remove. | |
| (ForLoopLastIteratorVariable): Ditto. | |
| (ForLoopLastIteratorConstant): Ditto. | |
| (ForLoopLastIterator): Reimplement. | |
| (BuildForToByDo): Remove ByType from call to ForLoopLastIterator. | |
| (WriteQuad): New case clause LastForIteratorOp. | |
| (WriteOperator): Ditto. | |
| * gm2-compiler/M2Students.def | |
| (CheckForVariableThatLooksLikeKeyword): Replace with ... | |
| (CheckVariableAgainstKeyword): ... this. | |
| * gm2-compiler/M2Students.mod | |
| (CheckForVariableThatLooksLikeKeyword): Replace with ... | |
| (CheckVariableAgainstKeyword): ... this. | |
| * gm2-compiler/M2SymInit.mod (CheckLastForIterator): New | |
| procedure. | |
| (CheckReadBeforeInitQuad): New case clause to call | |
| CheckLastForIterator. | |
| * gm2-compiler/P2SymBuild.mod: Replace | |
| CheckForVariableThatLooksLikeKeyword with CheckVariableAgainstKeyword. | |
| 2024-11-15 Gaius Mulley <gaiusmod2@gmail.com> | |
| * Make-lang.in (m2/gm2-compiler-boot/P0SyntaxCheck.c): | |
| New rule. | |
| (m2/gm2-compiler-boot/P0SyntaxCheck.o): Ditto. | |
| (m2/gm2-compiler-boot/P1Build.c): Ditto. | |
| (m2/gm2-compiler-boot/P1Build.o): Ditto. | |
| (m2/gm2-compiler-boot/P2Build.c): Ditto. | |
| (m2/gm2-compiler-boot/P2Build.o): Ditto. | |
| (m2/gm2-compiler-boot/P3Build.c): Ditto. | |
| (m2/gm2-compiler-boot/P3Build.o): Ditto. | |
| (m2/gm2-compiler-boot/PCBuild.c): Ditto. | |
| (m2/gm2-compiler-boot/PCBuild.o): Ditto. | |
| (m2/gm2-compiler-boot/PHBuild.c): Ditto. | |
| (m2/gm2-compiler-boot/PHBuild.o): Ditto. | |
| 2024-11-11 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-compiler/M2Base.def (MixTypes): Rename parameters. | |
| (MixTypesDecl): New procedure function. | |
| * gm2-compiler/M2Base.mod (BuildOrdFunctions): Add | |
| DefProcedure parameter to PutFunction. | |
| (BuildTruncFunctions): Ditto. | |
| (BuildFloatFunctions): Ditto. | |
| (BuildIntFunctions): Ditto. | |
| (InitBaseFunctions): Ditto. | |
| (MixTypesDecl): New procedure function. | |
| (MixTypes): Reimplement. | |
| * gm2-compiler/M2Check.mod (checkProcType): Replace | |
| NoOfParam with NoOfParamAny. | |
| Replace IsVarParam with IsVarParamAny. | |
| (checkProcedureProcType): Ditto. | |
| * gm2-compiler/M2Error.def: Remove unnecessary export qualified list. | |
| * gm2-compiler/M2GCCDeclare.mod: Replace NoOfParam with NoOfParamAny. | |
| Replace IsVarParam with IsVarParamAny. | |
| (DeclareProcedureToGccWholeProgram): Rename son to | |
| Variable. | |
| (DeclareProcedureToGccSeparateProgram): Ditto. | |
| (PrintKind): New procedure. | |
| (PrintProcedureParameters): Ditto. | |
| (PrintProcedureReturnType): Ditto. | |
| (PrintProcedure): Reimplement. | |
| (PrintProcTypeParameters): New procedure. | |
| (PrintProcType): Ditto. | |
| (DeclareProcType): Rename Son to Parameter. | |
| * gm2-compiler/M2GenGCC.mod: Replace NoOfParam with NoOfParamAny. | |
| Replace IsVarParam with IsVarParamAny. | |
| (ErrorMessageDecl): New procedure. | |
| (checkIncorrectMeta): Replace call to MetaErrorT2 with | |
| ErrorMessageDecl. | |
| (ComparisonMixTypes): Add varleft and varright parameters. | |
| Adjust all callers of ComparisonMixTypes. | |
| * gm2-compiler/M2MetaError.def (MetaErrorDecl): New procedure. | |
| * gm2-compiler/M2MetaError.mod (MetaErrorDecl): New procedure. | |
| * gm2-compiler/M2Options.def (SetXCode): Add -fd flag description | |
| to comment. | |
| * gm2-compiler/M2Options.mod (SetXCode): Add -fd flag description | |
| to comment. | |
| * gm2-compiler/M2Quads.mod (CheckBreak): New procedure. | |
| Replace NoOfParam with NoOfParamAny. | |
| Replace IsVarParam with IsVarParamAny. | |
| (FailParameter): Reimplement using GetVarDeclFullTok. | |
| Generate message for formal parameter, actual parameter and | |
| declaration of actual parameter. | |
| (WarnParameter): Ditto. | |
| (CheckBuildFunction): Reimplement error message using MetaErrorT1. | |
| * gm2-compiler/M2Range.mod: Replace NoOfParam with NoOfParamAny. | |
| Replace IsVarParam with IsVarParamAny. | |
| * gm2-compiler/M2Scaffold.mod (DeclareScaffoldFunctions): Call | |
| PutProcedureDefined after every procedure declaration. | |
| (DeclareArgEnvParams): Add ProperProcedure parameter to PutParam. | |
| * gm2-compiler/M2Size.mod (MakeSize): Add DefProcedure parameter | |
| to PutFunction. | |
| * gm2-compiler/M2Swig.mod: Replace NoOfParam with NoOfParamAny. | |
| Replace IsVarParam with IsVarParamAny. | |
| * gm2-compiler/M2SymInit.mod: Ditto. | |
| * gm2-compiler/M2System.mod (InitSystem): Add DefProcedure | |
| parameter to PutFunction. | |
| * gm2-compiler/P1SymBuild.mod (StartBuildProcedure): Reimplement. | |
| (EndBuildProcedure): Ditto. | |
| (EndBuildForward): Ditto. | |
| * gm2-compiler/P2Build.bnf (BuildProcedureDefinedByForward): | |
| Remove. | |
| (BuildProcedureDefinedByProper): Ditto. | |
| (ForwardDeclaration): Remove BuildProcedureDefinedByForward. | |
| (BuildNoReturnAttribute): Remove parameter. | |
| * gm2-compiler/P2SymBuild.def (BuildNoReturnAttribute): Remove | |
| parameter. | |
| (BuildProcedureDefinedByForward): Remove. | |
| (BuildProcedureDefinedByProper): Ditto. | |
| * gm2-compiler/P2SymBuild.mod (Import): Remove | |
| AreParametersDefinedInDefinition, | |
| AreParametersDefinedInImplementation, | |
| AreProcedureParametersDefined, | |
| ParametersDefinedInDefinition, | |
| ParametersDefinedInImplementation, | |
| GetProcedureDeclaredDefinition, | |
| GetProcedureDeclaredForward, | |
| GetProcedureDeclaredProper, | |
| GetParametersDefinedByForward, | |
| GetParametersDefinedByProper and | |
| PutProcedureNoReturn. | |
| Add PutProcedureParametersDefined, | |
| GetProcedureParametersDefined, | |
| GetProcedureKindDesc, | |
| GetProcedureDeclaredTok, | |
| GetProcedureKind, | |
| GetReturnTypeTok, | |
| SetReturnOptional, | |
| IsReturnOptional, | |
| PutProcedureNoReturn and | |
| PutProcedureDefined. | |
| (Debug): New procedure. | |
| (P2StartBuildDefModule): Space formatting. | |
| (BuildVariable): Reimplement to record full declaration. | |
| (StartBuildProcedure): Reimplement using token to determine | |
| the kind of procedure. | |
| (BuildProcedureHeading): Ditto. | |
| (BuildFPSection): Ditto. | |
| (BuildVarArgs): Ditto. | |
| (BuildOptArg): Ditto. | |
| (BuildProcedureDefinedByForward): Remove. | |
| (BuildProcedureDefinedByProper): Ditto. | |
| (BuildFormalParameterSection): Reimplement so that the | |
| quad stack is unchanged. | |
| (CheckFormalParameterSection): Ditto. | |
| (RemoveFPParameters): New procedure. | |
| (ParameterError): Reimplement. | |
| (StartBuildFormalParameters): Add annotation. | |
| (ParameterMismatch): Reimplement. | |
| (EndBuildFormalParameters): Reimplement to check against | |
| all procedure kinds. | |
| (GetSourceDesc): Remove. | |
| (GetCurSrcDesc): Ditto. | |
| (GetDeclared): Ditto. | |
| (ReturnTypeMismatch): Reimplement. | |
| (BuildFunction): Ditto. | |
| (BuildOptFunction): Ditto. | |
| (CheckOptFunction): New procedure. | |
| (BuildNoReturnAttribute): Remove parameter and obtain | |
| procedure symbol from quad stack. | |
| (CheckProcedureReturn): New procedure. | |
| * gm2-compiler/P3SymBuild.mod (BuildOptArgInitializer): | |
| Preserve ProcSym tok on the quad stack. | |
| Add Assert. | |
| * gm2-compiler/PCSymBuild.mod (fixupProcedureType): Replace | |
| NoOfParam with NoOfParamAny. | |
| * gm2-compiler/SymbolTable.def (GetNthParam): Add ProcedureKind | |
| parameter. | |
| (PutFunction): Ditto. | |
| (PutOptFunction): Ditto. | |
| (IsReturnOptional): Ditto. | |
| (PutParam): Ditto. | |
| (PutVarParam): Ditto. | |
| (PutParamName): Ditto. | |
| (PutProcedureNoReturn): Ditto. | |
| (IsProcedureNoReturn): Ditto. | |
| (IsVarParam): Ditto. | |
| (IsUnboundedParam): Ditto. | |
| (NoOfParam): Ditto. | |
| (ForeachLocalSymDo): Ditto. | |
| (GetProcedureKind): Ditto. | |
| (GetProcedureDeclaredTok): Ditto. | |
| (PutProcedureDeclaredTok): Ditto. | |
| (GetReturnTypeTok): Ditto. | |
| (PutReturnTypeTok): Ditto. | |
| (PutParametersDefinedByForward): New procedure. | |
| (PutProcedureParametersDefined): Ditto. | |
| (PutProcedureDefined): Ditto. | |
| (GetParametersDefinedByProper): Ditto. | |
| (GetProcedureDeclaredForward): Ditto. | |
| (GetProcedureDeclaredProper): Ditto. | |
| (PutProcedureDeclaredProper): Ditto. | |
| (GetProcedureDeclaredDefinition): Ditto. | |
| (PutProcedureDeclaredDefinition): Ditto. | |
| (GetProcedureDefined): Ditto. | |
| (PutUseOptArg): Ditto. | |
| (UsesOptArg): Ditto. | |
| (PutOptArgInit): Ditto. | |
| (SetReturnOptional): Ditto. | |
| (UsesOptArgAny): Ditto. | |
| (GetProcedureKindDesc): Ditto. | |
| (IsReturnOptionalAny): New procedure function. | |
| (GetNthParamAny): Ditto. | |
| (NoOfParamAny): Ditto. | |
| (IsProcedureAnyNoReturn): Ditto. | |
| (AreParametersDefinedInImplementation): Remove. | |
| (ParametersDefinedInImplementation): Ditto. | |
| (AreParametersDefinedInDefinition): Ditto. | |
| (AreProcedureParametersDefined): Ditto. | |
| (ParametersDefinedInDefinition): Ditto. | |
| (ProcedureParametersDefined): Ditto. | |
| (PutParametersDefinedByProper): Ditto. | |
| (PutProcedureDeclaredForward): Ditto. | |
| (GetParametersDefinedByForward): Ditto. | |
| (GetProcedureParametersDefined): Ditto. | |
| (PushOffset): Ditto. | |
| (PopSize): Ditto. | |
| (PushParamSize): Ditto. | |
| (PushSumOfLocalVarSize): Ditto. | |
| (PushSumOfParamSize): Ditto. | |
| (PopOffset): Ditto. | |
| (PopSumOfParamSize): Ditto. | |
| * gm2-compiler/SymbolTable.mod (MakeProcedure): Reimplement. | |
| (PutProcedureNoReturn): Add ProcedureKind parameter. | |
| (GetNthParam): Ditto. | |
| (PutFunction): Ditto. | |
| (PutOptFunction): Ditto. | |
| (IsReturnOptional): Ditto. | |
| (MakeVariableForParam): Ditto. | |
| (PutParam): Ditto. | |
| (PutVarParam): Ditto. | |
| (PutParamName): Ditto. | |
| (AddParameter): Ditto. | |
| (IsVarParam): Ditto. | |
| (IsVarParamAny): Ditto. | |
| (NoOfParam): Ditto. | |
| (HasVarParameters): Ditto. | |
| (IsUnboundedParam): Ditto. | |
| (PutUseVarArgs): Ditto. | |
| (UsesVarArgs): Ditto. | |
| (PutUseOptArg): Ditto. | |
| (UsesOptArg): Ditto. | |
| (UsesOptArgAny): Ditto. | |
| (PutOptArgInit): Ditto. | |
| (IsProcedure): Ditto. | |
| (IsPointer): Ditto. | |
| (IsRecord): Ditto. | |
| (IsArray): Ditto. | |
| (IsEnumeration): Ditto. | |
| (IsUnbounded): Ditto. | |
| (IsSet): Ditto. | |
| (IsSetPacked): Ditto. | |
| (CheckUnbounded): Ditto. | |
| (IsOAFamily): Ditto. | |
| (IsModuleWithinProcedure): Ditto. | |
| (GetDeclaredDef): Ditto. | |
| (GetDeclaredMod): Ditto. | |
| (GetDeclaredFor): Ditto. | |
| (GetProcedureDeclaredForward): Ditto. | |
| (GetProcedureKind): Ditto. | |
| (PutProcedureDeclaredForward): Ditto. | |
| (GetProcedureDeclaredTok): Ditto. | |
| (GetProcedureDeclaredProper): Ditto. | |
| (PutProcedureDeclaredTok): Ditto. | |
| (PutProcedureDeclaredProper): Ditto. | |
| (GetReturnTypeTok): Ditto. | |
| (GetProcedureDeclaredDefinition): Ditto. | |
| (PutReturnTypeTok): Ditto. | |
| (PutProcedureDeclaredDefinition): Ditto. | |
| (GetProcedureKindDesc): Ditto. | |
| (IsProcedureVariable): Ditto. | |
| (IsAModula2Type): Ditto. | |
| (GetParam): Ditto. | |
| (ProcedureParametersDefined): Ditto. | |
| (AreParametersDefinedInImplementation): Remove. | |
| (AreParametersDefinedInDefinition): Ditto. | |
| (AreProcedureParametersDefined): Ditto. | |
| (IsSizeSolved): Ditto. | |
| (IsOffsetSolved): Ditto. | |
| (IsValueSolved): Ditto. | |
| (IsSumOfParamSizeSolved): Ditto. | |
| (PushSize): Ditto. | |
| (PushOffset): Ditto. | |
| (PopSize): Ditto. | |
| (PushValue): Ditto. | |
| (PushParamSize): Ditto. | |
| (PushSumOfLocalVarSize): Ditto. | |
| (PushSumOfParamSize): Ditto. | |
| (PushVarSize): Ditto. | |
| (PopValue): Ditto. | |
| (PopSize): Ditto. | |
| (PopOffset): Ditto. | |
| (PopSumOfParamSize): Ditto. | |
| (PutParametersDefinedByForward): New procedure. | |
| (PutProcedureParametersDefined): Ditto. | |
| (PutProcedureDefined): Ditto. | |
| (GetParametersDefinedByProper): Ditto. | |
| (GetProcedureDeclaredForward): Ditto. | |
| (GetProcedureDeclaredProper): Ditto. | |
| (PutProcedureDeclaredProper): Ditto. | |
| (GetProcedureDeclaredDefinition): Ditto. | |
| (PutProcedureDeclaredDefinition): Ditto. | |
| (GetProcedureDefined): Ditto. | |
| (PutUseOptArg): Ditto. | |
| (UsesOptArg): Ditto. | |
| (PutOptArgInit): Ditto. | |
| (SetReturnOptional): Ditto. | |
| (UsesOptArgAny): Ditto. | |
| (GetProcedureKindDesc): Ditto. | |
| (PutParametersDefinedByProper): Ditto. | |
| (GetParametersDefinedByProper): Ditto. | |
| (IsReturnOptionalAny): New procedure function. | |
| (IsProcedureAnyDefaultBoolean): Ditto. | |
| (IsProcedureAnyBoolean): Ditto. | |
| (IsProcedureAnyNoReturn): Ditto. | |
| (GetNthParamAny): Ditto. | |
| (NoOfParamAny): Ditto. | |
| (IsProcedureAnyNoReturn): Ditto. | |
| (GetProcedureKind): Ditto. | |
| (IsVarParamAny): Ditto. | |
| (IsUnboundedParamAny): Ditto. | |
| (ForeachParamSymDo): New comment. | |
| * gm2-libs-coroutines/SYSTEM.mod: Reformat. | |
| 2024-11-09 Jakub Jelinek <jakub@redhat.com> | |
| * Make-lang.in (m2_OBJS): Add $(BUILD-LIBS-BOOT), | |
| $(BUILD-COMPILER-BOOT) and $(MC_LIBS). | |
| 2024-10-25 Jakub Jelinek <jakub@redhat.com> | |
| * mc-boot/GFpuIO.cc: Remove trailing whitespace. | |
| * mc-boot/GFIO.cc: Likewise. | |
| * mc-boot/GFormatStrings.cc: Likewise. | |
| * mc-boot/GCmdArgs.cc: Likewise. | |
| * mc-boot/GDebug.h: Likewise. | |
| * mc-boot/GM2Dependent.cc: Likewise. | |
| * mc-boot/GRTint.cc: Likewise. | |
| * mc-boot/GDebug.cc: Likewise. | |
| * mc-boot/GmcError.cc: Likewise. | |
| * mc-boot/Gmcp4.cc: Likewise. | |
| * mc-boot/GM2RTS.cc: Likewise. | |
| * mc-boot/GIO.cc: Likewise. | |
| * mc-boot/Gmcp5.cc: Likewise. | |
| * mc-boot/GDynamicStrings.cc: Likewise. | |
| * mc-boot/Gmcp1.cc: Likewise. | |
| * mc-boot/GFormatStrings.h: Likewise. | |
| * mc-boot/Gmcp2.cc: Likewise. | |
| * mc-boot/Gmcp3.cc: Likewise. | |
| * pge-boot/GFIO.cc: Likewise. | |
| * pge-boot/GDebug.h: Likewise. | |
| * pge-boot/GM2Dependent.cc: Likewise. | |
| * pge-boot/GDebug.cc: Likewise. | |
| * pge-boot/GM2RTS.cc: Likewise. | |
| * pge-boot/GSymbolKey.cc: Likewise. | |
| * pge-boot/GIO.cc: Likewise. | |
| * pge-boot/GIndexing.cc: Likewise. | |
| * pge-boot/GDynamicStrings.cc: Likewise. | |
| * pge-boot/GFormatStrings.h: Likewise. | |
| 2024-10-24 David Malcolm <dmalcolm@redhat.com> | |
| Gaius Mulley <gaiusmod2@gmail.com> | |
| PR other/116613 | |
| * gm2-gcc/gcc-consolidation.h: Add #define INCLUDE_MEMORY. | |
| * gm2-gcc/m2configure.cc: Likewise. | |
| * mc-boot/GASCII.cc: Regenerate. | |
| * mc-boot/GASCII.h: Ditto. | |
| * mc-boot/GArgs.cc: Ditto. | |
| * mc-boot/GArgs.h: Ditto. | |
| * mc-boot/GAssertion.cc: Ditto. | |
| * mc-boot/GAssertion.h: Ditto. | |
| * mc-boot/GBreak.cc: Ditto. | |
| * mc-boot/GBreak.h: Ditto. | |
| * mc-boot/GCOROUTINES.h: Ditto. | |
| * mc-boot/GCmdArgs.cc: Ditto. | |
| * mc-boot/GCmdArgs.h: Ditto. | |
| * mc-boot/GDebug.cc: Ditto. | |
| * mc-boot/GDebug.h: Ditto. | |
| * mc-boot/GDynamicStrings.cc: Ditto. | |
| * mc-boot/GDynamicStrings.h: Ditto. | |
| * mc-boot/GEnvironment.cc: Ditto. | |
| * mc-boot/GEnvironment.h: Ditto. | |
| * mc-boot/GFIO.cc: Ditto. | |
| * mc-boot/GFIO.h: Ditto. | |
| * mc-boot/GFormatStrings.cc: Ditto. | |
| * mc-boot/GFormatStrings.h: Ditto. | |
| * mc-boot/GFpuIO.cc: Ditto. | |
| * mc-boot/GFpuIO.h: Ditto. | |
| * mc-boot/GIO.cc: Ditto. | |
| * mc-boot/GIO.h: Ditto. | |
| * mc-boot/GIndexing.cc: Ditto. | |
| * mc-boot/GIndexing.h: Ditto. | |
| * mc-boot/GM2Dependent.cc: Ditto. | |
| * mc-boot/GM2Dependent.h: Ditto. | |
| * mc-boot/GM2EXCEPTION.cc: Ditto. | |
| * mc-boot/GM2EXCEPTION.h: Ditto. | |
| * mc-boot/GM2RTS.cc: Ditto. | |
| * mc-boot/GM2RTS.h: Ditto. | |
| * mc-boot/GMemUtils.cc: Ditto. | |
| * mc-boot/GMemUtils.h: Ditto. | |
| * mc-boot/GNumberIO.cc: Ditto. | |
| * mc-boot/GNumberIO.h: Ditto. | |
| * mc-boot/GPushBackInput.cc: Ditto. | |
| * mc-boot/GPushBackInput.h: Ditto. | |
| * mc-boot/GRTExceptions.cc: Ditto. | |
| * mc-boot/GRTExceptions.h: Ditto. | |
| * mc-boot/GRTco.h: Ditto. | |
| * mc-boot/GRTentity.h: Ditto. | |
| * mc-boot/GRTint.cc: Ditto. | |
| * mc-boot/GRTint.h: Ditto. | |
| * mc-boot/GSArgs.cc: Ditto. | |
| * mc-boot/GSArgs.h: Ditto. | |
| * mc-boot/GSFIO.cc: Ditto. | |
| * mc-boot/GSFIO.h: Ditto. | |
| * mc-boot/GSYSTEM.h: Ditto. | |
| * mc-boot/GSelective.h: Ditto. | |
| * mc-boot/GStdIO.cc: Ditto. | |
| * mc-boot/GStdIO.h: Ditto. | |
| * mc-boot/GStorage.cc: Ditto. | |
| * mc-boot/GStorage.h: Ditto. | |
| * mc-boot/GStrCase.cc: Ditto. | |
| * mc-boot/GStrCase.h: Ditto. | |
| * mc-boot/GStrIO.cc: Ditto. | |
| * mc-boot/GStrIO.h: Ditto. | |
| * mc-boot/GStrLib.cc: Ditto. | |
| * mc-boot/GStrLib.h: Ditto. | |
| * mc-boot/GStringConvert.cc: Ditto. | |
| * mc-boot/GStringConvert.h: Ditto. | |
| * mc-boot/GSysExceptions.h: Ditto. | |
| * mc-boot/GSysStorage.cc: Ditto. | |
| * mc-boot/GSysStorage.h: Ditto. | |
| * mc-boot/GTimeString.cc: Ditto. | |
| * mc-boot/GTimeString.h: Ditto. | |
| * mc-boot/GUnixArgs.h: Ditto. | |
| * mc-boot/Galists.cc: Ditto. | |
| * mc-boot/Galists.h: Ditto. | |
| * mc-boot/Gdecl.cc: Ditto. | |
| * mc-boot/Gdecl.h: Ditto. | |
| * mc-boot/Gdtoa.h: Ditto. | |
| * mc-boot/Gerrno.h: Ditto. | |
| * mc-boot/Gkeyc.cc: Ditto. | |
| * mc-boot/Gkeyc.h: Ditto. | |
| * mc-boot/Gldtoa.h: Ditto. | |
| * mc-boot/Glibc.h: Ditto. | |
| * mc-boot/Glibm.h: Ditto. | |
| * mc-boot/Glists.cc: Ditto. | |
| * mc-boot/Glists.h: Ditto. | |
| * mc-boot/GmcComment.cc: Ditto. | |
| * mc-boot/GmcComment.h: Ditto. | |
| * mc-boot/GmcComp.cc: Ditto. | |
| * mc-boot/GmcComp.h: Ditto. | |
| * mc-boot/GmcDebug.cc: Ditto. | |
| * mc-boot/GmcDebug.h: Ditto. | |
| * mc-boot/GmcError.cc: Ditto. | |
| * mc-boot/GmcError.h: Ditto. | |
| * mc-boot/GmcFileName.cc: Ditto. | |
| * mc-boot/GmcFileName.h: Ditto. | |
| * mc-boot/GmcLexBuf.cc: Ditto. | |
| * mc-boot/GmcLexBuf.h: Ditto. | |
| * mc-boot/GmcMetaError.cc: Ditto. | |
| * mc-boot/GmcMetaError.h: Ditto. | |
| * mc-boot/GmcOptions.cc: Ditto. | |
| * mc-boot/GmcOptions.h: Ditto. | |
| * mc-boot/GmcPreprocess.cc: Ditto. | |
| * mc-boot/GmcPreprocess.h: Ditto. | |
| * mc-boot/GmcPretty.cc: Ditto. | |
| * mc-boot/GmcPretty.h: Ditto. | |
| * mc-boot/GmcPrintf.cc: Ditto. | |
| * mc-boot/GmcPrintf.h: Ditto. | |
| * mc-boot/GmcQuiet.cc: Ditto. | |
| * mc-boot/GmcQuiet.h: Ditto. | |
| * mc-boot/GmcReserved.cc: Ditto. | |
| * mc-boot/GmcReserved.h: Ditto. | |
| * mc-boot/GmcSearch.cc: Ditto. | |
| * mc-boot/GmcSearch.h: Ditto. | |
| * mc-boot/GmcStack.cc: Ditto. | |
| * mc-boot/GmcStack.h: Ditto. | |
| * mc-boot/GmcStream.cc: Ditto. | |
| * mc-boot/GmcStream.h: Ditto. | |
| * mc-boot/Gmcflex.h: Ditto. | |
| * mc-boot/Gmcp1.cc: Ditto. | |
| * mc-boot/Gmcp1.h: Ditto. | |
| * mc-boot/Gmcp2.cc: Ditto. | |
| * mc-boot/Gmcp2.h: Ditto. | |
| * mc-boot/Gmcp3.cc: Ditto. | |
| * mc-boot/Gmcp3.h: Ditto. | |
| * mc-boot/Gmcp4.cc: Ditto. | |
| * mc-boot/Gmcp4.h: Ditto. | |
| * mc-boot/Gmcp5.cc: Ditto. | |
| * mc-boot/Gmcp5.h: Ditto. | |
| * mc-boot/GnameKey.cc: Ditto. | |
| * mc-boot/GnameKey.h: Ditto. | |
| * mc-boot/GsymbolKey.cc: Ditto. | |
| * mc-boot/GsymbolKey.h: Ditto. | |
| * mc-boot/Gtermios.h: Ditto. | |
| * mc-boot/Gtop.cc: Ditto. | |
| * mc-boot/Gvarargs.cc: Ditto. | |
| * mc-boot/Gvarargs.h: Ditto. | |
| * mc-boot/Gwlists.cc: Ditto. | |
| * mc-boot/Gwlists.h: Ditto. | |
| * mc-boot/Gwrapc.h: Ditto. | |
| * mc/keyc.mod (checkGccConfigSystem): Add | |
| #define INCLUDE_MEMORY. | |
| * pge-boot/GASCII.cc: Regenerate. | |
| * pge-boot/GASCII.h: Ditto. | |
| * pge-boot/GArgs.cc: Ditto. | |
| * pge-boot/GArgs.h: Ditto. | |
| * pge-boot/GAssertion.cc: Ditto. | |
| * pge-boot/GAssertion.h: Ditto. | |
| * pge-boot/GBreak.h: Ditto. | |
| * pge-boot/GCmdArgs.h: Ditto. | |
| * pge-boot/GDebug.cc: Ditto. | |
| * pge-boot/GDebug.h: Ditto. | |
| * pge-boot/GDynamicStrings.cc: Ditto. | |
| * pge-boot/GDynamicStrings.h: Ditto. | |
| * pge-boot/GEnvironment.h: Ditto. | |
| * pge-boot/GFIO.cc: Ditto. | |
| * pge-boot/GFIO.h: Ditto. | |
| * pge-boot/GFormatStrings.h: Ditto. | |
| * pge-boot/GFpuIO.h: Ditto. | |
| * pge-boot/GIO.cc: Ditto. | |
| * pge-boot/GIO.h: Ditto. | |
| * pge-boot/GIndexing.cc: Ditto. | |
| * pge-boot/GIndexing.h: Ditto. | |
| * pge-boot/GLists.cc: Ditto. | |
| * pge-boot/GLists.h: Ditto. | |
| * pge-boot/GM2Dependent.cc: Ditto. | |
| * pge-boot/GM2Dependent.h: Ditto. | |
| * pge-boot/GM2EXCEPTION.cc: Ditto. | |
| * pge-boot/GM2EXCEPTION.h: Ditto. | |
| * pge-boot/GM2RTS.cc: Ditto. | |
| * pge-boot/GM2RTS.h: Ditto. | |
| * pge-boot/GNameKey.cc: Ditto. | |
| * pge-boot/GNameKey.h: Ditto. | |
| * pge-boot/GNumberIO.cc: Ditto. | |
| * pge-boot/GNumberIO.h: Ditto. | |
| * pge-boot/GOutput.cc: Ditto. | |
| * pge-boot/GOutput.h: Ditto. | |
| * pge-boot/GPushBackInput.cc: Ditto. | |
| * pge-boot/GPushBackInput.h: Ditto. | |
| * pge-boot/GRTExceptions.cc: Ditto. | |
| * pge-boot/GRTExceptions.h: Ditto. | |
| * pge-boot/GSArgs.h: Ditto. | |
| * pge-boot/GSEnvironment.h: Ditto. | |
| * pge-boot/GSFIO.cc: Ditto. | |
| * pge-boot/GSFIO.h: Ditto. | |
| * pge-boot/GSYSTEM.h: Ditto. | |
| * pge-boot/GScan.h: Ditto. | |
| * pge-boot/GStdIO.cc: Ditto. | |
| * pge-boot/GStdIO.h: Ditto. | |
| * pge-boot/GStorage.cc: Ditto. | |
| * pge-boot/GStorage.h: Ditto. | |
| * pge-boot/GStrCase.cc: Ditto. | |
| * pge-boot/GStrCase.h: Ditto. | |
| * pge-boot/GStrIO.cc: Ditto. | |
| * pge-boot/GStrIO.h: Ditto. | |
| * pge-boot/GStrLib.cc: Ditto. | |
| * pge-boot/GStrLib.h: Ditto. | |
| * pge-boot/GStringConvert.h: Ditto. | |
| * pge-boot/GSymbolKey.cc: Ditto. | |
| * pge-boot/GSymbolKey.h: Ditto. | |
| * pge-boot/GSysExceptions.h: Ditto. | |
| * pge-boot/GSysStorage.cc: Ditto. | |
| * pge-boot/GSysStorage.h: Ditto. | |
| * pge-boot/GTimeString.h: Ditto. | |
| * pge-boot/GUnixArgs.h: Ditto. | |
| * pge-boot/Gbnflex.cc: Ditto. | |
| * pge-boot/Gbnflex.h: Ditto. | |
| * pge-boot/Gdtoa.h: Ditto. | |
| * pge-boot/Gerrno.h: Ditto. | |
| * pge-boot/Gldtoa.h: Ditto. | |
| * pge-boot/Glibc.h: Ditto. | |
| * pge-boot/Glibm.h: Ditto. | |
| * pge-boot/Gpge.cc: Ditto. | |
| * pge-boot/Gtermios.h: Ditto. | |
| * pge-boot/Gwrapc.h: Ditto. | |
| 2024-10-20 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-compiler/M2MetaError.mod (op): Corrected ordering. | |
| * gm2-compiler/P2SymBuild.def: Remove comment. | |
| * gm2-compiler/P2SymBuild.mod (GetComparison): Replace | |
| the word less with fewer. | |
| 2024-10-19 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-compiler/M2MetaError.mod (op): Alphabetically order | |
| each case label and comment. | |
| 2024-10-19 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/115328 | |
| * gm2-compiler/M2MetaError.def: Extend comment documentating | |
| new format specifiers. | |
| * gm2-compiler/M2MetaError.mod (GetTokProcedure): New declaration. | |
| (doErrorScopeModule): New procedure. | |
| (doErrorScopeForward): Ditto. | |
| (doErrorScopeMod): Reimplement. | |
| (doErrorScopeFor): New procedure. | |
| (declarationMod): Ditto. | |
| (doErrorScopeDefinition): Ditto. | |
| (doErrorScopeDef): Reimplement. | |
| (declaredDef): New procedure. | |
| (declaredFor): Ditto. | |
| (doErrorScopeProc): Ditto. | |
| (declaredVar): Ditto. | |
| (declaredType): Ditto. | |
| (declaredFull): Ditto. | |
| * gm2-compiler/M2Options.mod (SetAutoInit): Add missing | |
| return type. | |
| (GetDumpGimple): Remove duplicate implementation. | |
| * gm2-compiler/M2Quads.def (DupFrame): New procedure. | |
| * gm2-compiler/M2Quads.mod (DupFrame): New procedure. | |
| * gm2-compiler/M2Reserved.def (ForwardTok): New variable. | |
| * gm2-compiler/M2Reserved.mod (ForwardTok): Initialize variable. | |
| * gm2-compiler/M2Scaffold.mod (DeclareArgEnvParams): Add | |
| tokno parameter for call to PutParam. | |
| * gm2-compiler/P0SymBuild.def (EndForward): New procedure. | |
| * gm2-compiler/P0SymBuild.mod (EndForward): New procedure. | |
| * gm2-compiler/P0SyntaxCheck.bnf (BlockAssert): New procedure. | |
| (ProcedureDeclaration): Reimplement rule. | |
| (PostProcedureHeading): New rule. | |
| (ForwardDeclaration): Ditto. | |
| (ProperProcedure): Ditto. | |
| * gm2-compiler/P1Build.bnf (ProcedureDeclaration): Reimplement rule. | |
| (PostProcedureHeading): New rule. | |
| (ForwardDeclaration): Ditto. | |
| (ProperProcedure): Ditto. | |
| * gm2-compiler/P1SymBuild.def (Export): Removed unnecessary | |
| export. | |
| (EndBuildForward): New procedure. | |
| * gm2-compiler/P1SymBuild.mod (StartBuildProcedure): Reimplement. | |
| (EndBuildProcedure): Ditto. | |
| (EndBuildForward): Ditto. | |
| * gm2-compiler/P2Build.bnf (ProcedureDeclaration): Reimplement rule. | |
| (PostProcedureHeading): New rule. | |
| (ForwardDeclaration): Ditto. | |
| (ProperProcedure): Ditto. | |
| * gm2-compiler/P2SymBuild.def (BuildProcedureDefinedByForward): | |
| New procedure. | |
| (BuildProcedureDefinedByProper): Ditto. | |
| (CheckProcedure): Ditto. | |
| (EndBuildForward): Ditto. | |
| * gm2-compiler/P2SymBuild.mod (EndBuildProcedure): Reimplement. | |
| (EndBuildForward): New procedure. | |
| (BuildFPSection): Reimplement to allow forward declaration or | |
| checking of parameters. | |
| (BuildProcedureDefinedByProper): New procedure. | |
| (BuildProcedureDefinedByForward): Ditto | |
| (FailParameter): Remove. | |
| (ParameterError): New procedure. | |
| (ParameterMismatch): Ditto. | |
| (EndBuildFormalParameters): Add parameter number check. | |
| (GetComparison): New procedure function. | |
| (GetSourceDesc): Ditto. | |
| (GetCurSrcDesc): Ditto. | |
| (GetDeclared): New procedure. | |
| (ReturnTypeMismatch): Ditto. | |
| (BuildFunction): Reimplement. | |
| (CheckProcedure): New procedure. | |
| (CheckFormalParameterSection): Reimplement using ParameterError. | |
| * gm2-compiler/P3Build.bnf (ProcedureDeclaration): Reimplement rule. | |
| (PostProcedureHeading): New rule. | |
| (ForwardDeclaration): Ditto. | |
| (ProperProcedure): Ditto. | |
| * gm2-compiler/P3SymBuild.def (Export): Remove unnecessary export. | |
| (EndBuildForward): New procedure. | |
| * gm2-compiler/P3SymBuild.mod (EndBuildForward): New procedure. | |
| * gm2-compiler/PCBuild.bnf (ProcedureDeclaration): Reimplement rule. | |
| (PostProcedureHeading): New rule. | |
| (ForwardDeclaration): Ditto. | |
| (ProperProcedure): Ditto. | |
| * gm2-compiler/PCSymBuild.def (EndBuildForward): New procedure. | |
| * gm2-compiler/PCSymBuild.mod (EndBuildForward): Ditto. | |
| * gm2-compiler/PHBuild.bnf (ProcedureDeclaration): Reimplement rule. | |
| (PostProcedureHeading): New rule. | |
| (ForwardDeclaration): Ditto. | |
| (ProperProcedure): Ditto. | |
| * gm2-compiler/SymbolTable.def (PutVarTok): New procedure. | |
| (PutParam): Add typetok parameter. | |
| (PutVarParam): Ditto. | |
| (PutParamName): Ditto. | |
| (GetDeclaredFor): New procedure function. | |
| (AreParametersDefinedInDefinition): Ditto. | |
| (PutParametersDefinedByForward): New procedure. | |
| (GetParametersDefinedByForward): New procedure function. | |
| (PutParametersDefinedByProper): New procedure. | |
| (GetParametersDefinedByProper): New procedure function. | |
| (GetProcedureDeclaredForward): Ditto. | |
| (PutProcedureDeclaredForward): New procedure. | |
| (GetProcedureDeclaredProper): New procedure function. | |
| (PutProcedureDeclaredProper): New procedure. | |
| (GetProcedureDeclaredDefinition): New procedure function. | |
| (PutProcedureDeclaredDefinition): New procedure. | |
| (GetVarDeclTypeTok): Ditto. | |
| (PutVarDeclTypeTok): New procedure. | |
| (GetVarDeclTok): Ditto. | |
| (PutVarDeclTok): New procedure. | |
| (GetVarDeclFullTok): Ditto. | |
| * gm2-compiler/SymbolTable.mod (ProcedureDecl): New record type. | |
| (VarDecl): Ditto. | |
| (SymProcedure): Add new field Declared. | |
| (SymVar): Add new field Declared. | |
| (PutVarTok): New procedure. | |
| (PutParam): Add typetok parameter. | |
| (PutVarParam): Ditto. | |
| (PutParamName): Ditto. | |
| (GetDeclaredFor): New procedure function. | |
| (AreParametersDefinedInDefinition): Ditto. | |
| (PutParametersDefinedByForward): New procedure. | |
| (GetParametersDefinedByForward): New procedure function. | |
| (PutParametersDefinedByProper): New procedure. | |
| (GetParametersDefinedByProper): New procedure function. | |
| (GetProcedureDeclaredForward): Ditto. | |
| (PutProcedureDeclaredForward): New procedure. | |
| (GetProcedureDeclaredProper): New procedure function. | |
| (PutProcedureDeclaredProper): New procedure. | |
| (GetProcedureDeclaredDefinition): New procedure function. | |
| (PutProcedureDeclaredDefinition): New procedure. | |
| (GetVarDeclTypeTok): Ditto. | |
| (PutVarDeclTypeTok): New procedure. | |
| (GetVarDeclTok): Ditto. | |
| (PutVarDeclTok): New procedure. | |
| (GetVarDeclFullTok): Ditto. | |
| (MakeProcedure): Initialize Declared field. | |
| (MakeVar): Initialize Declared field. | |
| * gm2-libs-log/FileSystem.def (FileNameChar): Add | |
| missing return type. | |
| * m2.flex: Add FORWARD keyword. | |
| 2024-10-04 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/116918 | |
| * gm2-compiler/M2Swig.mod (DoCheckUnbounded): Escape | |
| the % character used in array_functions with %%. | |
| 2024-10-01 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-libs/Indexing.def (FindIndice): New procedure | |
| function. | |
| * gm2-libs/Indexing.mod (FindIndice): Implement new | |
| procedure function. | |
| 2024-10-01 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/116918 | |
| * gm2-compiler/M2Swig.mod (AnnotateProcedure): Capitalize | |
| the generated comment, split comment into multiple lines and | |
| terminate the comment with ". */". | |
| (DoCheckUnbounded): Escape the % character with %%. | |
| (DoWriteFile): Ditto. | |
| 2024-09-25 Mikael Morin <mikael@gcc.gnu.org> | |
| PR other/116801 | |
| * lang.opt.urls: Regenerate. | |
| 2024-09-23 Gaius Mulley <gaiusmod2@gmail.com> | |
| * Make-lang.in (m2/gm2-libs-boot/M2RTS.o): Remove | |
| --suppress-noreturn. | |
| * gm2-libs/M2RTS.mod (HaltC): Add noreturn attribute. | |
| * gm2-libs-min/M2RTS.mod (HALT): Add LOOP END. | |
| 2024-09-21 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-compiler/M2Comp.mod (GenerateDependencies): Remove | |
| unused parameter. | |
| (WriteDep): Remove parameter dep. | |
| (WritePhoneDep): Ditto. | |
| 2024-09-20 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-compiler/M2Check.mod (checkUnboundedArray): New | |
| procedure function. | |
| (checkUnboundedUnbounded): Ditto. | |
| (checkUnbounded): Rewrite to check the unbounded data | |
| type. | |
| (checkPair): Add comment. | |
| (doCheckPair): Add comment. | |
| Remove tinfo parameter from the call to checkTypeKindViolation. | |
| (checkTypeKindViolation): Remove ununsed parameter tinfo. | |
| * gm2-libs-ch/UnixArgs.cc (GM2RTS.h): Remove include. | |
| * gm2-libs-ch/m2rts.h (M2RTS_INIT): New define. | |
| (M2RTS_DEP): Ditto. | |
| (M2RTS_RegisterModule): New prototype. | |
| (GM2RTS.h): Add include to the MC_M2 block. | |
| 2024-09-16 Gaius Mulley <gaiusmod2@gmail.com> | |
| * Make-lang.in (GM2_BOOT_INCLUDES): New variable. | |
| (m2/gm2-compiler-boot/M2GCCDeclare.o): Rewrite to use | |
| GM2_BOOT_INCLUDES. | |
| (m2/gm2-compiler-boot/M2Error.o): Ditto. | |
| (m2/gm2-compiler-boot/%.o): Ditto. | |
| 2024-09-16 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/116181 | |
| * Make-lang.in (GM2-GCC-DEFS): Add gcctypes.def and | |
| CDataTypes.def. | |
| (MC-LIB-DEFS): Add CDataTypes.def. | |
| * Make-maintainer.in (m2/gm2-pge-boot/$(SRC_PREFIX)M2RTS.o): | |
| Change include path to pge-boot. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)SymbolKey.o): Ditto. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)NameKey.o): Ditto. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)Lists.o): Ditto. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)Output.o): Ditto. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)bnflex.o): Ditto. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)RTentity.h): Ditto. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)RTentity.o): Ditto. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)%.o): Ditto. | |
| (GM2PATH): Add -I$(srcdir)/m2/gm2-gcc. | |
| (m2/mc-boot-gen/$(SRC_PREFIX)%.h): Add -I$(srcdir)/m2/gm2-gcc. | |
| (m2/mc-boot-gen/$(SRC_PREFIX)%.cc): Ditto. | |
| * gm2-compiler/M2ALU.def (PushIntegerTree): Replace Tree with tree. | |
| (PopIntegerTree): Ditto. | |
| (PushRealTree): Ditto. | |
| (PopRealTree): Ditto. | |
| (PushComplexTree): Ditto. | |
| (PopComplexTree): Ditto. | |
| (PushSetTree): Ditto. | |
| (PopSetTree): Ditto. | |
| (PopConstructorTree): Ditto. | |
| (ConstructSetConstant): Ditto. | |
| (BuildRange): Ditto. | |
| (CheckOrResetOverflow): Ditto. | |
| (PushTypeOfTree): Ditto. | |
| * gm2-compiler/M2ALU.mod (Tree): Replace with ... | |
| (tree): ... this. | |
| (gcctypes): Import location_t and tree. | |
| (m2linemap): Remove import of location_t. | |
| * gm2-compiler/M2Base.def (m2linemap): Replace with ... | |
| (gcctypes): ... this. | |
| * gm2-compiler/M2Base.mod (gcctypes): Import of location_t. | |
| (m2linemap): Remove import of location_t. | |
| * gm2-compiler/M2Bitset.mod (m2tree): Remove import of Tree. | |
| * gm2-compiler/M2CaseList.mod (gcctypes): Import tree. | |
| (m2tree): Remove import of Tree. | |
| (Tree): Replace with ... | |
| (tree): ... this. | |
| * gm2-compiler/M2Emit.def (gcctypes): Import location_t. | |
| * gm2-compiler/M2GCCDeclare.def (gcctypes): Import tree. | |
| (PromoteToString): Replace Tree with tree. | |
| (PromoteToCString): Ditto. | |
| (ConstantKnownAndUsed): Ditto. | |
| * gm2-compiler/M2GCCDeclare.mod (gcctypes): Import tree. | |
| (m2tree): Remove import of Tree. | |
| (Tree): Replace with ... | |
| (tree): ... this. | |
| * gm2-compiler/M2GenGCC.def (gcctypes): Import tree. | |
| (m2tree): Remove import of Tree. | |
| (Tree): Replace with ... | |
| (tree): ... this. | |
| (GetHighFromUnbounded): Replace Tree with tree. | |
| (StringToChar): Ditto. | |
| (LValueToGenericPtr): Ditto. | |
| (ZConstToTypedConst): Ditto. | |
| (PrepareCopyString): Ditto. | |
| * gm2-compiler/M2GenGCC.mod (gcctypes): Import tree. | |
| (m2tree): Remove import of Tree. | |
| (Tree): Replace with ... | |
| (tree): ... this. | |
| * gm2-compiler/M2LangDump.def (gcctypes): Import tree. | |
| (m2tree): Remove import of Tree. | |
| (Tree): Replace with ... | |
| (tree): ... this. | |
| * gm2-compiler/M2LangDump.mod (Tree): Replace with ... | |
| (tree): ... this. | |
| * gm2-compiler/M2LexBuf.def (m2linemap): Replace with ... | |
| (gcctypes): ... this. | |
| * gm2-compiler/M2LexBuf.mod (m2linemap): Replace with ... | |
| (gcctypes): ... this. | |
| * gm2-compiler/M2Options.def (m2linemap): Replace with ... | |
| (gcctypes): ... this. | |
| * gm2-compiler/M2Options.mod (m2linemap): Replace with ... | |
| (gcctypes): ... this. | |
| * gm2-compiler/M2Range.def (m2linemap): Replace with ... | |
| (gcctypes): ... this. | |
| (CDataTypes): Import ConstCharStar. | |
| (CodeErrorCheck): Replace Tree with tree. | |
| (OverlapsRange): Ditto. | |
| (IsEqual): Ditto. | |
| (IsGreaterOrEqual): Ditto. | |
| (IsGreater): Ditto. | |
| (BuildIfCallWholeHandlerLoc): Replace Tree with tree. | |
| Replace ADDRESS with ConstCharStar. | |
| (BuildIfCallRealHandlerLoc): Ditto. | |
| (GetMinMax): Ditto. | |
| * gm2-compiler/M2Range.mod (m2tree): Remove Tree. | |
| (CodeErrorCheck): Replace Tree with tree. | |
| (OverlapsRange): Ditto. | |
| (IsEqual): Ditto. | |
| (IsGreaterOrEqual): Ditto. | |
| (IsGreater): Ditto. | |
| (GetMinMax): Ditto. | |
| (BuildIfCallWholeHandlerLoc): Replace Tree with tree. | |
| Replace ADDRESS with ConstCharStar. | |
| (BuildIfCallRealHandlerLoc): Ditto. | |
| * gm2-compiler/M2System.def (m2linemap): Replace with ... | |
| (gcctypes): ... this. | |
| * gm2-compiler/M2System.mod (m2linemap): Replace with ... | |
| (gcctypes): ... this. | |
| (CreateMinMaxFor): Replace Tree with tree. | |
| (CreateType): Ditto. | |
| (AttemptToCreateType): Ditto. | |
| (CreateSetType): Ditto. | |
| (AttemptToCreateSetType): Ditto. | |
| * gm2-compiler/P2SymBuild.mod (m2linemap): Replace with ... | |
| (gcctypes): ... this. | |
| * gm2-compiler/SymbolConversion.def (m2tree): Replace with ... | |
| (gcctypes): ... this. | |
| (Mod2Gcc): Replace Tree with tree. | |
| (Gcc2Mod): Ditto. | |
| (AddModGcc): Ditto. | |
| * gm2-compiler/SymbolConversion.mod (m2tree): Replace with ... | |
| (gcctypes): ... this. | |
| (Mod2Gcc): Replace Tree with tree. | |
| (Gcc2Mod): Ditto. | |
| (AddModGcc): Ditto. | |
| (Mod2GccWithoutGCCPoison): Ditto. | |
| * gm2-compiler/SymbolTable.def (m2tree): Replace with ... | |
| (gcctypes): ... this. | |
| (PutModuleFinallyFunction): Replace Tree with tree. | |
| (GetModuleFinallyFunction): Ditto. | |
| * gm2-compiler/SymbolTable.mod (m2tree): Replace with ... | |
| (gcctypes): ... this. | |
| (PutModuleFinallyFunction): Replace Tree with tree. | |
| (GetModuleFinallyFunction): Ditto. | |
| * gm2-compiler/m2flex.def (m2linemap): Replace with ... | |
| (gcctypes): ... this. | |
| * gm2-gcc/init.def (PerCompilationInit): Replace ADDRESS with ConstCharStar. | |
| (CDataTypes): Import ConstCharStar. | |
| * gm2-gcc/m2block.def (SYSTEM): Remove import. | |
| (CDataTypes): Import ConstCharStar. | |
| (m2linemap): Remove import. | |
| (m2tree): Remove import. | |
| (gcctypes): Import tree. | |
| (global_constant): Replace Tree with tree. | |
| (RememberInitModuleFunction): Ditto. | |
| (DumpGlobalConstants): Ditto. | |
| (RememberConstant): Ditto. | |
| (RememberType): Ditto. | |
| (pushDecl): Ditto. | |
| (popFunctionScope): Ditto. | |
| (pushFunctionScope): Ditto. | |
| (finishFunctionCode): Ditto. | |
| (finishFunctionDecl): Ditto. | |
| (GetErrorNode): Ditto. | |
| (includeDecl): Ditto. | |
| (GetGlobals): Ditto. | |
| (GetGlobalContext): Ditto. | |
| (begin_statement_list): Ditto. | |
| (push_statement_list): Ditto. | |
| (pop_statement_list): Ditto. | |
| (getLabel): Replace Tree with tree. | |
| Replace ADDRESS with ConstCharStar. | |
| * gm2-gcc/m2builtins.def (CDataTypes): Import ConstCharStar. | |
| (GetBuiltinConst): Replace Tree with tree. | |
| (GetBuiltinConstType): Ditto. | |
| (GetBuiltinTypeInfoType): Ditto. | |
| (GetBuiltinTypeInfo): Ditto. | |
| (BuiltinExists): Ditto. | |
| (BuildBuiltinTree): Ditto. | |
| (BuiltinMemCopy): Ditto. | |
| (BuiltinMemSet): Ditto. | |
| (BuiltInAlloca): Ditto. | |
| (BuiltInIsfinite): Ditto. | |
| * gm2-gcc/m2convert.def (CDataTypes): Import ConstCharStar. | |
| (ToWord): Ditto. | |
| (ToCardinal): Ditto. | |
| (ToInteger): Ditto. | |
| (ToBitset): Ditto. | |
| (ConvertToPtr): Ditto. | |
| (BuildConvert): Ditto. | |
| (ConvertConstantAndCheck): Ditto. | |
| (ConvertString): Ditto. | |
| (GenericToType): Ditto. | |
| * gm2-gcc/m2decl.cc (m2decl_BuildParameterDeclaration): Add | |
| const attribute. | |
| * gm2-gcc/m2decl.def (CDataTypes): Import ConstCharStar. | |
| (BuildModuleCtor): Ditto. | |
| (DeclareModuleCtor): Ditto. | |
| (DeclareM2linkForcedModuleInitOrder): Ditto. | |
| (DeclareM2linkStaticInitialization): Ditto. | |
| (BuildPtrToTypeString): Ditto. | |
| (BuildIntegerConstant): Ditto. | |
| (BuildStringConstantType): Ditto. | |
| (DeclareKnownVariable): Ditto. | |
| (DeclareKnownConstant): Ditto. | |
| (BuildParameterDeclaration): Ditto. | |
| (BuildEndFunctionDeclaration): Ditto. | |
| (RememberVariables): Ditto. | |
| (BuildConstLiteralNumber): Ditto. | |
| (BuildStringConstant): Ditto. | |
| (BuildCStringConstant): Ditto. | |
| (GetDeclContext): Ditto. | |
| * gm2-gcc/m2decl.h (m2decl_BuildParameterDeclaration): Add | |
| const attribute. | |
| * gm2-gcc/m2except.def (CDataTypes): Import ConstCharStar. | |
| (BuildThrow): Ditto. | |
| (BuildTryBegin): Ditto. | |
| (BuildTryEnd): Ditto. | |
| (BuildCatchBegin): Ditto. | |
| (BuildCatchEnd): Ditto. | |
| * gm2-gcc/m2expr.def (CDataTypes): Import ConstCharStar. | |
| (CSTIntToString): Ditto. | |
| (CSTIntToChar): Ditto. | |
| (CheckConstStrZtypeRange): Ditto. | |
| (CompareTrees): Ditto. | |
| (GetPointerOne): Ditto. | |
| (GetPointerZero): Ditto. | |
| (GetWordOne): Ditto. | |
| (GetWordZero): Ditto. | |
| (GetIntegerOne): Ditto. | |
| (GetIntegerZero): Ditto. | |
| (GetCardinalOne): Ditto. | |
| (GetCardinalZero): Ditto. | |
| (GetSizeOfInBits): Ditto. | |
| (GetSizeOf): Ditto. | |
| (BuildLogicalRotate): Ditto. | |
| (BuildLRRn): Ditto. | |
| (BuildLRLn): Ditto. | |
| (BuildMask): Ditto. | |
| (BuildMult): Ditto. | |
| (BuildMultCheck): Ditto. | |
| (BuildLRR): Ditto. | |
| (BuildLRL): Ditto. | |
| (BuildLogicalShift): Ditto. | |
| (BuildLSR): Ditto. | |
| (BuildLSL): Ditto. | |
| (BuildDivM2): Ditto. | |
| (BuildDivM2Check): Ditto. | |
| (BuildModM2): Ditto. | |
| (BuildModM2Check): Ditto. | |
| (BuildModFloor): Ditto. | |
| (BuildDivCeil): Ditto. | |
| (BuildModCeil): Ditto. | |
| (BuildDivFloor): Ditto. | |
| (BuildModTrunc): Ditto. | |
| (BuildDivTrunc): Ditto. | |
| (BuildDivTruncCheck): Ditto. | |
| (BuildRDiv): Ditto. | |
| (BuildSubCheck): Ditto. | |
| (BuildAddCheck): Ditto. | |
| (BuildSub): Ditto. | |
| (BuildAdd): Ditto. | |
| (FoldAndStrip): Ditto. | |
| (StringLength): Ditto. | |
| (TreeOverflow): Ditto. | |
| (RemoveOverflow): Ditto. | |
| (BuildCoerce): Ditto. | |
| (BuildTrunc): Ditto. | |
| (BuildNegate): Ditto. | |
| (BuildNegateCheck): Ditto. | |
| (BuildSetNegate): Ditto. | |
| (BuildTBitSize): Ditto. | |
| (BuildSize): Ditto. | |
| (BuildAddr): Ditto. | |
| (BuildOffset1): Ditto. | |
| (BuildOffset): Ditto. | |
| (BuildLogicalOrAddress): Ditto. | |
| (BuildLogicalOr): Ditto. | |
| (BuildLogicalAnd): Ditto. | |
| (BuildSymmetricDifference): Ditto. | |
| (BuildLogicalDifference): Ditto. | |
| (BuildLessThan): Ditto. | |
| (BuildGreaterThan): Ditto. | |
| (BuildLessThanOrEqual): Ditto. | |
| (BuildGreaterThanOrEqual): Ditto. | |
| (BuildEqualTo): Ditto. | |
| (BuildNotEqualTo): Ditto. | |
| (BuildIsSuperset): Ditto. | |
| (BuildIsNotSuperset): Ditto. | |
| (BuildIsSubset): Ditto. | |
| (BuildIsNotSubset): Ditto. | |
| (BuildIfConstInVar): Ditto. | |
| (BuildIfNotConstInVar): Ditto. | |
| (BuildIfVarInVar): Ditto. | |
| (BuildIfNotVarInVar): Ditto. | |
| (BuildForeachWordInSetDoIfExpr): Ditto. | |
| (BuildIfInRangeGoto): Ditto. | |
| (BuildIfNotInRangeGoto): Ditto. | |
| (BuildArray): Ditto. | |
| (BuildComponentRef): Ditto. | |
| (BuildIndirect): Ditto. | |
| (IsTrue): Ditto. | |
| (IsFalse): Ditto. | |
| (GetCstInteger): Ditto. | |
| (AreConstantsEqual): Ditto. | |
| (AreRealOrComplexConstantsEqual): Ditto. | |
| (DetermineSign): Ditto. | |
| (BuildCap): Ditto. | |
| (BuildAbs): Ditto. | |
| (BuildRe): Ditto. | |
| (BuildIm): Ditto. | |
| (BuildCmplx): Ditto. | |
| (BuildBinaryForeachWordDo): Ditto. | |
| (BuildBinarySetDo): Ditto. | |
| (ConstantExpressionWarning): Ditto. | |
| (BuildAddAddress): Ditto. | |
| (calcNbits): Ditto. | |
| (OverflowZType): Ditto. | |
| (BuildCondIfExpression): Ditto. | |
| * gm2-gcc/m2linemap.def (CDataTypes): Import ConstCharStar. | |
| * gm2-gcc/m2misc.def (m2tree): Replace with ... | |
| (gcctypes): ... this. | |
| (DebugTree): Replace Tree with tree. | |
| * gm2-gcc/m2pp.def (m2tree): Replace with ... | |
| (gcctypes): ... this. | |
| (DumpGimpleFd): Replace Tree with tree. | |
| * gm2-gcc/m2statement.cc (m2statement_BuildBuiltinCallTree): | |
| Remove unused location parameter. | |
| * gm2-gcc/m2statement.def (m2linemap): Replace with ... | |
| (gcctypes): ... this. | |
| (CDataTypes): Import CharStar. | |
| (DoJump): Replace Tree with tree. | |
| Replace ADDRESS with CharStar. | |
| (BuildStartFunctionCode): Replace Tree with tree. | |
| (BuildEndFunctionCode): Ditto. | |
| (BuildReturnValueCode): Ditto. | |
| (BuildAssignmentTree): Ditto. | |
| (BuildAssignmentStatement): Ditto. | |
| (BuildGoto): Ditto. | |
| (DeclareLabel): Ditto. | |
| (BuildIfThenDoEnd): Ditto. | |
| (BuildIfThenElseEnd): Ditto. | |
| (BuildParam): Ditto. | |
| (BuildFunctionCallTree): Ditto. | |
| (BuildProcedureCallTree): Ditto. | |
| (BuildIndirectProcedureCallTree): Ditto. | |
| (BuildFunctValue): Ditto. | |
| (BuildCall2): Ditto. | |
| (BuildCall3): Ditto. | |
| (SetLastFunction): Ditto. | |
| (GetLastFunction): Ditto. | |
| (GetParamTree): Ditto. | |
| (BuildTryFinally): Ditto. | |
| (BuildCleanUp): Ditto. | |
| (BuildAsm): Ditto. | |
| (BuildUnaryForeachWordDo): Ditto. | |
| (BuildExcludeVarConst): Ditto. | |
| (BuildExcludeVarVar): Ditto. | |
| (BuildIncludeVarConst): Ditto. | |
| (BuildIncludeVarVar): Ditto. | |
| (BuildStart): Ditto. | |
| (BuildEnd): Ditto. | |
| (BuildCallInner): Ditto. | |
| (BuildBuiltinCallTree): Remove unused location parameter. | |
| * gm2-gcc/m2statement.h (m2statement_BuildBuiltinCallTree): Remove | |
| unused location parameter. | |
| * gm2-gcc/m2tree.def (gcctypes): Import tree. | |
| (IsAConstant): Replace Tree with tree. | |
| (IsOrdinal): Ditto. | |
| (IsTreeOverflow): Ditto. | |
| (skip_const_decl): Ditto. | |
| (skip_type_decl): Ditto. | |
| (is_type): Ditto. | |
| (is_array): Ditto. | |
| (is_var): Ditto. | |
| (debug_tree): Ditto. | |
| (IstreeOverflow): Ditto. | |
| * gm2-gcc/m2treelib.def (m2linemap): Replace with ... | |
| (gcctypes): ... this. | |
| (get_set_address_if_var): Ditto. | |
| (get_set_field_rhs): Ditto. | |
| (get_set_field_lhs): Ditto. | |
| (get_set_address): Ditto. | |
| (get_set_value): Ditto. | |
| (get_field_no): Ditto. | |
| (get_rvalue): Ditto. | |
| (DoCall): Ditto. | |
| (build_modify_expr): Ditto. | |
| (do_jump_if_bit): Ditto. | |
| * gm2-gcc/m2type.def (m2linemap): Replace with ... | |
| (gcctypes): ... this. | |
| (m2tree): Remove. | |
| (CDataTypes): Import ConstCharStar and charStar. | |
| (ValueInTypeRange): Replace Tree with tree. | |
| (ValueOutOfTypeRange): Ditto. | |
| (ExceedsTypeRange): Ditto. | |
| (WithinTypeRange): Ditto. | |
| (BuildSubrangeType): Ditto. | |
| (BuildCharConstant): Ditto. | |
| (BuildCharConstantChar): Ditto. | |
| (BuildArrayConstructorElement): Ditto. | |
| (BuildEndArrayConstructor): Ditto. | |
| (BuildStartArrayConstructor): Ditto. | |
| (BuildRecordConstructorElement): Ditto. | |
| (BuildEndRecordConstructor): Ditto. | |
| (BuildStartRecordConstructor): Ditto. | |
| (BuildEndSetConstructor): Ditto. | |
| (BuildSetConstructorElement): Ditto. | |
| (BuildStartSetConstructor): Ditto. | |
| (BuildSetType): Ditto. | |
| (BuildConstPointerType): Ditto. | |
| (BuildPointerType): Ditto. | |
| (BuildEnumerator): Ditto. | |
| (BuildEndEnumeration): Ditto. | |
| (BuildStartEnumeration): Ditto. | |
| (BuildTypeDeclaration): Ditto. | |
| (GetMaxFrom): Ditto. | |
| (GetMinFrom): Ditto. | |
| (GetDefaultType): Ditto. | |
| (BuildEndType): Ditto. | |
| (BuildStartType): Ditto. | |
| (BuildVariableArrayAndDeclare): Ditto. | |
| (BuildProcTypeParameterDeclaration): Ditto. | |
| (BuildStartFunctionType): Ditto. | |
| (BuildEndFunctionType): Ditto. | |
| (GetTreeType): Ditto. | |
| (DeclareKnownType): Ditto. | |
| (GetM2ZType): Ditto. | |
| (GetM2RType): Ditto. | |
| (BuildSetTypeFromSubrange): Ditto. | |
| (BuildSmallestTypeRange): Ditto. | |
| (GetBooleanType): Ditto. | |
| (GetBooleanFalse): Ditto. | |
| (GetBooleanTrue): Ditto. | |
| (GetPackedBooleanType): Ditto. | |
| (GetCharType): Ditto. | |
| (GetByteType): Ditto. | |
| (GetVoidType): Ditto. | |
| (GetBitnumType): Ditto. | |
| (GetRealType): Ditto. | |
| (GetLongRealType): Ditto. | |
| (GetShortRealType): Ditto. | |
| (GetLongIntType): Ditto. | |
| (GetPointerType): Ditto. | |
| (GetCardinalType): Ditto. | |
| (GetIntegerType): Ditto. | |
| (GetWordType): Ditto. | |
| (GetM2CardinalType): Ditto. | |
| (GetBitsetType): Ditto. | |
| (GetM2CType): Ditto. | |
| (GetProcType): Ditto. | |
| (GetM2ComplexType): Ditto. | |
| (GetM2LongComplexType): Ditto. | |
| (GetM2ShortComplexType): Ditto. | |
| (GetM2Complex128): Ditto. | |
| (GetM2Complex96): Ditto. | |
| (GetM2Complex64): Ditto. | |
| (GetM2Complex32): Ditto. | |
| (GetM2Real128): Ditto. | |
| (GetM2Real96): Ditto. | |
| (GetM2Real64): Ditto. | |
| (GetM2Real32): Ditto. | |
| (GetM2Bitset32): Ditto. | |
| (GetM2Bitset16): Ditto. | |
| (GetM2Bitset8): Ditto. | |
| (GetM2Word64): Ditto. | |
| (GetM2Word32): Ditto. | |
| (GetM2Word16): Ditto. | |
| (GetM2Cardinal64): Ditto. | |
| (GetM2Cardinal32): Ditto. | |
| (GetM2Cardinal16): Ditto. | |
| (GetM2Cardinal8): Ditto. | |
| (GetM2Integer64): Ditto. | |
| (GetM2Integer32): Ditto. | |
| (GetM2Integer16): Ditto. | |
| (GetM2Integer8): Ditto. | |
| (GetISOLocType): Ditto. | |
| (GetISOByteType): Ditto. | |
| (GetISOWordType): Ditto. | |
| (GetShortCardType): Ditto. | |
| (GetM2ShortCardType): Ditto. | |
| (GetShortIntType): Ditto. | |
| (GetM2ShortIntType): Ditto. | |
| (GetM2LongCardType): Ditto. | |
| (GetM2LongIntType): Ditto. | |
| (GetM2LongRealType): Ditto. | |
| (GetM2RealType): Ditto. | |
| (GetM2ShortRealType): Ditto. | |
| (GetM2IntegerType): Ditto. | |
| (GetM2CharType): Ditto. | |
| (GetCSizeTType): Ditto. | |
| (GetCSSizeTType): Ditto. | |
| (BuildArrayStringConstructor): Ditto. | |
| (RealToTree): Ditto. | |
| (BuildStartRecord): Ditto. | |
| (BuildStartUnion): Ditto. | |
| (BuildStartVarient): Ditto. | |
| (BuildEndVarient): Ditto. | |
| (BuildStartFieldVarient): Ditto. | |
| (BuildEndFieldVarient): Ditto. | |
| (BuildStartFieldRecord): Ditto. | |
| (BuildFieldRecord): Ditto. | |
| (ChainOn): Ditto. | |
| (ChainOnParamValue): Ditto. | |
| (AddStringToTreeList): Ditto. | |
| (BuildEndRecord): Ditto. | |
| (SetAlignment): Ditto. | |
| (SetDeclPacked): Ditto. | |
| (SetTypePacked): Ditto. | |
| (SetRecordFieldOffset): Ditto. | |
| (BuildPackedFieldRecord): Ditto. | |
| (BuildNumberOfArrayElements): Ditto. | |
| (AddStatement): Ditto. | |
| (MarkFunctionReferenced): Ditto. | |
| (BuildArrayIndexType): Ditto. | |
| (GetArrayNoOfElements): Ditto. | |
| (BuildEndArrayType): Ditto. | |
| (PutArrayType): Ditto. | |
| (BuildStartArrayType): Ditto. | |
| (IsAddress): Ditto. | |
| (SameRealType): Ditto. | |
| * m2.flex (Gm2linemap.h): Include. | |
| * mc-boot/GDynamicStrings.cc: Rebuild. | |
| * mc-boot/GFIO.cc: Ditto. | |
| * mc-boot/GIndexing.cc: Ditto. | |
| * mc-boot/GM2Dependent.cc: Ditto. | |
| * mc-boot/GSArgs.cc: Ditto. | |
| * mc-boot/GStringConvert.cc: Ditto. | |
| * mc-boot/Gdecl.cc: Ditto. | |
| * mc-boot/Gdecl.h: Ditto. | |
| * mc-boot/Gdtoa.h: Ditto. | |
| * mc-boot/Gkeyc.cc: Ditto. | |
| * mc-boot/Gkeyc.h: Ditto. | |
| * mc-boot/Glibc.h: Ditto. | |
| * mc-boot/GmcComp.cc: Ditto. | |
| * mc-boot/GmcLexBuf.cc: Ditto. | |
| * mc-boot/GmcPreprocess.cc: Ditto. | |
| * mc-boot/GmcStream.cc: Ditto. | |
| * mc-boot/Gmcp1.cc: Ditto. | |
| * mc-boot/Gmcp3.cc: Ditto. | |
| * mc-boot/Gmcp4.cc: Ditto. | |
| * mc-boot/Gmcp5.cc: Ditto. | |
| * mc-boot/GnameKey.cc: Ditto. | |
| * mc-boot/Gvarargs.cc: Ditto. | |
| * mc/decl.def (putDefUnqualified): New procedure function. | |
| (isDefUnqualified): Ditto. | |
| * mc/decl.mod (defT): Add unqualified field. | |
| (charStarN): New variable. | |
| (constCharStarN): Ditto. | |
| (checkGccType): New procedure. | |
| (checkCDataTypes): Ditto. | |
| (import): Call checkGccType and checkCDataTypes. | |
| (putDefUnqualified): New procedure function. | |
| (isDefUnqualified): Ditto. | |
| * mc/keyc.def (useGccTree): New procedure. | |
| (useGccLocation): Ditto. | |
| * mc/keyc.mod (checkGccConfigSystem): Call checkGccConfigSystem. | |
| (useGccTree): New procedure. | |
| (useGccLocation): Ditto. | |
| * mc/mcp1.bnf (decl): Import putDefUnqualified. | |
| (Export): Call putDefUnqualified. | |
| * gm2-gcc/CDataTypes.def: New file. | |
| * gm2-gcc/gcctypes.def: New file. | |
| 2024-09-02 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/116557 | |
| * gm2-lang.cc: Replace physical address with URL in GPL header. | |
| * gm2-lang.h: Ditto. | |
| * images/LICENSE.IMG: Ditto. | |
| * m2-tree.def: Ditto. | |
| * mc-boot/GIndexing.cc: Ditto. | |
| * mc-boot/Gkeyc.cc: Ditto. | |
| * mc-boot/Glists.cc: Ditto. | |
| * mc-boot/GmcComp.cc: Ditto. | |
| * mc-boot/GmcDebug.cc: Ditto. | |
| * mc-boot/GmcFileName.cc: Ditto. | |
| * mc-boot/GmcMetaError.cc: Ditto. | |
| * mc-boot/GmcOptions.cc: Ditto. | |
| * mc-boot/GmcPreprocess.cc: Ditto. | |
| * mc-boot/GmcPretty.cc: Ditto. | |
| * mc-boot/GmcPrintf.cc: Ditto. | |
| * mc-boot/GmcQuiet.cc: Ditto. | |
| * mc-boot/GmcReserved.cc: Ditto. | |
| * mc-boot/GmcSearch.cc: Ditto. | |
| * mc-boot/GmcStack.cc: Ditto. | |
| * mc/Indexing.mod: Ditto. | |
| * mc/keyc.mod: Ditto. | |
| * mc/lists.mod: Ditto. | |
| * mc/mcComp.mod: Ditto. | |
| * mc/mcDebug.mod: Ditto. | |
| * mc/mcFileName.mod: Ditto. | |
| * mc/mcMetaError.mod: Ditto. | |
| * mc/mcOptions.mod: Ditto. | |
| * mc/mcPreprocess.mod: Ditto. | |
| * mc/mcPretty.mod: Ditto. | |
| * mc/mcPrintf.mod: Ditto. | |
| * mc/mcQuiet.mod: Ditto. | |
| * mc/mcReserved.mod: Ditto. | |
| * mc/mcSearch.mod: Ditto. | |
| * mc/mcStack.mod: Ditto. | |
| * tools-src/buildpg: Ditto. | |
| * tools-src/calcpath: Ditto. | |
| * tools-src/checkmeta.py: Ditto. | |
| * tools-src/def2doc.py: Ditto. | |
| * tools-src/makeSystem: Ditto. | |
| * tools-src/tidydates.py: Ditto. | |
| 2024-09-02 Richard Sandiford <richard.sandiford@arm.com> | |
| * gm2-gcc/m2block.cc (flush_pending_note): Rename ASM_INPUT_P | |
| to ASM_BASIC_P. | |
| * gm2-gcc/m2statement.cc (m2statement_BuildAsm): Likewise. | |
| 2024-08-30 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/116181 | |
| * pge-boot/GM2RTS.h: Regenerate. | |
| * pge-boot/m2rts.h: Ditto. | |
| 2024-08-28 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/116181 | |
| * Make-lang.in (MC_SRC_FLAGS): New macro. | |
| (m2/mc-boot/$(SRC_PREFIX)%.o): Use MC_SRC_FLAGS. | |
| (m2/mc-boot-ch/$(SRC_PREFIX)%.o): Ditto. | |
| (m2/gm2-libs-boot/M2RTS.o): Ditto. | |
| (m2/gm2-libs-boot/%.o): Ditto. | |
| (GM2-LIBS-BOOT-H): New macro. | |
| (m2/gm2-libs-boot/RTcodummy.o): Use MC_SRC_FLAGS. | |
| Remove gm2-libs-host.h from the dependancy. | |
| (m2/gm2-libs-boot/wrapc.o): Use MC_SRC_FLAGS. | |
| Add dependancy GM2-LIBS-BOOT-H. | |
| (m2/gm2-libs-boot/UnixArgs.o): Ditto. | |
| (m2/gm2-libs-boot/choosetemp.o): Ditto. | |
| (m2/gm2-libs-boot/errno.o): Ditto. | |
| (m2/gm2-libs-boot/dtoa.o): Ditto. | |
| (m2/gm2-libs-boot/ldtoa.o): Ditto. | |
| (m2/gm2-libs-boot/termios.o): Ditto. | |
| (m2/gm2-libs-boot/SysExceptions.o): Ditto. | |
| (m2/gm2-compiler-boot/M2GCCDeclare.o): Add gm2-libs-ch to the | |
| search path. | |
| (m2/gm2-compiler-boot/M2Error.o): Ditto. | |
| (m2/gm2-compiler-boot/%.o): Ditto. | |
| (m2/pge-boot/%.o): Ditto. | |
| * gm2-gcc/m2color.cc (m2color_colorize_start): Replace parameter | |
| type char to void and recast to char * when calling colorize_start. | |
| * gm2-gcc/m2color.h (m2color_colorize_start): Replace parameter | |
| type char to void. | |
| * gm2-gcc/m2type.h: Remove #if 0 block. | |
| * gm2-libs-ch/SysExceptions.c (DECL_PROC_T): Provide alternative | |
| defines for MC an gm2. | |
| (PROC_FUNC): Ditto. | |
| (EXTERN): Force undefine and redefine. | |
| (SysExceptions_InitExceptionHandlers): Rewrite function | |
| declaration using defined macros. | |
| (_M2_SysExceptions_init): Use EXTERN. | |
| (_M2_SysExceptions_finish): Replace with ... | |
| (_M2_SysExceptions_fini): ... this and add parameters. | |
| * gm2-libs-ch/UnixArgs.cc (gm2-libs-host.h): Include. | |
| (GUnixArgs.h): Include. | |
| (GM2RTS.h): Include. | |
| (UnixArgs_GetArgV): Change return type to void *. | |
| (UnixArgs_GetEnvV): Ditto. | |
| * gm2-libs-ch/m2rts.h (M2RTS_RegisterModule_Cstr): Add new | |
| conditional macro. | |
| (M2RTS_RequestDependant): Remove. | |
| (M2RTS_RegisterModule): Ditto. | |
| (M2RTS_Terminate): Ditto. | |
| (M2RTS_DeconstructModules): Ditto. | |
| (M2RTS_Halt): Ditto. | |
| (_M2_M2RTS_init): Ditto. | |
| (M2RTS_ConstructModules): Ditto. | |
| * gm2-libs-ch/termios.c (_termios_C): Define. | |
| (EXTERN): Add conditional definition. | |
| (doSetUnset): New function. | |
| (_M2_termios_init): Add correct parameters. | |
| (_M2_termios_finish): Ditto. | |
| (_M2_termios_fini): Ditto. | |
| * mc-boot-ch/GSysExceptions.c (DECL_PROC_T): New define. | |
| (PROC_FUNC): Ditto. | |
| (EXTERN): Force undef. | |
| (SysExceptions_InitExceptionHandlers): Rewrite. | |
| * mc-boot-ch/Glibc.c (libc_open): Rename parameter | |
| oflag to flags. | |
| * mc-boot-ch/Gtermios.cc (_termios_C): New define. | |
| (KillTermios): Change parameter type from | |
| struct termios * to termios_TERMIOS. | |
| (tcsnow): Rewrite. | |
| (tcsnow): Rewrite. | |
| (tcsdrain): Rewrite. | |
| (tcsflush): Rewrite. | |
| (cfgetospeed): Rewrite. | |
| (cfgetispeed): Rewrite. | |
| (cfsetospeed): Rewrite. | |
| (cfsetispeed): Rewrite. | |
| (cfsetspeed): Rewrite. | |
| (cfsetspeed): Rewrite. | |
| (tcgetattr): Rewrite. | |
| (tcsetattr): Rewrite. | |
| (cfmakeraw): Rewrite. | |
| (tcsendbreak): Rewrite. | |
| (tcdrain): Rewrite. | |
| (tcflushi): Rewrite. | |
| (tcflusho): Rewrite. | |
| (tcflushio): Rewrite. | |
| (tcflowoni): Rewrite. | |
| (tcflowoffi): Rewrite. | |
| (tcflowono): Rewrite. | |
| (tcflowoffo): Rewrite. | |
| (GetFlag): Rewrite. | |
| (SetFlag): Rewrite. | |
| (GetChar): Rewrite. | |
| (SetChar): Rewrite. | |
| (InitTermios): Rewrite. | |
| * pge-boot/GM2RTS.cc: Regenerate. | |
| * pge-boot/GSysExceptions.cc: Ditto. | |
| * pge-boot/Gtermios.cc: Ditto. | |
| * pge-boot/m2rts.h: Rewrite. | |
| * mc-boot-ch/GSYSTEM.h: New file. | |
| * mc-boot-ch/GSysExceptions.h: New file. | |
| * mc-boot-ch/Gtermios.h: New file. | |
| 2024-08-24 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-libs/libc.def (atof): Export unqualified. | |
| (atoi): Ditto. | |
| (atol): Ditto. | |
| (atoll): Ditto. | |
| (strtod): Ditto. | |
| (strtof): Ditto. | |
| (strtold): Ditto. | |
| (strtol): Ditto. | |
| (strtoll): Ditto. | |
| (strtoul): Ditto. | |
| (strtoull): Ditto. | |
| 2024-08-16 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-libs-iso/StdChans.mod (in): Rename to ... | |
| (inch): ... this. | |
| (out): Rename to ... | |
| (outch): ... this. | |
| (err): Rename to ... | |
| (errch): ... this. | |
| 2024-08-16 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-libs/DynamicStrings.mod (Slice): Rename end to stop. | |
| 2024-08-16 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/116378 | |
| * gm2-libs-iso/TermFile.mod (termOpen): Add third argument | |
| for open. | |
| * gm2-libs/libc.def (open): Remove vararg and use INTEGER for | |
| mode parameter three. | |
| * mc-boot-ch/Glibc.c (tracedb_open): Replace mode_t with int. | |
| (libc_open): Rewrite without varargs. | |
| * mc-boot/Glibc.h (libc_open): Replace varargs with int mode. | |
| * pge-boot/Glibc.cc (libc_open): Rewrite. | |
| * pge-boot/Glibc.h (libc_open): Replace varargs with int mode. | |
| 2024-08-12 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/116181 | |
| * gm2-compiler/ppg.mod (FindStr): Initialize j. | |
| * gm2-libs-ch/UnixArgs.cc (_M2_UnixArgs_ctor): Replace | |
| M2RTS_RegisterModule with M2RTS_RegisterModule_Cstr. | |
| * gm2-libs-ch/dtoa.cc (_M2_dtoa_ctor): Ditto. | |
| * gm2-libs-ch/ldtoa.cc (ldtoa_strtold): Cast parameter s | |
| for strtod. | |
| (_M2_ldtoa_ctor): Replace M2RTS_RegisterModule with | |
| M2RTS_RegisterModule_Cstr. | |
| * gm2-libs-ch/m2rts.h (M2RTS_RegisterModule_Cstr): New | |
| define. | |
| (M2RTS_RegisterModule): Remove const. | |
| * mc-boot-ch/GSelective.c (Selective_FdIsSet): Return bool | |
| rather than int. | |
| * mc-boot-ch/Gldtoa.cc (ldtoa_strtold): Change const char to | |
| void. | |
| Cast s before passing as a parameter to strtod. | |
| * mc-boot-ch/Glibc.c (tracedb_open): Replace const char with const | |
| void. | |
| (libc_perror): Replace char with const char. | |
| (libc_printf): Replace char with void. | |
| (libc_snprintf): Replace char with void. | |
| Add const_cast for parameter to index. | |
| Add reinterpret_cast for parameter to vsnprintf. | |
| (libc_open): Replace first paramter type char with void. | |
| Add vararg for the third parameter. | |
| * mc-boot-ch/Gm2rtsdummy.cc (M2RTS_RequestDependant): Remove #if 0 code. | |
| (m2pim_M2RTS_RegisterModule): Change const char parameters to void | |
| (M2RTS_RegisterModule): Ditto. | |
| (_M2_M2RTS_init): Remove #if 0 code. | |
| (M2RTS_ConstructModules): Ditto. | |
| (M2RTS_Terminate): Ditto. | |
| (M2RTS_DeconstructModules): Ditto. | |
| (M2RTS_Halt): Ditto. | |
| * mc-boot-ch/Gtermios.cc (SetFlag): Return bool. | |
| * mc-boot-ch/m2rts.h (M2RTS_RegisterModule_Cstr): New define. | |
| (M2RTS_RegisterModule): Change const char parameters to void. | |
| * mc-boot/Gdecl.cc: Regenerate. | |
| * mc/decl.mod (getNextConstExp): Reimplement. | |
| * pge-boot/GDynamicStrings.cc: Regenerate. | |
| * pge-boot/GDynamicStrings.h: Ditto. | |
| * pge-boot/GM2RTS.h (M2RTS_RegisterModule_Cstr): New function. | |
| (M2RTS_RegisterModule): Reformat. | |
| * pge-boot/GSymbolKey.cc: Regenerate. | |
| * pge-boot/GSysExceptions.cc (_M2_SysExceptions_init): Add correct parameters. | |
| (_M2_SysExceptions_fini): Ditto. | |
| * pge-boot/GUnixArgs.cc (_M2_UnixArgs_ctor::_M2_UnixArgs_ctor): | |
| Replace call to M2RTS_RegisterModule with M2RTS_RegisterModuleCstr. | |
| * pge-boot/Gerrno.cc (_M2_errno_init): Add correct parameters. | |
| (_M2_errno_fini): Ditto. | |
| * pge-boot/Gldtoa.cc (ldtoa_strtold): Replace const char with | |
| void. | |
| Use reinterpret_cast when passing s to strtod. | |
| Replace true with TRUE. | |
| * pge-boot/Gldtoa.h (ldtoa_strtold): Tidy up. | |
| * pge-boot/Glibc.cc (libc_read): Use size_t as the return type. | |
| (libc_write): Ditto. | |
| (libc_strlen): Ditto. | |
| (libc_perror): Replace char with const char. | |
| (libc_printf): Replace char to const char. | |
| Cast parameter to index using const_cast. | |
| (libc_snprintf): Replace char with void. | |
| Cast parameter to index using const_cast. | |
| (libc_malloc): Replace parameter type with size_t. | |
| (libc_memcpy): Replace third parameter type with size_t. | |
| (libc_open): Use varargs. | |
| * pge-boot/Glibc.h (libc_perror): Add _string_high parameter. | |
| * pge-boot/Gpge.cc: Regenerate. | |
| * pge-boot/Gtermios.cc (SetFlag): Replace return type with bool. | |
| (_M2_termios_init): Add correct parameters. | |
| (_M2_termios_fini): Ditto. | |
| * pge-boot/m2rts.h (M2RTS_RegisterModule_Cstr): New define. | |
| (M2RTS_RegisterModule): Replace const char with void. | |
| 2024-08-10 Wilken Gottwalt <wilken.gottwalt@posteo.net> | |
| * gm2-libs-iso/MemStream.mod: Guard debug output. | |
| 2024-07-28 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/115823 | |
| * gm2-gcc/m2builtins.cc (define_builtin): Build | |
| the function decl using the libname. | |
| 2024-07-24 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-compiler/M2StateCheck.mod (GenerateError): Add | |
| symbol name to the error message. | |
| 2024-07-23 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/116048 | |
| * Make-lang.in (GM2-COMP-BOOT-DEFS): Add M2StateCheck.def. | |
| (GM2-COMP-BOOT-MODS): Add M2StateCheck.mod. | |
| (GM2-COMP-DEFS): Add M2StateCheck.def. | |
| (GM2-COMP-MODS): Add M2StateCheck.mod. | |
| * gm2-compiler/M2Quads.mod (StartBuildWith): Generate | |
| unrecoverable error is the qualident type is NulSym. | |
| Replace MetaError1 with MetaErrorT1 and position the error | |
| to the qualident. | |
| * gm2-compiler/P3Build.bnf (M2StateCheck): Import procedures. | |
| (seenError): New variable. | |
| (WasNoError): Remove variable. | |
| (BlockState): New variable. | |
| (ErrorString): Rewrite using seenError. | |
| (CompilationUnit): Ditto. | |
| (QualidentCheck): New rule. | |
| (ConstantDeclaration): Bookend with InclConst and ExclConst. | |
| (Constructor): Add InclConstructor, ExclConstructor and call | |
| CheckQualident. | |
| (ConstActualParameters): Call PushState, PopState, InclConstFunc | |
| and CheckQualident. | |
| (TypeDeclaration): Bookend with InclType and ExclType. | |
| (SimpleType): Call QualidentCheck. | |
| (CaseTag): Ditto. | |
| (OptReturnType): Ditto. | |
| (VariableDeclaration): Bookend with InclVar and ExclVar. | |
| (Designator): Call QualidentCheck. | |
| (Formal;Type): Ditto. | |
| * gm2-compiler/PCBuild.bnf (M2StateCheck): Import procedures. | |
| (ConstantDeclaration): Rewrite using InclConst and ExclConst. | |
| (Constructor): Bookend with InclConstructor and ExclConstructor. | |
| Call CheckQualident. | |
| (ConstructorOrConstActualParameters): Rewrite and cal | |
| l CheckQualident. | |
| (ConstActualParameters): Bookend with PushState PopState. | |
| Call InclConstFunc and CheckQualident. | |
| * gm2-gcc/init.cc (_M2_M2StateCheck_init): New declaration. | |
| (_M2_P3Build_init): New declaration. | |
| (init_PerCompilationInit): Call _M2_M2StateCheck_init and | |
| _M2_P3Build_init. | |
| * gm2-compiler/M2StateCheck.def: New file. | |
| * gm2-compiler/M2StateCheck.mod: New file. | |
| 2024-07-16 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/115957 | |
| * gm2-compiler/M2StackAddress.mod (PopAddress): Detect tail=NIL | |
| and generate an internal error. | |
| * gm2-compiler/PCBuild.bnf (InConstParameter): New variable. | |
| (InConstBlock): New variable. | |
| (ErrorString): Rewrite using MetaErrorStringT0. | |
| (ErrorArrayAt): Rewrite using MetaErrorStringT0. | |
| (WarnMissingToken): Use MetaErrorStringT0. | |
| (CompilationUnit): Set seenError FALSE. | |
| (init): Initialize InConstParameter and InConstBlock. | |
| (ConstantDeclaration): Set InConstBlock. | |
| (ConstSetOrQualidentOrFunction): Call CheckNotVar if not | |
| InConstParameter and InConstBlock. | |
| (ConstActualParameters): Set InConstParameter TRUE and restore | |
| value at the end. | |
| * gm2-compiler/PCSymBuild.def (CheckNotVar): New procedure. | |
| Remove all unnecessary export qualified list. | |
| * gm2-compiler/PCSymBuild.mod (CheckNotVar): New procedure. | |
| 2024-07-12 FX Coudert <fxcoudert@gmail.com> | |
| * gm2-gcc/m2linemap.cc (INCLUDE_STRING): Define before | |
| include of gcc-consolidation.h. | |
| * gm2spec.cc (INCLUDE_STRING): Define before include of | |
| system.h. | |
| (INCLUDE_VECTOR): Ditto. | |
| 2024-07-10 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/115823 | |
| * gm2-gcc/m2builtins.cc (struct builtin_macro_definition): New | |
| field builtinname. | |
| (builtin_function_match): New function. | |
| (builtin_macro_match): Ditto. | |
| (m2builtins_BuiltinExists): Use builtin_function_match and | |
| builtin_macro_match. | |
| (lookup_builtin_macro): Use builtin_macro_match. | |
| (lookup_builtin_function): Use builtin_function_match. | |
| (define_builtin): Assign builtinname field. | |
| 2024-07-07 Gaius Mulley <gaiusmod2@gmail.com> | |
| Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> | |
| Andrew Pinski <quic_apinski@quicinc.com> | |
| PR modula2/115804 | |
| * gm2-gcc/m2builtins.cc (builtin_function_entry): Add GTY. | |
| (DoBuiltinMemCopy): Add rettype and use rettype in the call. | |
| (DoBuiltinAlloca): Ditto. | |
| (DoBuiltinIsfinite): Ditto. | |
| (DoBuiltinIsnan): Ditto. | |
| (m2builtins_BuiltInHugeVal): Ditto. | |
| (m2builtins_BuiltInHugeValShort): Ditto. | |
| (m2builtins_BuiltInHugeValLong): Ditto. | |
| 2024-06-25 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-compiler/M2GenGCC.mod (QuadCondition): Remove. | |
| (FoldIfEqu): Remove WalkAction parameter. | |
| (FoldIfNotEqu): Ditto. | |
| (FoldIfGreEqu): Ditto. | |
| (FoldIfLessEqu): Ditto. | |
| (FoldIfGre): Ditto. | |
| (FoldIfLess): Ditto. | |
| (FoldIfIn): Ditto. | |
| (FoldIfNotIn): Ditto. | |
| * gm2-compiler/M2Quads.mod (GenQuadOTypeUniquetok): Remove. | |
| 2024-06-25 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/115540 | |
| * gm2-libs-ch/termios.c (cfmakeraw): Remove return. | |
| * mc-boot-ch/Gtermios.cc (cfmakeraw): Remove return. | |
| * pge-boot/Gtermios.cc (cfmakeraw): Remove return. | |
| 2024-06-25 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/115536 | |
| * gm2-compiler/M2BasicBlock.def (GetBasicBlockScope): New procedure. | |
| (GetBasicBlockStart): Ditto. | |
| (GetBasicBlockEnd): Ditto. | |
| (IsBasicBlockFirst): New procedure function. | |
| * gm2-compiler/M2BasicBlock.mod (ConvertQuads2BasicBlock): Allow | |
| conditional boolean quads to be removed. | |
| (GetBasicBlockScope): Implement new procedure. | |
| (GetBasicBlockStart): Ditto. | |
| (GetBasicBlockEnd): Ditto. | |
| (IsBasicBlockFirst): Implement new procedure function. | |
| * gm2-compiler/M2GCCDeclare.def (FoldConstants): New parameter | |
| declaration. | |
| * gm2-compiler/M2GCCDeclare.mod (FoldConstants): New parameter | |
| declaration. | |
| (DeclareTypesConstantsProceduresInRange): Recreate basic blocks | |
| after resolving constant expressions. | |
| (CodeBecomes): Guard IsVariableSSA with IsVar. | |
| * gm2-compiler/M2GenGCC.def (ResolveConstantExpressions): New | |
| parameter declaration. | |
| * gm2-compiler/M2GenGCC.mod (FoldIfLess): Remove relop pattern | |
| detection. | |
| (FoldIfGre): Ditto. | |
| (FoldIfLessEqu): Ditto. | |
| (FoldIfGreEqu): Ditto. | |
| (FoldIfIn): Ditto. | |
| (FoldIfNotIn): Ditto. | |
| (FoldIfEqu): Ditto. | |
| (FoldIfNotEqu): Ditto. | |
| (FoldBecomes): Add BasicBlock parameter and allow conditional | |
| boolean becomes to be folded in the first basic block. | |
| (ResolveConstantExpressions): Reimplement. | |
| * gm2-compiler/M2Quads.def (IsConstQuad): New procedure function. | |
| (IsConditionalBooleanQuad): Ditto. | |
| * gm2-compiler/M2Quads.mod (IsConstQuad): Implement new procedure function. | |
| (IsConditionalBooleanQuad): Ditto. | |
| (MoveWithMode): Use GenQuadOTypetok. | |
| (IsInitialisingConst): Rewrite using OpUsesOp1. | |
| (OpUsesOp1): New procedure function. | |
| (doBuildAssignment): Mark des as a VarConditional. | |
| (ConvertBooleanToVariable): Call PutVarConditional. | |
| (DumpQuadSummary): New procedure. | |
| (BuildRelOpFromBoolean): Updated debugging and improved comments. | |
| (BuildRelOp): Only call BuildRelOpFromBoolean if we are in a const | |
| expression and both operands are boolean relops. | |
| (GenQuadOTypeUniquetok): New procedure. | |
| (BackPatch): Correct comment. | |
| * gm2-compiler/SymbolTable.def (PutVarConditional): New procedure. | |
| (IsVarConditional): New procedure function. | |
| * gm2-compiler/SymbolTable.mod (PutVarConditional): Implement new | |
| procedure. | |
| (IsVarConditional): Implement new procedure function. | |
| (SymConstVar): New field IsConditional. | |
| (SymVar): New field IsConditional. | |
| (MakeVar): Initialize IsConditional field. | |
| (MakeConstVar): Initialize IsConditional field. | |
| * gm2-compiler/M2Swig.mod (DoBasicBlock): Change parameters to | |
| use BasicBlock. | |
| * gm2-compiler/M2Code.mod (SecondDeclareAndOptimize): Use iterator | |
| to FoldConstants over basic block list. | |
| * gm2-compiler/M2SymInit.mod (AppendEntry): Replace parameters | |
| with BasicBlock. | |
| * gm2-compiler/P3Build.bnf (Relation): Call RecordOp for #, <> and =. | |
| 2024-06-17 Kewen Lin <linkw@linux.ibm.com> | |
| * gm2-gcc/m2type.cc (build_m2_short_real_node): Adjust assertion with | |
| TYPE_SIZE check. | |
| (build_m2_real_node): Likewise. | |
| (build_m2_long_real_node): Add assertion with TYPE_SIZE check. | |
| 2024-06-11 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/114529 | |
| * Make-lang.in (MC_EXTENDED_OPAQUE): Assign to nothing. | |
| * Make-maintainer.in (mc-basetest): New rule. | |
| (mc-devel-basetest): New rule. | |
| (mc-clean): Remove mc. | |
| (m2/mc-boot-gen/$(SRC_PREFIX)decl.cc): Replace --extended-opaque | |
| with $(EXTENDED_OPAQUE). | |
| (PG-SRC): Move define before generic rules. | |
| (PGE-DEF): Ditto. | |
| (m2/gm2-ppg-boot/$(SRC_PREFIX)%.h): New rule. | |
| (m2/gm2-ppg-boot/$(SRC_PREFIX)libc.o): Ditto. | |
| (m2/gm2-ppg-boot/$(SRC_PREFIX)mcrts.o): Ditto. | |
| (m2/gm2-ppg-boot/$(SRC_PREFIX)UnixArgs.o): Ditto. | |
| (m2/gm2-ppg-boot/$(SRC_PREFIX)Selective.o): Ditto. | |
| (m2/gm2-ppg-boot/$(SRC_PREFIX)termios.o): Ditto. | |
| (m2/gm2-ppg-boot/$(SRC_PREFIX)SysExceptions.o): Ditto. | |
| (m2/gm2-ppg-boot/$(SRC_PREFIX)ldtoa.o): Ditto. | |
| (m2/gm2-ppg-boot/$(SRC_PREFIX)wrapc.o): Ditto. | |
| (m2/gm2-ppg-boot/$(SRC_PREFIX)SYSTEM.o): Ditto. | |
| (m2/gm2-ppg-boot/$(SRC_PREFIX)errno.o): Ditto. | |
| (m2/gm2-ppg-boot/$(SRC_PREFIX)M2RTS.o): Ditto. | |
| (m2/gm2-ppg-boot/$(SRC_PREFIX)SymbolKey.h): Ditto. | |
| (m2/gm2-ppg-boot/$(SRC_PREFIX)SymbolKey.o): Ditto. | |
| (m2/gm2-ppg-boot/$(SRC_PREFIX)NameKey.h): Ditto. | |
| (m2/gm2-ppg-boot/$(SRC_PREFIX)NameKey.o): Ditto. | |
| (m2/gm2-ppg-boot/$(SRC_PREFIX)Lists.h): Ditto. | |
| (m2/gm2-ppg-boot/$(SRC_PREFIX)Lists.o): Ditto. | |
| (m2/gm2-ppg-boot/$(SRC_PREFIX)Output.h): Ditto. | |
| (m2/gm2-ppg-boot/$(SRC_PREFIX)bnflex.h): Ditto. | |
| (m2/gm2-ppg-boot/$(SRC_PREFIX)bnflex.o): Ditto. | |
| (m2/gm2-ppg-boot/$(SRC_PREFIX)RTco.h): Ditto. | |
| (m2/gm2-ppg-boot/$(SRC_PREFIX)RTentity.h): Ditto. | |
| (m2/gm2-ppg-boot/$(SRC_PREFIX)RTco.o): Ditto. | |
| (m2/gm2-ppg-boot/$(SRC_PREFIX)RTentity.o): Ditto. | |
| (m2/gm2-ppg-boot/$(SRC_PREFIX)%.o): Ditto. | |
| (m2/ppg$(exeext)): Ditto. | |
| (m2/gm2-ppg-boot/main.o): Ditto. | |
| (m2/gm2-auto): Ditto. | |
| (c-family/m2pp.o): Ditto. | |
| (BUILD-BOOT-PG-H): Correct macro definition. | |
| (m2/gm2-pg-boot/$(SRC_PREFIX)%.h): New rule. | |
| (m2/gm2-pg-boot/$(SRC_PREFIX)NameKey.h): Ditto. | |
| (m2/gm2-pg-boot/$(SRC_PREFIX)NameKey.o): Ditto. | |
| (m2/gm2-pg-boot/$(SRC_PREFIX)Lists.h): Ditto. | |
| (m2/gm2-pg-boot/$(SRC_PREFIX)Lists.o): Ditto. | |
| (m2/gm2-pg-boot/$(SRC_PREFIX)Output.h): Ditto. | |
| (m2/gm2-pg-boot/$(SRC_PREFIX)Output.o): Ditto. | |
| (m2/gm2-pg-boot/$(SRC_PREFIX)bnflex.h): Ditto. | |
| (m2/gm2-pg-boot/$(SRC_PREFIX)bnflex.o): Ditto. | |
| (m2/gm2-pg-boot/$(SRC_PREFIX)RTco.h): Ditto. | |
| (m2/gm2-pg-boot/$(SRC_PREFIX)RTentity.h): Ditto. | |
| (m2/gm2-pg-boot/$(SRC_PREFIX)RTco.o): Ditto. | |
| (m2/gm2-pg-boot/$(SRC_PREFIX)RTentity.o): Ditto. | |
| (BUILD-BOOT-PGE-H): Correct macro definition. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)SymbolKey.h): Ditto. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)SymbolKey.o): Ditto. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)NameKey.h): Ditto. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)NameKey.o): Ditto. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)Lists.h): Ditto. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)Lists.o): Ditto. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)Output.h): Ditto. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)Output.o): Ditto. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)bnflex.h): Ditto. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)bnflex.o): Ditto. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)RTco.h): Ditto. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)RTentity.h): Ditto. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)RTco.o): Ditto. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)RTentity.o): Ditto. | |
| (mc-basetest): Ditto. | |
| (mc-devel-basetest): Ditto. | |
| * gm2-compiler/M2Options.def (SetM2Dump): Add BOOLEAN return. | |
| * gm2-compiler/M2Quads.def (BuildAlignment): Add tokno parameter. | |
| (BuildBitLength): Ditto. | |
| * gm2-compiler/P3Build.bnf (ByteAlignment): Move tokpos assignment | |
| to the start of the block. | |
| * gm2-compiler/PCBuild.bnf (ConstSetOrQualidentOrFunction): Ditto. | |
| (SetOrDesignatorOrFunction): Ditto. | |
| * gm2-compiler/PHBuild.bnf (ConstSetOrQualidentOrFunction): Ditto. | |
| (SetOrDesignatorOrFunction): Ditto. | |
| (ByteAlignment): Ditto. | |
| * gm2-libs/dtoa.def (dtoa): Change mode to INTEGER. | |
| * gm2-libs/ldtoa.def (ldtoa): Ditto. | |
| * mc-boot-ch/GSYSTEM.c (_M2_SYSTEM_init): Correct parameter list. | |
| (_M2_SYSTEM_fini): Ditto. | |
| * mc-boot-ch/Gdtoa.cc (dtoa_calcsign): Return bool. | |
| (dtoa_dtoa): Return void * and use bool in the fifth parameter. | |
| (_M2_dtoa_init): Correct parameter list. | |
| (_M2_dtoa_fini): Ditto. | |
| * mc-boot-ch/Gerrno.cc (_M2_errno_init): Ditto. | |
| (_M2_errno_fini): Ditto. | |
| * mc-boot-ch/Gldtoa.cc (dtoa_calcsign): Return bool. | |
| (ldtoa_ldtoa): Return void * and use bool in the fifth parameter. | |
| (_M2_ldtoa_init): Correct parameter list. | |
| (_M2_ldtoa_fini): Ditto. | |
| * mc-boot-ch/Glibc.c (tracedb_zresult): New function. | |
| (libc_read): Return size_t and use size_t in parameter three. | |
| (libc_write): Return size_t and use size_t in parameter three. | |
| (libc_printf): Add const to the format specifier. | |
| Change declaration of c to use const. | |
| (libc_snprintf): Add const to the format specifier. | |
| Change declaration of c to use const. | |
| (libc_malloc): Use size_t. | |
| (libc_memcpy): Ditto. | |
| * mc-boot/GASCII.cc: Regenerate. | |
| * mc-boot/GArgs.cc: Ditto. | |
| * mc-boot/GAssertion.cc: Ditto. | |
| * mc-boot/GBreak.cc: Ditto. | |
| * mc-boot/GCmdArgs.cc: Ditto. | |
| * mc-boot/GDebug.cc: Ditto. | |
| * mc-boot/GDynamicStrings.cc: Ditto. | |
| * mc-boot/GEnvironment.cc: Ditto. | |
| * mc-boot/GFIO.cc: Ditto. | |
| * mc-boot/GFormatStrings.cc: Ditto. | |
| * mc-boot/GFpuIO.cc: Ditto. | |
| * mc-boot/GIO.cc: Ditto. | |
| * mc-boot/GIndexing.cc: Ditto. | |
| * mc-boot/GM2Dependent.cc: Ditto. | |
| * mc-boot/GM2EXCEPTION.cc: Ditto. | |
| * mc-boot/GM2RTS.cc: Ditto. | |
| * mc-boot/GMemUtils.cc: Ditto. | |
| * mc-boot/GNumberIO.cc: Ditto. | |
| * mc-boot/GPushBackInput.cc: Ditto. | |
| * mc-boot/GRTExceptions.cc: Ditto. | |
| * mc-boot/GRTint.cc: Ditto. | |
| * mc-boot/GSArgs.cc: Ditto. | |
| * mc-boot/GSFIO.cc: Ditto. | |
| * mc-boot/GStdIO.cc: Ditto. | |
| * mc-boot/GStorage.cc: Ditto. | |
| * mc-boot/GStrCase.cc: Ditto. | |
| * mc-boot/GStrIO.cc: Ditto. | |
| * mc-boot/GStrLib.cc: Ditto. | |
| * mc-boot/GStringConvert.cc: Ditto. | |
| * mc-boot/GSysStorage.cc: Ditto. | |
| * mc-boot/GTimeString.cc: Ditto. | |
| * mc-boot/Galists.cc: Ditto. | |
| * mc-boot/Gdecl.cc: Ditto. | |
| * mc-boot/Gkeyc.cc: Ditto. | |
| * mc-boot/Glists.cc: Ditto. | |
| * mc-boot/GmcComment.cc: Ditto. | |
| * mc-boot/GmcComp.cc: Ditto. | |
| * mc-boot/GmcDebug.cc: Ditto. | |
| * mc-boot/GmcError.cc: Ditto. | |
| * mc-boot/GmcFileName.cc: Ditto. | |
| * mc-boot/GmcLexBuf.cc: Ditto. | |
| * mc-boot/GmcMetaError.cc: Ditto. | |
| * mc-boot/GmcOptions.cc: Ditto. | |
| * mc-boot/GmcPreprocess.cc: Ditto. | |
| * mc-boot/GmcPretty.cc: Ditto. | |
| * mc-boot/GmcPrintf.cc: Ditto. | |
| * mc-boot/GmcQuiet.cc: Ditto. | |
| * mc-boot/GmcReserved.cc: Ditto. | |
| * mc-boot/GmcSearch.cc: Ditto. | |
| * mc-boot/GmcStack.cc: Ditto. | |
| * mc-boot/GmcStream.cc: Ditto. | |
| * mc-boot/Gmcp1.cc: Ditto. | |
| * mc-boot/Gmcp2.cc: Ditto. | |
| * mc-boot/Gmcp3.cc: Ditto. | |
| * mc-boot/Gmcp4.cc: Ditto. | |
| * mc-boot/Gmcp5.cc: Ditto. | |
| * mc-boot/GnameKey.cc: Ditto. | |
| * mc-boot/GsymbolKey.cc: Ditto. | |
| * mc-boot/Gvarargs.cc: Ditto. | |
| * mc-boot/Gwlists.cc: Ditto. | |
| * mc-boot/Gdecl.h: Ditto. | |
| * mc-boot/Gldtoa.h: Ditto. | |
| * mc-boot/Glibc.h: Ditto. | |
| * mc/decl.def (putTypeOpaque): New procedure. | |
| (isTypeOpaque): New procedure function. | |
| * mc/decl.mod (debugOpaque): New constant. | |
| (nodeT): New enumeration field opaquecast. | |
| (node): New record field opaquecastF. | |
| (opaqueCastState): New record. | |
| (opaquecastT): New record. | |
| (typeT): New field isOpaque. | |
| (varT): New field opaqueState. | |
| (arrayT): Ditto. | |
| (varparamT): Ditto. | |
| (paramT): Ditto. | |
| (pointerT): Ditto. | |
| (recordfieldT): Ditto. | |
| (componentrefT): Ditto. | |
| (pointerrefT): Ditto. | |
| (arrayrefT): Ditto. | |
| (procedureT): Ditto. | |
| (proctypeT): Ditto. | |
| (makeType): Initialize field isOpaque. | |
| (makeTypeImp): Initialize field isOpaque. | |
| (putVar): Call initNodeOpaqueCastState. | |
| (putReturnType): Ditto. | |
| (makeProcType): Ditto. | |
| (putProcTypeReturn): Ditto. | |
| (makeVarParameter): Ditto. | |
| (makeNonVarParameter): Ditto. | |
| (makeFuncCall): Ditto. | |
| (putTypeOpaque): New procedure. | |
| (isTypeOpaque): New procedure function. | |
| (doMakeComponentRef): Call initNodeOpaqueCastState. | |
| (makePointerRef): Call initNodeOpaqueCastState. | |
| (doGetFuncType): Call initNodeOpaqueCastState. | |
| (doBinary): Add FALSE parameter to doExprCup. | |
| (doDeRefC): Rewrite. | |
| (doComponentRefC): Call flushOpaque. | |
| (doPointerRefC): Call flushOpaque. | |
| (doArrayRefC): Add const_cast for unbounded array. | |
| (doExprCup): Rewrite. | |
| (doTypeAliasC): Remove. | |
| (isDeclType): New procedure function. | |
| (doEnumerationC): New procedure function. | |
| (doParamTypeEmit): Ditto. | |
| (doParamTypeNameModifier): Ditto. | |
| (initOpaqueCastState): Ditto. | |
| (initNodeOpaqueCastState): Ditto. | |
| (setOpaqueCastState): Ditto. | |
| (setNodeOpaqueVoidStar): Ditto. | |
| (nodeUsesOpaque): Ditto. | |
| (getNodeOpaqueVoidStar): Ditto. | |
| (getOpaqueFlushNecessary): Ditto. | |
| (makeOpaqueCast): Ditto. | |
| (flushOpaque): Ditto. | |
| (castOpaque): Ditto. | |
| (isTypeOpaqueDefImp): Ditto. | |
| (isParamVoidStar): Ditto. | |
| (isRefVoidStar): Ditto. | |
| (isReturnVoidStar): Ditto. | |
| (isVarVoidStar): Ditto. | |
| (initNodeOpaqueState): Ditto. | |
| (assignNodeOpaqueCastState): Ditto. | |
| (assignNodeOpaqueCastFalse): Ditto. | |
| (dumpOpaqueState): Ditto. | |
| (doProcTypeC): Rewrite. | |
| (isDeclInImp): New procedure function. | |
| (doTypeNameModifier): Ditto. | |
| (doTypeC): Emit typedef if enum is declared in this module. | |
| (doCompletePartialProcType): Rewrite. | |
| (outputCompletePartialProcType): New procedure. | |
| (doOpaqueModifier): Ditto. | |
| (doVarC): Ditto. | |
| (doProcedureHeadingC): Add opaque modifier to return type if | |
| necessary. | |
| (doReturnC): Cast opaque type for return if necessary. | |
| (forceCastOpaque): New procedure. | |
| (forceReintCastOpaque): New procedure. | |
| (doUnConstCastUnbounded): New procedure. | |
| (doAssignmentC): Cast opaque for both des and expr if necessary. | |
| (doAdrExprC): Use static_cast for void * casting. | |
| (doFuncVarParam): New procedure. | |
| (doFuncParamC): Rewrite. | |
| (doAdrArgC): Rewrite. | |
| (getFunction): New procedure function. | |
| (stop): Rename to ... | |
| (localstop): ... this. | |
| (dupFunccall): Call assignNodeOpaqueCastState. | |
| (dbg): Rewrite. | |
| (addDone): Rewrite. | |
| (addDoneDef): Do not add opaque types to the doneQ when declared in | |
| the definition module. | |
| * mc/mc.flex (openSource): Return bool. | |
| (_M2_mcflex_init): Correct parameter list. | |
| (_M2_mcflex_fini): Ditto. | |
| * mc/mcComment.h (stdbool.h): Include. | |
| (mcComment_initComment): Change unsigned int to bool. | |
| * mc/mcOptions.mod (handleOption): Disable --extended-opaque | |
| and issue warning. | |
| * mc/mcp1.bnf (DefTypeDeclaration): Call putTypeOpaque. | |
| 2024-06-06 Gaius Mulley <gaiusmod2@gmail.com> | |
| Kewen.Lin <linkw@linux.ibm.com> | |
| * gm2-gcc/m2type.cc (build_m2_short_real_node): Rewrite | |
| to use the default float_type_node. | |
| (build_m2_real_node): Rewrite to use the default | |
| double_type_node. | |
| (build_m2_long_real_node): Rewrite to use the default | |
| long_double_type_node or float128_type_node. | |
| 2024-05-21 Gaius Mulley <gaiusmod2@gmail.com> | |
| * Make-lang.in (MC_EXTENDED_OPAQUE): New definition. | |
| * mc-boot/GDynamicStrings.cc: Rebuild. | |
| * mc-boot/GDynamicStrings.h: Rebuild. | |
| * mc-boot/Galists.cc: Rebuild. | |
| * mc-boot/Galists.h: Rebuild. | |
| * mc-boot/Gdecl.cc: Rebuild. | |
| * mc/alists.def (equalList): New procedure. | |
| * mc/alists.mod (equalList): New procedure implementation. | |
| * mc/decl.mod (group): New type. | |
| (freeGroup): New variable. | |
| (globalGroup): Ditto. | |
| (todoQ): Remove declaration and prefix all occurances with globalGroup^. | |
| (partialQ): Ditto. | |
| (doneQ): Ditto. | |
| (newGroup): New procedure. | |
| (initGroup): Ditto. | |
| (killGroup): Ditto. | |
| (dupGroup): Ditto. | |
| (equalGroup): Ditto. | |
| (topologicallyOut): Rewrite. | |
| 2024-05-21 Sam James <sam@gentoo.org> | |
| * Make-lang.in (m2.install-info): Pass --destdir for dir index. | |
| 2024-05-15 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/115057 | |
| * gm2-libs-iso/TextIO.mod (ReadRestLine): Use ReadChar to | |
| skip unwanted characters as this calls IOChan.Look and updates | |
| the cid result status. A Skip without a Look does not update | |
| the status. Skip always sets read result to allRight. | |
| * gm2-libs-iso/TextUtil.def (SkipSpaces): Improve comments. | |
| (CharAvailable): Improve comments. | |
| * gm2-libs-iso/TextUtil.mod (SkipSpaces): Improve comments. | |
| (CharAvailable): Improve comments. | |
| 2024-05-09 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/115003 | |
| * gm2-compiler/SymbolTable.mod (GetScope): Add UndefinedSym | |
| case clause and return NulSym. | |
| 2024-05-03 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/114929 | |
| * gm2-compiler/M2LangDump.mod (GenQualidentSymString): Add | |
| missing return result into identstr. | |
| * gm2-compiler/M2Quads.mod (ForLoopLastIteratorVariable): New | |
| procedure. | |
| (ForLoopLastIteratorConstant): Ditto. | |
| (ForLoopLastIterator): Ditto. | |
| (BuildForToByDo): Remove LastIterator calculation and call | |
| ForLoopLastIterator instead. | |
| (FinalValue): Replace with ... | |
| (LastIterator): ... this. | |
| 2024-05-02 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/113836 | |
| * gm2-compiler/M2AsmUtil.def: Remove export qualified and | |
| unused import. | |
| * gm2-compiler/M2LangDump.mod (AddRuleTextDump): New procedure. | |
| (AddRuleScopeQualidentDump): Add warning check against unmatched | |
| rule. | |
| (GenQualidentSymString): New procedure function. | |
| (IdentQualidentMatch): New procedure function. | |
| (IsRuleFilenameMatch): New procedure function. | |
| (CheckRuleMatch): New procedure function. | |
| (AddRuleFilenameDump): New procedure function. | |
| * gm2-gcc/m2misc.cc (m2misc_warning_m2_dump_filter): New function. | |
| * gm2-gcc/m2misc.def (warning_m2_dump_filter): New procedure. | |
| * gm2-gcc/m2misc.h (m2misc_warning_m2_dump_filter): New prototype. | |
| * gm2-gcc/m2pp.cc (VERBOSE_TYPE_DESC): New define. | |
| (m2pp_identifier): Define out verbose type info. | |
| (m2pp_constructor): Define out verbose type info. | |
| (m2pp_assignment): Define out verbose type info. | |
| * gm2-lang.cc (ENABLE_M2DUMP_ALL): Remove. | |
| * lang.opt (fm2-dump): Add. | |
| (fm2-dump-decl=): Add. | |
| (fm2-dump-gimple=): Add. | |
| (fm2-dump-quad=): Add. | |
| (fm2-dump-filter=): Add. | |
| 2024-04-25 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/114836 | |
| * gm2-compiler/M2Range.mod (FoldTypeAssign): Avoid error | |
| string concatenation. | |
| 2024-04-25 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-compiler/M2FileName.def (CalculateFileName): Remove | |
| quoted string in comment. | |
| * gm2-compiler/M2Range.mod (FoldTypeParam): Generate dialect | |
| specific parameter incompatibility error message. | |
| 2024-04-23 Jakub Jelinek <jakub@redhat.com> | |
| * lang.opt (fdef=, fmod=): Spelling fix: recognise -> recognize. | |
| 2024-04-23 Jakub Jelinek <jakub@redhat.com> | |
| * lang.opt (fuse-list=): Spelling fix: finalializations -> | |
| finalizations. | |
| 2024-04-22 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/114811 | |
| * gm2-compiler/M2GenGCC.mod (FoldBinarySet): Add condition | |
| checking to ensure op2 and op3 are fully resolved before | |
| type checking is performed. | |
| 2024-04-22 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/114807 | |
| * gm2-compiler/M2Check.mod (checkUnbounded): Remove unused | |
| local variables. | |
| (constCheckMeta): Include check for IsReallyPointer in the | |
| failure case. | |
| * gm2-compiler/M2Quads.mod (MoveWithMode): Remove CopyConstString. | |
| * gm2-compiler/SymbolTable.def (IsHiddenReallyPointer): Export. | |
| * gm2-compiler/SymbolTable.mod (SkipHiddenType): Remove. | |
| (IsReallyPointer): Include IsHiddenReallyPointer test. | |
| 2024-04-20 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/112893 | |
| * gm2-compiler/M2Check.mod (GetProcedureProcType): Import. | |
| (getType): Return value using GetProcedureProcType if sym is a | |
| procedure. | |
| * gm2-compiler/M2Range.mod (FoldTypeExpr): Remove quad if | |
| expression is type compatible. | |
| * gm2-compiler/SymbolTable.def (GetProcedureProcType): New | |
| procedure function. | |
| * gm2-compiler/SymbolTable.mod (Procedure): Add ProcedureType. | |
| (MakeProcedure): Initialize ProcedureType. | |
| (PutParam): Call AddProcedureProcTypeParam. | |
| (PutVarParam): Call AddProcedureProcTypeParam. | |
| (AddProcedureProcTypeParam): New procedure. | |
| (GetProcedureProcType): New procedure function. | |
| 2024-04-16 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/114745 | |
| * gm2-compiler/M2Code.mod (DumpLangDecl): Replace with ... | |
| (GetDumpDecl): ... this. | |
| (DumpLangGimple): Replace with ... | |
| (GetDumpGimple): ... this. | |
| * gm2-compiler/M2GenGCC.mod: | |
| * gm2-compiler/M2LangDump.mod (GetDumpLangQuadFilename): Replace with ... | |
| (GetDumpQuadFilename): ... this. | |
| (GetDumpLangDeclFilename): Replace with ... | |
| (GetDumpDeclFilename): ... this. | |
| (GetDumpLangGimpleFilename): Replace with ... | |
| (GetDumpGimpleFilename): ... this. | |
| * gm2-compiler/M2Options.def (GetDumpLangDeclFilename): New | |
| procedure function. | |
| (GetDumpDeclFilename): Ditto. | |
| (SetDumpLangDeclFilename): New procedure. | |
| (SetDumpDeclFilename): Ditto. | |
| (GetDumpLangQuadFilename): New procedure function. | |
| (GetDumpQuadFilename): Ditto | |
| (SetDumpLangQuadFilename): New procedure. | |
| (SetDumpQuadFilename): Ditto. | |
| (GetDumpLangGimpleFilename): New procedure function. | |
| (GetDumpGimpleFilename): Ditto. | |
| (SetDumpLangGimpleFilename): New procedure. | |
| (SetDumpGimpleFilename): Ditto. | |
| (GetDumpLangGimple): New procedure function. | |
| (SetM2Dump): New procedure. | |
| (GetDumpGimple): New procedure function. | |
| (GetDumpQuad): Ditto. | |
| (GetDumpDecl): Ditto. | |
| * gm2-compiler/M2Options.mod (DumpLangDeclFilename): Remove. | |
| (DumpLangQuadFilename): Ditto. | |
| (DumpLangGimpleFilename): Ditto. | |
| (DumpDeclFilename): New variable. | |
| (DumpQuadFilename): Ditto. | |
| (DumpGimpleFilename): Ditto. | |
| (DebugTraceTree): New variable. | |
| (SetQuadDebugging): Rewrite. | |
| (GetDumpLangDeclFilename): Replace with ... | |
| (GetDumpDeclFilename): ... this. | |
| (SetDumpLangQuadFilename): Replace with ... | |
| (SetDumpQuadFilename): ... this. | |
| (GetDumpLangGimpleFilename): Replace with ... | |
| (GetDumpGimpleFilename): ... this. | |
| (SetDumpLangGimpleFilename): Replace with ... | |
| (SetDumpGimpleFilename): ... this. | |
| (GetDumpLangGimple): Remove. | |
| (MatchDump): New procedure function. | |
| (SetM2Dump): New procedure. | |
| (GetDumpGimple): New procedure function. | |
| (GetDumpQuad): Ditto. | |
| (GetDumpDecl): Ditto. | |
| (GetDumpLangGimple): Ditto. | |
| * gm2-compiler/M2Quads.mod (BreakAtQuad): Assigned to 140. | |
| (BuildTypeCoercion): Add ConstExpr parameter. | |
| Check for const parameter in a const expression. | |
| Create a constant temporary if in a const expression. | |
| (BuildCastFunction): Pass ConstExpr to BuildTypeCoercion. | |
| (BuildFunctionCall): Pass ConstExpr to BuildTypeCoercion. | |
| * gm2-compiler/PCSymBuild.mod (buildConstFunction): Test for Cast | |
| and call InitConvert. | |
| (ErrorConstFunction): Add CAST to the error message. | |
| * gm2-compiler/SymbolTable.mod (GetConstStringContent): Remove | |
| unused procedure. | |
| * gm2-gcc/m2decl.cc (m2decl_DeclareKnownConstant): Copy value | |
| and change type of value. | |
| * gm2-gcc/m2options.h (M2Options_GetDumpLangDeclFilename): Remove. | |
| (M2Options_SetDumpLangDeclFilename): Ditto. | |
| (M2Options_GetDumpLangQuadFilename): Ditto. | |
| (M2Options_SetDumpLangQuadFilename): Ditto. | |
| (M2Options_GetDumpLangGimpleFilename): Ditto. | |
| (M2Options_SetDumpLangGimpleFilename): Ditto. | |
| (M2Options_GetDumpLangGimple): Ditto. | |
| (M2Options_GetDumpDeclFilename): New function. | |
| (M2Options_SetDumpDeclFilename): Ditto. | |
| (M2Options_GetDumpQuadFilename): Ditto. | |
| (M2Options_SetDumpQuadFilename): Ditto. | |
| (M2Options_GetDumpGimpleFilename): Ditto. | |
| (M2Options_SetDumpGimpleFilename): Ditto. | |
| (M2Options_SetM2Dump): Ditto. | |
| (M2Options_GetDumpGimple): Ditto. | |
| * gm2-gcc/m2pp.cc (GM2): New define. | |
| (m2pp_type_lowlevel): Remove linefeed. | |
| (m2pp_identifier): Add type description for const. | |
| (m2pp_assignment): Display lhs/rhs types. | |
| (m2pp_dump_gimple): Replace GetDumpLangGimple with GetDumpGimple. | |
| * gm2-lang.cc (ENABLE_QUAD_DUMP_ALL): Remove. | |
| (ENABLE_M2DUMP_ALL): New define. | |
| (gm2_langhook_handle_option): Remove commented options | |
| OPT_fdump_lang_all, OPT_fdump_lang_decl_, OPT_fdump_lang_gimple, | |
| OPT_fdump_lang_gimple_, OPT_fdump_lang_quad and | |
| OPT_fdump_lang_quad_. | |
| Add commented options OPT_fm2_dump_, OPT_fm2_dump_decl_, | |
| OPT_fm2_dump_gimple_ and OPT_fm2_dump_quad_. | |
| 2024-04-09 Gaius Mulley <gaiusmod2@gmail.com> | |
| * tools-src/makeSystem: Invoke ${COMPILER} once and adjust | |
| the echo string to expand the shell variables with -wrapper | |
| gdb, --args. | |
| 2024-04-09 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/114648 | |
| * gm2-compiler/M2Options.mod (LineDirectives): Initially | |
| set to true. | |
| 2024-04-06 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/114617 | |
| * gm2-compiler/M2GenGCC.mod (CodeStatememt): Add quad trace. | |
| (ResolveConstantExpressions): Add parameter p to FoldIfLess, | |
| FoldIfGre, FoldIfLessEqu, FoldIfGreEqu, FoldIfEqu, FoldIfNotEqu, | |
| FoldIfIn and FoldIfNotIn. | |
| (CodeInline): Add constExpr variable and pass it to GetQuadOtok. | |
| (CodeReturnValue): Ditto. | |
| (CodeParam): Ditto. | |
| (FoldStringLength): Ditto. | |
| (FoldStringConvertM2nul): Ditto. | |
| (FoldStringConvertCnul): Ditto. | |
| (DeclaredOperandsBecomes): Ditto. | |
| (TypeCheckBecomes): Ditto. | |
| (PerformFoldBecomes): Ditto. | |
| (CodeBecomes): Ditto. | |
| (CheckElementSetTypes): Ditto. | |
| (CodeBinarySet): Ditto. | |
| (PerformCodeIfLess): Ditto. | |
| (PerformCodeIfGre): Ditto. | |
| (PerformCodeIfLessEqu): Ditto. | |
| (PerformCodeIfGreEqu): Ditto. | |
| (PerformCodeIfEqu): Ditto. | |
| (PerformCodeIfNotEqu): Ditto. | |
| (IsValidExpressionRelOp): Ditto. | |
| (PerformCodeIfIn): Ditto. | |
| (PerformCodeIfNotIn): Ditto. | |
| (CodeXIndr): Ditto. | |
| (QuadCondition): New procedure function. | |
| (IsBooleanRelOpPattern): Ditto. | |
| (FoldBooleanRelopPattern): Ditto. | |
| (FoldIfGre): Check for boolean relop constant expression and | |
| add parameter p. | |
| (FoldIfLessEqu): Ditto. | |
| (FoldIfIn): Ditto. | |
| (FoldIfEqu): Ditto. | |
| (FoldIfNotIn): Ditto. | |
| (FoldIfGreEqu): New procedure. | |
| (FoldIfNotEqu): Ditto. | |
| * gm2-compiler/M2Optimize.mod (ReduceBranch): Add constExpr | |
| variable and pass it to GetQuadOtok. | |
| * gm2-compiler/M2Quads.def (IsBecomes): New procedure function. | |
| (IsDummy): Ditto. | |
| (IsQuadConstExpr): Ditto. | |
| (SetQuadConstExpr): Ditto. | |
| (GetQuadDest): New procedure. | |
| (GetQuadOp1): New procedure. | |
| (GetQuadOp2): New procedure. | |
| (GetQuadOp3): New procedure. | |
| (GetQuadOtok): New procedure. | |
| (GetQuadOTypetok): New procedure. | |
| (PutQuadOtok): New procedure. | |
| (IsInConstParameters): New procedure function. | |
| * gm2-compiler/M2Quads.mod (IsBecomes): New procedure function. | |
| (IsDummy): Ditto. | |
| (IsQuadConstExpr): Ditto. | |
| (SetQuadConstExpr): Ditto. | |
| (GetQuadDest): New procedure. | |
| (GetQuadOp1): New procedure. | |
| (GetQuadOp2): New procedure. | |
| (GetQuadOp3): New procedure. | |
| (GetQuadOtok): New procedure. | |
| (GetQuadOTypetok): New procedure. | |
| (PutQuadOtok): New procedure. | |
| (IsInConstParameters): New procedure function. | |
| (ConstStack): Remove to ... | |
| (ConstExprStack): ... this. | |
| (ConstParamStack): New variable and initialize. | |
| (QuadFrame): New field ConstExpr. | |
| (GetQuadOtok): Add parameter constExpr and assign. | |
| (PutQuadOtok): Add constExpr parameter and assign. | |
| (PutQuadOType): Ditto. | |
| (GetQuadOTypetok): Ditto. | |
| (EraseQuad): Assign ConstExpr to FALSE. | |
| (FoldSubrange): Set ConstExpr to FALSE in BecomesOp. | |
| (PushInConstParameters): New procedure. | |
| (PopInConstParameters): New procedure. | |
| (IsInConstParameters): New procedure function. | |
| * gm2-compiler/M2SymInit.mod (IssueConditional): Add | |
| constExpr boolean variable. | |
| (CheckReadBeforeInitQuad): Ditto. | |
| (trashParam): Ditto. | |
| * gm2-compiler/P3Build.bnf (ConstExpression): Call | |
| PushInConstExpression and PopInConstExpression. | |
| (ConstSetOrQualidentOrFunction): Call | |
| PushInConstParameters and PopInConstParameters. | |
| * gm2-compiler/PCBuild.bnf (ConstExpression): Call | |
| PushInConstExpression and PopInConstExpression. | |
| * gm2-compiler/PHBuild.bnf: Ditto | |
| * gm2-gcc/m2expr.cc (m2expr_BuildCondIfExpression): New | |
| function. | |
| * gm2-gcc/m2expr.def (BuildCondIfExpression): New prototype. | |
| * gm2-gcc/m2expr.h (m2expr_BuildCondIfExpression): New function. | |
| 2024-04-05 Christophe Lyon <christophe.lyon@linaro.org> | |
| * Make-lang.in (m2.install-dvi): New rule. | |
| 2024-04-02 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/114565 | |
| * gm2-compiler/M2GenGCC.mod (CodeStatement): Test | |
| GetDebugTraceQuad before calling DisplayQuad. | |
| * gm2-compiler/M2LexBuf.mod (NumberIO): Import CardToStr. | |
| (GetToken): Test GetDebugTraceToken before writing the | |
| token number or token line. | |
| * gm2-compiler/M2Options.def (SetDebugTraceQuad): Rename to | |
| (SetM2DebugTraceFilter): ...this. | |
| (SetDebugTraceAPI): Remove. | |
| (GetDebugTraceQuad): New procedure function. | |
| (GetDebugTraceTree): Ditto. | |
| (GetDebugTraceToken): Ditto. | |
| (GetDebugTraceLine): Ditto. | |
| (GetDebugFunctionLineNumbers): Ditto. | |
| * gm2-compiler/M2Options.mod (DebugFunctionLineNumbers): New | |
| boolean variable. | |
| (DebugTraceQuad): Ditto. | |
| (DebugTraceTree): Ditto. | |
| (DebugTraceLine): Ditto. | |
| (DebugTraceToken): Ditto. | |
| (errors1): New procedure. | |
| (SetDebugTraceQuad): Remove. | |
| (SetM2DebugTraceFilter): New procedure implemented. | |
| (SetM2DebugTrace): Ditto. | |
| (GetDebugTraceQuad): Ditto. | |
| (GetDebugTraceToken ): Ditto. | |
| (GetDebugTraceLine): Ditto. | |
| (SetDebugTraceLine): Remove. | |
| * gm2-compiler/M2Quads.mod (GenQuadOTrash): Test | |
| GetDebugTraceQuad and call DisplayQuad. | |
| (GenQuadOTypetok): Ditto. | |
| * gm2-compiler/SymbolTable.mod: Replace | |
| DebugFunctionLineNumbers with GetDebugFunctionLineNumbers. | |
| * gm2-gcc/init.cc (_M2_M2LangDump_init): Add prototype. | |
| (init_PerCompilationInit): Add call. | |
| * gm2-gcc/m2misc.cc (m2misc_cerror): New function. | |
| (m2misc_error): Ditto. | |
| * gm2-gcc/m2misc.def (error): New procedure. | |
| (cerror): Ditto. | |
| * gm2-gcc/m2misc.h (m2misc_cerror): New prototype. | |
| (m2misc_error): Ditto. | |
| * gm2-gcc/m2options.h (M2Options_SetDebugTraceQuad): New | |
| prototype. | |
| (M2Options_SetDebugTraceAPI): Remove. | |
| (M2Options_GetDebugTraceToken): New prototype. | |
| (M2Options_GetDebugTraceLine): Ditto. | |
| (M2Options_SetDebugFunctionLineNumbers): Ditto. | |
| (M2Options_GetDebugFunctionLineNumbers): Ditto. | |
| (M2Options_SetM2DebugTraceFilter): Ditto. | |
| * gm2-lang.cc (gm2_langhook_init_options): Remove | |
| OPT_fdebug_trace_quad case. | |
| Remove OPT_fdebug_trace_api case. | |
| Add OPT_fm2_debug_trace_ case. | |
| * lang.opt (fm2-debug-trace): New option. | |
| (fdebug-trace-api): Remove. | |
| (fdebug-trace-quad): Remove. | |
| * m2.flex (m2flex_M2Error): Check s for NULL. | |
| (skipnewline): New function. | |
| (consumeLine): Call traceline. | |
| 2024-04-01 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/114548 | |
| * gm2-compiler/M2Quads.mod (ConvertToAddress): Pass | |
| procedure, false parameters to BuildConvertFunction. | |
| (PushOne): Pass procedure, true parameters to | |
| BuildConvertFunction. | |
| Remove usused parameter internal. | |
| (BuildPseudoBy): Remove parameter to PushOne. | |
| (BuildIncProcedure): Ditto. | |
| (BuildDecProcedure): Ditto. | |
| (BuildFunctionCall): Add ConstExpr parameter to | |
| BuildPseudoFunctionCall. | |
| (BuildConstFunctionCall): Add procedure and true to | |
| BuildConvertFunction. | |
| (BuildPseudoFunctionCall): Add ConstExpr parameter. | |
| Pass ProcSym and ConstExpr to BuildLengthFunction, | |
| BuildConvertFunction, BuildOddFunction, BuildAbsFunction, | |
| BuildCapFunction, BuildValFunction, BuildChrFunction, | |
| BuildOrdFunction, BuildIntFunction, BuildTruncFunction, | |
| BuildFloatFunction, BuildAddAdrFunction, BuildSubAdrFunction, | |
| BuildDifAdrFunction, BuildCastFunction, BuildReFunction, | |
| BuildImFunction and BuildCmplxFunction. | |
| (BuildAddAdrFunction): Add ProcSym, ConstExpr parameters and | |
| check for constant parameters. | |
| (BuildSubAdrFunction): Ditto. | |
| (BuildDifAdrFunction): Ditto. | |
| (ConstExprError): Ditto. | |
| (BuildLengthFunction): Ditto. | |
| (BuildOddFunction): Ditto. | |
| (BuildAbsFunction): Ditto. | |
| (BuildCapFunction): Ditto. | |
| (BuildChrFunction): Ditto. | |
| (BuildOrdFunction): Ditto. | |
| (BuildIntFunction): Ditto. | |
| (BuildValFunction): Ditto. | |
| (BuildCastFunction): Ditto. | |
| (BuildConvertFunction): Ditto. | |
| (BuildTruncFunction): Ditto. | |
| (BuildFloatFunction): Ditto. | |
| (BuildReFunction): Ditto. | |
| (BuildImFunction): Ditto. | |
| (BuildCmplxFunction): Ditto. | |
| 2024-03-31 Christophe Lyon <christophe.lyon@linaro.org> | |
| * Make-lang.in (m2.install-info): Fix rule. | |
| 2024-03-31 Christophe Lyon <christophe.lyon@linaro.org> | |
| * Make-lang.in (install-html): New rule. | |
| 2024-03-28 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/114520 | |
| * gm2-compiler/P0SyntaxCheck.bnf (DetectImport): New | |
| procedure. | |
| (EnableImportCheck): New boolean. | |
| (Expect): Call DetectImport. | |
| (Export): Set EnableImportCheck TRUE before ';' and FALSE | |
| afterwards. | |
| 2024-03-28 Gaius Mulley <(no_default)> | |
| PR modula2/114517 | |
| * gm2-compiler/M2Options.def (SetCpp): Add comment. | |
| (GetCpp): Move after SetCpp. | |
| (GetLineDirectives): New procedure function. | |
| * gm2-compiler/M2Options.mod (GetLineDirectives): New | |
| procedure function. | |
| * gm2-gcc/m2options.h (M2Options_GetLineDirectives): New | |
| prototype. | |
| * gm2-lang.cc (gm2_langhook_init_options): OPT_fcpp only | |
| assert if !value. | |
| * m2.flex: Test GetLineDirectives before changing to LINE0 | |
| state. | |
| 2024-03-28 Gaius Mulley <gaiusmod2@gmail.com> | |
| * target-independent/m2/Builtins.texi: Rebuilt. | |
| * target-independent/m2/gm2-libs.texi: Rebuilt. | |
| 2024-03-26 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/114478 | |
| * gm2-gcc/m2builtins.cc (struct builtin_macro_definition): New struct. | |
| (lookup_builtin_macro): New function. | |
| (m2builtins_BuildBuiltinTree): Rewrite to lookup builtin function | |
| and builtin macro. | |
| (lookup_builtin_function): New function. | |
| (define_builtin): Rename parameter type to prototype push macro | |
| definition to builtin_macros vector. | |
| (define_builtin_ext): New function. | |
| (define_builtin_math): New function. | |
| (m2builtins_init): Add isgreater, isless, isgreaterequal, | |
| islessequal, islessgreater, isunordered, isnormal to macro definitions. | |
| * gm2-libs/Builtins.def (isgreater): New procedure function. | |
| (isgreaterf): Ditto. | |
| (isgreaterl): Ditto. | |
| (isgreaterequal): Ditto. | |
| (isgreaterequalf): Ditto. | |
| (isgreaterequall): Ditto. | |
| (isless): Ditto. | |
| (islessf): Ditto. | |
| (islessl): Ditto. | |
| (islessequal): Ditto. | |
| (islessequalf): Ditto. | |
| (islessequall): Ditto. | |
| (islessgreater): Ditto. | |
| (islessgreaterf): Ditto. | |
| (islessgreaterl): Ditto. | |
| (isunordered): Ditto. | |
| (isunorderedf): Ditto. | |
| (isunorderedl): Ditto. | |
| (iseqsig): Ditto. | |
| (iseqsigf): Ditto. | |
| (iseqsigl): Ditto. | |
| (isnormal): Ditto. | |
| (isnormalf): Ditto. | |
| (isnormall): Ditto. | |
| (isinf_sign): Ditto. | |
| (isinf_signf): Ditto. | |
| (isinf_signl): Ditto. | |
| * gm2-libs/Builtins.mod (isgreater): New procedure function. | |
| (isgreaterf): Ditto. | |
| (isgreaterl): Ditto. | |
| (isgreaterequal): Ditto. | |
| (isgreaterequalf): Ditto. | |
| (isgreaterequall): Ditto. | |
| (isless): Ditto. | |
| (islessf): Ditto. | |
| (islessl): Ditto. | |
| (islessequal): Ditto. | |
| (islessequalf): Ditto. | |
| (islessequall): Ditto. | |
| (islessgreater): Ditto. | |
| (islessgreaterf): Ditto. | |
| (islessgreaterl): Ditto. | |
| (isunordered): Ditto. | |
| (isunorderedf): Ditto. | |
| (isunorderedl): Ditto. | |
| (iseqsig): Ditto. | |
| (iseqsigf): Ditto. | |
| (iseqsigl): Ditto. | |
| (isnormal): Ditto. | |
| (isnormalf): Ditto. | |
| (isnormall): Ditto. | |
| (isinf_sign): Ditto. | |
| (isinf_signf): Ditto. | |
| (isinf_signl): Ditto. | |
| 2024-03-25 Gaius Mulley <gaiusmod2@gmail.com> | |
| * Make-lang.in (doc/m2.pdf): Add line break. | |
| * target-independent/m2/Builtins.texi: Rebuilt. | |
| * target-independent/m2/gm2-libs.texi: Rebuilt. | |
| 2024-03-23 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/114444 | |
| * gm2-compiler/M2Quads.mod (BuildTruncFunction): Correct | |
| error format specifier. | |
| (BuildFloatFunction): Correct error format specifier. | |
| 2024-03-23 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/114443 | |
| * m2.flex: Call AddTokCharStar with a stringtok if | |
| end of line is reached without a closing quote. | |
| 2024-03-22 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/114422 | |
| * gm2-compiler/M2Quads.mod (BuildConstructor): Add escape | |
| character. | |
| 2024-03-21 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/113836 | |
| * Make-lang.in (GM2_C_OBJS): Add m2/gm2-gcc/m2pp.o. | |
| (m2/m2pp.o): Remove rule. | |
| (GM2-COMP-BOOT-DEFS): Add M2LangDump.def. | |
| (GM2-COMP-BOOT-MODS): Add M2LangDump.mod. | |
| (GM2-GCC-DEFS): Add M2LangDump.def. | |
| (GM2-GCC-MODS): Add M2LangDump.mod. | |
| * gm2-compiler/M2CaseList.mod (WriteCase): Rewrite. | |
| * gm2-compiler/M2Code.mod (DoModuleDeclare): Call | |
| DumpFilteredResolver depending upon DumpLangDecl. | |
| (DoCodeBlock): Call CreateDumpGimple depending upon | |
| DumpLangGimple. | |
| (Code): Replace DisplayQuadList blocks with DumpQuadruples. | |
| (DisplayQuadsInScope): Remove. | |
| (DisplayQuadNumbers): Remove. | |
| (CodeBlock): Rewrite. | |
| * gm2-compiler/M2GCCDeclare.def (IncludeDumpSymbol): New procedure. | |
| (DumpFilteredResolver): New procedure. | |
| (DumpFilteredDefinitive): New procedure. | |
| * gm2-compiler/M2GCCDeclare.mod (IncludeDumpSymbol): New procedure. | |
| (DumpFilteredResolver): New procedure. | |
| (DumpFilteredDefinitive): New procedure. | |
| (doInclude): Rewrite to use GetDumpFile. | |
| (WatchIncludeList): Remove fixed debugging value. | |
| (doExclude): Rewrite to use GetDumpFile. | |
| (DeclareTypesConstantsProceduresInRange): Remove fixed debugging | |
| values. | |
| (PreAddModGcc): Rename parameter t as tree. | |
| (IncludeGetNth): Rewrite to use GetDumpFile. | |
| (IncludeType): Ditto. | |
| (IncludeSubscript): Ditto. | |
| (PrintLocalSymbol): Ditto. | |
| (PrintLocalSymbols): Ditto. | |
| (IncludeGetVarient): Ditto. | |
| (PrintDeclared): Ditto. | |
| (PrintAlignment): Ditto. | |
| (PrintDecl): Ditto. | |
| (PrintScope): Ditto. | |
| (PrintProcedure): Ditto. | |
| (PrintSym): Ditto. | |
| (PrintSymbol): Ditto. | |
| (PrintTerse): Ditto. | |
| * gm2-compiler/M2Options.def (GetDumpLangDeclFilename): New | |
| procedure function. | |
| (SetDumpLangDeclFilename): New procedure. | |
| (GetDumpLangQuadFilename): New procedure function. | |
| (SetDumpLangQuadFilename): New procedure. | |
| (GetDumpLangGimpleFilename): New procedure function. | |
| (SetDumpLangGimpleFilename): New procedure. | |
| (SetM2DumpFilter): New procedure. | |
| (GetM2DumpFilter): New procedure function. | |
| (GetDumpLangGimple): New procedure function. | |
| * gm2-compiler/M2Options.mod (GetDumpLangDeclFilename): New | |
| procedure function. | |
| (SetDumpLangDeclFilename): New procedure. | |
| (GetDumpLangQuadFilename): New procedure function. | |
| (SetDumpLangQuadFilename): New procedure. | |
| (GetDumpLangGimpleFilename): New procedure function. | |
| (SetDumpLangGimpleFilename): New procedure. | |
| (SetM2DumpFilter): New procedure. | |
| (GetM2DumpFilter): New procedure function. | |
| (GetDumpLangGimple): New procedure function. | |
| * gm2-compiler/M2Quads.def (DumpQuadruples): New procedure. | |
| * gm2-compiler/M2Quads.mod (DumpUntil): New procedure. | |
| (GetCtorInit): New procedure function. | |
| (GetCtorFini): New procedure function. | |
| (DumpQuadrupleFilter): New procedure function. | |
| (DumpQuadrupleAll): New procedure. | |
| (DisplayQuadList): Remove procedure. | |
| (DumpQuadruples): New procedure. | |
| (DisplayQuadRange): Rewrite. | |
| (DisplayQuad): Ditto. | |
| (DisplayProcedureAttributes): Ditto. | |
| (WriteOperator): Ditto. | |
| (WriteMode): Ditto. | |
| * gm2-compiler/M2Scope.mod (ForeachScopeBlockDo2): Replace | |
| DisplayQuadruples with TraceQuadruples. | |
| (ForeachScopeBlockDo3): Replace DisplayQuadruples with | |
| TraceQuadruples. | |
| * gm2-compiler/SymbolConversion.def (Gcc2Mod): New procedure function. | |
| * gm2-compiler/SymbolConversion.mod: New procedure function. | |
| * gm2-gcc/m2misc.cc (m2misc_DebugTree): New function. | |
| (m2misc_DebugTreeChain): New function. | |
| * gm2-gcc/m2options.h (M2Options_GetDumpLangDeclFilename): New | |
| prototype. | |
| (M2Options_SetDumpLangDeclFilename): New prototype. | |
| (M2Options_GetDumpLangQuadFilename): New prototype. | |
| (M2Options_SetDumpLangQuadFilename): New prototype. | |
| (M2Options_GetDumpLangGimpleFilename): New prototype. | |
| (M2Options_SetDumpLangGimpleFilename): New prototype. | |
| (M2Options_GetDumpLangGimple): New prototype. | |
| (M2Options_SetM2DumpFilter): New prototype. | |
| (M2Options_GetM2DumpFilter): New prototype. | |
| * m2pp.cc: Move to... | |
| * gm2-gcc/m2pp.cc: ...here. | |
| * m2pp.h: Move to... | |
| * gm2-gcc/m2pp.h: ...here. | |
| * gm2-gcc/m2statement.cc (m2statement_BuildEndFunctionCode): Call | |
| m2pp_dump_gimple. | |
| * gm2-lang.cc (ENABLE_QUAD_DUMP_ALL): New define. | |
| (gm2_langhook_init_options): Add switch cases for proposed new | |
| command line options. | |
| * gm2-libs/DynamicStrings.def (ReverseIndex): New procedure | |
| function. | |
| * gm2-libs/DynamicStrings.mod: New procedure function. | |
| * gm2-compiler/M2LangDump.def: New file. | |
| * gm2-compiler/M2LangDump.mod: New file. | |
| * gm2-gcc/m2langdump.h: New file. | |
| * gm2-gcc/m2pp.def: New file. | |
| 2024-03-21 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/114418 | |
| * gm2-compiler/PCSymBuild.mod (PushConstFunctionType): Check | |
| func against NulSym and issue an error. | |
| 2024-03-18 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/114380 | |
| * gm2-compiler/SymbolTable.mod (GetLowestType): Do not | |
| skip over a set type, but return sym. | |
| 2024-03-17 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/114296 | |
| * gm2-compiler/M2ALU.mod (ElementsSolved): Add tokenno parameter. | |
| Add constant checks and generate error messages. | |
| (EvalSetValues): Pass tokenno parameter to ElementsSolved. | |
| * gm2-compiler/M2LexBuf.mod (stop): New procedure. | |
| (MakeVirtualTok): Call stop if caret = BadTokenNo. | |
| * gm2-compiler/M2Quads.def (BuildNulExpression): Add tokpos | |
| parameter. | |
| (BuildSetStart): Ditto. | |
| (BuildEmptySet): Ditto. | |
| (BuildConstructorEnd): Add startpos parameter. | |
| (BuildTypeForConstructor): Add tokpos parameter. | |
| * gm2-compiler/M2Quads.mod (BuildNulExpression): Add tokpos | |
| parameter and push tokpos to the quad stack. | |
| (BuildSetStart): Add tokpos parameter and push tokpos. | |
| (BuildSetEnd): Rewrite. | |
| (BuildEmptySet): Add tokpos parameter and push tokpos with | |
| the set type. | |
| (BuildConstructorStart): Pop typepos. | |
| (BuildConstructorEnd): Add startpos parameter. | |
| Create valtok from startpos and cbratokpos. | |
| (BuildTypeForConstructor): Add tokpos parameter. | |
| * gm2-compiler/M2Range.def (InitAssignmentRangeCheck): Rename | |
| d to des and e to expr. | |
| Add destok and exprtok parameters. | |
| * gm2-compiler/M2Range.mod (InitAssignmentRangeCheck): Rename | |
| d to des and e to expr. | |
| Add destok and exprtok parameters. | |
| Save destok and exprtok into range record. | |
| (FoldAssignment): Pass exprtok to TryDeclareConstant. | |
| * gm2-compiler/P3Build.bnf (ComponentValue): Rewrite. | |
| (Constructor): Rewrite. | |
| (ConstSetOrQualidentOrFunction): Rewrite. | |
| (SetOrQualidentOrFunction): Rewrite. | |
| * gm2-compiler/PCBuild.bnf (ConstSetOrQualidentOrFunction): Rewrite. | |
| (SetOrQualidentOrFunction): Rewrite. | |
| * gm2-compiler/PHBuild.bnf (Constructor): Rewrite. | |
| (ConstSetOrQualidentOrFunction): Rewrite. | |
| 2024-03-14 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/114294 | |
| * gm2-compiler/M2Quads.mod (BuildConstHighFromSym): | |
| Call PutConst to assign the type Cardinal in the result | |
| constant. | |
| 2024-03-14 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/114333 | |
| * gm2-compiler/M2GenGCC.mod (CodeStatement): Remove op1, op2 and | |
| op3 parameters to CodeIfLess, CodeIfLessEqu, CodeIfGreEqu, CodeIfGre, | |
| CodeIfIn, CodeIfNotIn. | |
| (CodeIfLess): Rewrite. | |
| (PerformCodeIfLess): New procedure. | |
| (CodeIfLess): Rewrite. | |
| (PerformCodeIfLess): New procedure. | |
| (CodeIfLessEqu): Rewrite. | |
| (PerformCodeIfLessEqu): New procedure. | |
| (CodeIfGreEqu): Rewrite. | |
| (PerformCodeIfGreEqu): New procedure. | |
| (CodeIfGre): Rewrite. | |
| (PerformCodeIfGre): New procedure. | |
| (CodeIfIn): Rewrite. | |
| (PerformCodeIfIn): New procedure. | |
| (CodeIfNotIn): Rewrite. | |
| (PerformCodeIfNotIn): New procedure. | |
| 2024-03-14 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/114333 | |
| * gm2-compiler/M2Check.mod (checkUnbounded): New procedure | |
| function. | |
| (checkArrayTypeEquivalence): Extend checking to cover unbounded | |
| arrays, arrays and constants. | |
| (IsTyped): Simplified the expression and corrected a test for | |
| IsConstructor. | |
| (checkTypeKindViolation): New procedure function. | |
| (doCheckPair): Call checkTypeKindViolation. | |
| * gm2-compiler/M2GenGCC.mod (CodeStatement): Remove parameters | |
| to CodeEqu and CodeNotEqu. | |
| (PerformCodeIfEqu): New procedure. | |
| (CodeIfEqu): Rewrite. | |
| (PerformCodeIfNotEqu): New procedure. | |
| (CodeIfNotEqu): Rewrite. | |
| * gm2-compiler/M2Quads.mod (BuildRelOpFromBoolean): Correct | |
| comment. | |
| 2024-03-11 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/114295 | |
| * gm2-compiler/M2Batch.mod (MakeProgramSource): Call PutDeclared | |
| if the module is known. | |
| (MakeDefinitionSource): Ditto. | |
| (MakeImplementationSource): Ditto. | |
| * gm2-compiler/M2Comp.mod (ExamineHeader): New procedure. | |
| (ExamineCompilationUnit): Rewrite. | |
| (PeepInto): Rewrite. | |
| * gm2-compiler/M2Error.mod (NewError): Remove default call to | |
| GetTokenNo. | |
| * gm2-compiler/M2Quads.mod (callRequestDependant): Push tokno with | |
| Adr. | |
| (BuildStringAdrParam): Ditto. | |
| (doBuildBinaryOp): Push OperatorPos on the bool stack. | |
| (BuildRelOp): Ditto. | |
| * gm2-compiler/P2Build.bnf (SetType): Pass set token pos to | |
| BuildSetType. | |
| (PointerType): Pass pointer token pos to BuildPointerType. | |
| * gm2-compiler/P2SymBuild.def (BuildPointerType): Add parameter | |
| pointerpos. | |
| (BuildSetType): Add parameter setpos. | |
| * gm2-compiler/P2SymBuild.mod (BuildPointerType): Add parameter | |
| pointerpos. Build combined token and use it when creating a | |
| pointer type. | |
| (BuildSetType): Add parameter setpos. Build combined token and | |
| use it when creating a set type. | |
| * gm2-compiler/SymbolTable.mod (DebugUnknownToken): New constant. | |
| (CheckTok): New procedure function. | |
| (MakeProcedure): Call CheckTok. | |
| (MakeRecord): Ditto. | |
| (MakeVarient): Ditto. | |
| (MakeEnumeration): Ditto. | |
| (MakeHiddenType): Ditto. | |
| (MakeConstant): Ditto. | |
| (MakeConstStringCnul): Ditto. | |
| (MakeSubrange): Ditto. | |
| (MakeTemporary): Ditto. | |
| (MakeVariableForParam): Ditto. | |
| (MakeParameterHeapVar): Ditto. | |
| (MakePointer): Ditto. | |
| (MakeSet): Ditto. | |
| (MakeUnbounded): Ditto. | |
| (MakeProcType): Ditto. | |
| 2024-03-08 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-compiler/M2Quads.mod (Init): Use InitIndexTuned with | |
| default size 65K. | |
| * gm2-compiler/SymbolConversion.mod (Init): Ditto. | |
| * gm2-compiler/SymbolTable.mod (BEGIN): Ditto. | |
| * mc-boot/GM2Dependent.cc: Rebuild. | |
| * mc-boot/GM2Dependent.h: Rebuild. | |
| * mc-boot/GM2RTS.cc: Rebuild. | |
| * pge-boot/GIndexing.cc: Rebuild. | |
| * pge-boot/GIndexing.h: Rebuild. | |
| * pge-boot/GM2Dependent.cc: Rebuild. | |
| * pge-boot/GM2Dependent.h: Rebuild. | |
| * pge-boot/GM2RTS.cc: Rebuild. | |
| 2024-03-07 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/109969 | |
| * gm2-compiler/M2LexBuf.def (TokenToLineNo): Rename parameter. | |
| (TokenToColumnNo): Rename parameter. | |
| (TokenToLocation): Rename parameter. | |
| (FindFileNameFromToken): Rename parameter. | |
| (DumpTokens): Rewrite comment. | |
| * gm2-compiler/M2LexBuf.mod: Rewrite. | |
| * gm2-compiler/P0SyntaxCheck.bnf (CheckInsertCandidate): | |
| DumpTokens before and after inserting recovery token. | |
| * gm2-gcc/m2builtins.cc (do_target_support_exists): Add | |
| bf_c99_compl case. | |
| * gm2-libs/Indexing.def (InitIndexTuned): New procedure | |
| function. | |
| (IsEmpty): New procedure function. | |
| * gm2-libs/Indexing.mod (InitIndexTuned): New procedure | |
| function. | |
| (IsEmpty): New procedure function. | |
| (Index): New field GrowFactor. | |
| (PutIndice): Use GrowFactor to extend dynamic array. | |
| 2024-03-04 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/114227 | |
| * gm2-libs-iso/M2RTS.mod (ProcedureChain): Remove. | |
| (ProcedureList): Remove. | |
| (ExecuteReverse): Remove. | |
| (ExecuteTerminationProcedures): Rewrite. | |
| (ExecuteInitialProcedures): Rewrite. | |
| (AppendProc): Remove. | |
| (InstallTerminationProcedure): Rewrite. | |
| (InstallInitialProcedure): Rewrite. | |
| (InitProcList): Remove. | |
| * gm2-libs/M2Dependent.def (InstallTerminationProcedure): | |
| New procedure. | |
| (ExecuteTerminationProcedures): New procedure. | |
| (InstallInitialProcedure): New procedure. | |
| (ExecuteInitialProcedures): New procedure. | |
| * gm2-libs/M2Dependent.mod (ProcedureChain): New type. | |
| (ProcedureList): New type. | |
| (ExecuteReverse): New procedure. | |
| (ExecuteTerminationProcedures): New procedure. | |
| (ExecuteInitialProcedures): New procedure. | |
| (AppendProc): New procedure. | |
| (InstallTerminationProcedure): New procedure. | |
| (InstallInitialProcedure): New procedure. | |
| (InitProcList): New procedure. | |
| * gm2-libs/M2RTS.mod (ProcedureChain): Remove. | |
| (ProcedureList): Remove. | |
| (ExecuteReverse): Remove. | |
| (ExecuteTerminationProcedures): Rewrite. | |
| (ExecuteInitialProcedures): Rewrite. | |
| (AppendProc): Remove. | |
| (InstallTerminationProcedure): Rewrite. | |
| (InstallInitialProcedure): Rewrite. | |
| (InitProcList): Remove. | |
| 2024-02-25 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/113749 | |
| * Make-lang.in (BUILD-PGE-O): Add m2/pge-boot/Gwrapc.o. | |
| * gm2-libs-ch/wrapc.c (wrapc_SeekSet): New function. | |
| (wrapc_SeekEnd): Ditto. | |
| (wrapc_ReadOnly): Ditto. | |
| (wrapc_WriteOnly): Ditto. | |
| * gm2-libs/FIO.mod (SEEK_SET): Remove. | |
| (SEEK_END): Remove. | |
| (UNIXREADONLY): Remove. | |
| (UNIXWRITEONLY): Remove. | |
| (ConnectToUnix): Replace UNIXWRITEONLY with a call to WriteOnly. | |
| Replace UNIXREADONLY with a call to ReadOnly. | |
| (SetPositionFromBeginning): Replace SEEK_SET with a call to | |
| SeekSet. | |
| (SetPositionFromEnd): Replace SEEK_END with a call to | |
| SeekEnd. | |
| * gm2-libs/wrapc.def (SeekSet): New procedure function. | |
| (SeekEnd): New procedure function. | |
| (ReadOnly): New procedure function. | |
| (WriteOnly): New procedure function. | |
| * mc-boot-ch/Glibc.c (BUILD_MC_LIBC_TRACE): Undef. | |
| (check_init): New function. | |
| (tracedb): Ditto. | |
| (tracedb_open): Ditto. | |
| (tracedb_result): Ditto. | |
| (libc_read): Ditto. | |
| (libc_write): Ditto. | |
| (libc_close): Ditto. | |
| (libc_creat): Ditto. | |
| (libc_open): Ditto. | |
| (libc_lseek): Ditto. | |
| * mc-boot-ch/Gwrapc.c (wrapc_SeekSet): New function. | |
| (wrapc_SeekEnd): Ditto. | |
| (wrapc_ReadOnly): Ditto. | |
| (wrapc_WriteOnly): Ditto. | |
| * mc-boot/GDynamicStrings.cc: Rebuilt. | |
| * mc-boot/GFIO.cc: Ditto. | |
| * mc-boot/GIndexing.cc: Ditto. | |
| * mc-boot/GM2Dependent.cc: Ditto. | |
| * mc-boot/GM2EXCEPTION.cc: Ditto. | |
| * mc-boot/GPushBackInput.cc: Ditto. | |
| * mc-boot/GRTExceptions.cc: Ditto. | |
| * mc-boot/GRTint.cc: Ditto. | |
| * mc-boot/GSArgs.cc: Ditto. | |
| * mc-boot/GStdIO.cc: Ditto. | |
| * mc-boot/GStringConvert.cc: Ditto. | |
| * mc-boot/GSysStorage.cc: Ditto. | |
| * mc-boot/Gdecl.cc: Ditto. | |
| * mc-boot/Gkeyc.cc: Ditto. | |
| * mc-boot/Glibc.h: Ditto. | |
| * mc-boot/GmcComment.cc: Ditto. | |
| * mc-boot/GmcComp.cc: Ditto. | |
| * mc-boot/GmcDebug.cc: Ditto. | |
| * mc-boot/GmcMetaError.cc: Ditto. | |
| * mc-boot/GmcStack.cc: Ditto. | |
| * mc-boot/GmcStream.cc: Ditto. | |
| * mc-boot/GnameKey.cc: Ditto. | |
| * mc-boot/GsymbolKey.cc: Ditto. | |
| * mc-boot/Gvarargs.cc: Ditto. | |
| * mc-boot/Gwrapc.h: Ditto. | |
| * mc/decl.mod (getSymName): Add pointerref clause. | |
| * mc/mcStream.mod (copy): Check for an error after every read. | |
| * mc/varargs.mod (copy): Rewrite pointer arithmetic using INC to | |
| avoid type incompatibility. | |
| * pge-boot/GDynamicStrings.cc: Rebuilt. | |
| * pge-boot/GDynamicStrings.h: Ditto. | |
| * pge-boot/GFIO.cc: Ditto. | |
| * pge-boot/GFIO.h: Ditto. | |
| * pge-boot/GIO.cc: Ditto. | |
| * pge-boot/GIndexing.cc: Ditto. | |
| * pge-boot/GM2Dependent.cc: Ditto. | |
| * pge-boot/GM2EXCEPTION.cc: Ditto. | |
| * pge-boot/GNameKey.cc: Ditto. | |
| * pge-boot/GPushBackInput.cc: Ditto. | |
| * pge-boot/GRTExceptions.cc: Ditto. | |
| * pge-boot/GStdIO.cc: Ditto. | |
| * pge-boot/GSymbolKey.cc: Ditto. | |
| * pge-boot/GSysStorage.cc: Ditto. | |
| * pge-boot/Glibc.h: Ditto. | |
| * pge-boot/Gwrapc.cc: Ditto. | |
| * pge-boot/Gwrapc.h: Ditto. | |
| 2024-02-22 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/114055 | |
| * gm2-compiler/M2Check.mod (Import): IsConstLitInternal and | |
| IsConstLit. | |
| (isInternal): New procedure function. | |
| (doCheck): Test for isInternal in either operand and early | |
| return true. | |
| * gm2-compiler/M2Quads.mod (PushOne): Rewrite with extra | |
| parameter internal. | |
| (BuildPseudoBy): Add TRUE parameter to PushOne call. | |
| (BuildIncProcedure): Add FALSE parameter to PushOne call. | |
| (BuildDecProcedure): Add FALSE parameter to PushOne call. | |
| * gm2-compiler/M2Range.mod (ForLoopBeginTypeCompatible): | |
| Uncomment code and tidy up error string. | |
| * gm2-compiler/SymbolTable.def (PutConstLitInternal): | |
| New procedure. | |
| (IsConstLitInternal): New procedure function. | |
| * gm2-compiler/SymbolTable.mod (PutConstLitInternal): | |
| New procedure. | |
| (IsConstLitInternal): New procedure function. | |
| (SymConstLit): New field IsInternal. | |
| (CreateConstLit): Initialize IsInternal to FALSE. | |
| 2024-02-21 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/114026 | |
| * gm2-compiler/M2GenGCC.mod (Import): Remove DisplayQuadruples. | |
| Remove DisplayQuadList. | |
| (MixTypesBinary): Replace check with overflowCheck. | |
| New variable typeChecking. | |
| Use GenQuadOTypetok to retrieve typeChecking. | |
| Use typeChecking to suppress error message. | |
| * gm2-compiler/M2LexBuf.def (MakeVirtual2Tok): New procedure | |
| function. | |
| * gm2-compiler/M2LexBuf.mod (MakeVirtualTok): Improve comment. | |
| (MakeVirtual2Tok): New procedure function. | |
| * gm2-compiler/M2Quads.def (GetQuadOTypetok): New procedure. | |
| * gm2-compiler/M2Quads.mod (QuadFrame): New field CheckType. | |
| (PutQuadO): Rewrite using PutQuadOType. | |
| (PutQuadOType): New procedure. | |
| (GetQuadOTypetok): New procedure. | |
| (BuildPseudoBy): Rewrite. | |
| (BuildForToByDo): Remove type checking. | |
| Add parameters e2, e2tok, BySym, bytok to | |
| InitForLoopBeginRange. | |
| Push the RangeId. | |
| (BuildEndFor): Pop the RangeId. | |
| Use GenQuadOTypetok to generate AddOp without type checking. | |
| Call PutRangeForIncrement with the RangeId and IncQuad. | |
| (GenQuadOtok): Rewrite using GenQuadOTypetok. | |
| (GenQuadOTypetok): New procedure. | |
| * gm2-compiler/M2Range.def (InitForLoopBeginRangeCheck): | |
| Rename d as des, e as expr. | |
| Add expr1, expr1tok, expr2, expr2tok, byconst, byconsttok | |
| parameters. | |
| (PutRangeForIncrement): New procedure. | |
| * gm2-compiler/M2Range.mod (Import): MakeVirtual2Tok. | |
| (Range): Add expr2, byconst, destok, exprtok, expr2tok, | |
| incrementquad. | |
| (InitRange): Initialize expr2 to NulSym. | |
| Initialize byconst to NulSym. | |
| Initialize tokenNo, destok, exprtok, expr2tok, byconst to | |
| UnknownTokenNo. | |
| Initialize incrementquad to 0. | |
| (PutRangeForIncrement): New procedure. | |
| (PutRangeDesExpr2): New procedure. | |
| (InitForLoopBeginRangeCheck): Rewrite. | |
| (ForLoopBeginTypeCompatible): New procedure function. | |
| (CodeForLoopBegin): Call ForLoopBeginTypeCompatible and | |
| only code the for loop assignment if all the type checks | |
| succeed. | |
| 2024-02-19 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/113889 | |
| * gm2-compiler/M2ALU.mod (StringFitsArray): Add tokeno parameter | |
| to GetStringLength. | |
| (InitialiseArrayOfCharWithString): Add tokeno parameter to | |
| GetStringLength. | |
| (CheckGetCharFromString): Add tokeno parameter to GetStringLength. | |
| * gm2-compiler/M2Const.mod (constResolveViaMeta): Replace | |
| PutConstString with PutConstStringKnown. | |
| * gm2-compiler/M2GCCDeclare.mod (DeclareCharConstant): Add tokenno | |
| parameter and add assert. Use tokenno to generate location. | |
| (DeclareStringConstant): Add tokenno and add asserts. | |
| Add tokenno parameter to calls to GetStringLength. | |
| (PromoteToString): Add assert and add tokenno parameter to | |
| GetStringLength. | |
| (PromoteToCString): Add assert and add tokenno parameter to | |
| GetStringLength. | |
| (DeclareConstString): New procedure function. | |
| (TryDeclareConst): Remove size local variable. | |
| Check IsConstStringKnown. | |
| Call DeclareConstString. | |
| (PrintString): New procedure. | |
| (PrintVerboseFromList): Call PrintString. | |
| (CheckResolveSubrange): Check IsConstStringKnown before creating | |
| subrange for char or issuing an error. | |
| * gm2-compiler/M2GenGCC.mod (ResolveConstantExpressions): Add | |
| StringLengthOp, StringConvertM2nulOp, StringConvertCnulOp case | |
| clauses. | |
| (FindSize): Add assert IsConstStringKnown. | |
| (StringToChar): New variable tokenno. | |
| Add tokenno parameter to GetStringLength. | |
| (FoldStringLength): New procedure. | |
| (FoldStringConvertM2nul): New procedure. | |
| (FoldStringConvertCnul): New procedure. | |
| (CodeAddr): Add tokenno parameter. | |
| Replace CurrentQuadToken with tokenno. | |
| Add tokenno parameter to GetStringLength. | |
| (PrepareCopyString): Rewrite. | |
| (IsConstStrKnown): New procedure function. | |
| (FoldAdd): Detect conststring op2 and op3 which are known and | |
| concat. Place result into op1. | |
| (FoldStandardFunction): Pass tokenno as a parameter to | |
| GetStringLength. | |
| (CodeXIndr): Rewrite comment. | |
| Rename op1 to left, op3 to right. | |
| Pass rightpos to GetStringLength. | |
| * gm2-compiler/M2Quads.def (QuadrupleOp): Add | |
| StringConvertCnulOp, StringConvertM2nulOp and StringLengthOp. | |
| * gm2-compiler/M2Quads.mod (import): Remove MakeConstLitString. | |
| Add CopyConstString and PutConstStringKnown. | |
| (IsInitialisingConst): Add StringConvertCnulOp, | |
| StringConvertM2nulOp and StringLengthOp. | |
| (callRequestDependant): Replace MakeConstLitString with | |
| MakeConstString. | |
| (DeferMakeConstStringCnul): New procedure function. | |
| (DeferMakeConstStringM2nul): New procedure function. | |
| (CheckParameter): Add early return if the string const is unknown. | |
| (DescribeType): Add token parameter to GetStringLength. | |
| Check for IsConstStringKnown. | |
| (ManipulateParameters): Use DeferMakeConstStringCnul and | |
| DeferMakeConstStringM2nul. | |
| (MakeLengthConst): Remove and replace with... | |
| (DeferMakeLengthConst): ... this. | |
| (doBuildBinaryOp): Create ConstString and set it to contents | |
| unknown. | |
| Check IsConstStringKnown before generating error message. | |
| (WriteQuad): Add StringConvertCnulOp, StringConvertM2nulOp and | |
| StringLengthOp. | |
| (WriteOperator): Add StringConvertCnulOp, StringConvertM2nulOp and | |
| StringLengthOp. | |
| * gm2-compiler/M2SymInit.mod (CheckReadBeforeInitQuad): Add | |
| StringConvertCnulOp, StringConvertM2nulOp and StringLengthOp. | |
| * gm2-compiler/NameKey.mod (LengthKey): Allow NulName to return 0. | |
| * gm2-compiler/P2SymBuild.mod (BuildString): Replace | |
| MakeConstLitString with MakeConstString. | |
| (DetermineType): Replace PutConstString with PutConstStringKnown. | |
| * gm2-compiler/SymbolTable.def (MakeConstVar): Tidy up comment. | |
| (MakeConstLitString): Remove. | |
| (MakeConstString): New procedure function. | |
| (MakeConstStringCnul): New procedure function. | |
| (MakeConstStringM2nul): New procedure function. | |
| (PutConstStringKnown): New procedure. | |
| (CopyConstString): New procedure. | |
| (IsConstStringKnown): New procedure function. | |
| (IsConstStringM2): New procedure function. | |
| (IsConstStringC): New procedure function. | |
| (IsConstStringM2nul): New procedure function. | |
| (IsConstStringCnul): New procedure function. | |
| (GetStringLength): Add token parameter. | |
| (PutConstString): Remove. | |
| (GetConstStringM2): Remove. | |
| (GetConstStringC): Remove. | |
| (GetConstStringM2nul): Remove. | |
| (GetConstStringCnul): Remove. | |
| (MakeConstStringC): Remove. | |
| * gm2-compiler/SymbolTable.mod (SymConstString): Remove | |
| M2Variant, NulM2Variant, CVariant, NulCVariant. | |
| Add Known. | |
| (CheckAnonymous): Replace $$ with __anon. | |
| (IsNameAnonymous): Replace $$ with __anon. | |
| (MakeConstVar): Detect whether the name is nul and treat as | |
| a temporary constant. | |
| (MakeConstLitString): Remove. | |
| (BackFillString): Remove. | |
| (InitConstString): Rewrite. | |
| (GetConstStringM2): Remove. | |
| (GetConstStringC): Remove. | |
| (GetConstStringContent): New procedure function. | |
| (GetConstStringM2nul): Remove. | |
| (GetConstStringCnul): Remove. | |
| (MakeConstStringCnul): Rewrite. | |
| (MakeConstStringM2nul): Rewrite. | |
| (MakeConstStringC): Remove. | |
| (MakeConstString): Rewrite. | |
| (PutConstStringKnown): New procedure. | |
| (CopyConstString): New procedure. | |
| (PutConstString): Remove. | |
| (IsConstStringKnown): New procedure function. | |
| (IsConstStringM2): New procedure function. | |
| (IsConstStringC): Rewrite. | |
| (IsConstStringM2nul): Rewrite. | |
| (IsConstStringCnul): Rewrite. | |
| (GetConstStringKind): New procedure function. | |
| (GetString): Check Known. | |
| (GetStringLength): Add token parameter and check Known. | |
| 2024-02-10 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/113848 | |
| * gm2-libs/SArgs.mod (GetArg): Re-write address arithmetic | |
| to avoid (void *) computation. | |
| 2024-02-03 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/113730 | |
| * gm2-compiler/M2Base.mod (IsUserType): New procedure function. | |
| (MixTypes): Use IsUserType instead of IsType before calling MixTypes. | |
| * gm2-compiler/M2GenGCC.mod (GetTypeMode): Remove and import from | |
| SymbolTable. | |
| (CodeBinaryCheck): Replace call to MixTypes with MixTypesBinary. | |
| (CodeBinary): Replace call to MixTypes with MixTypesBinary. | |
| (CodeIfLess): Replace MixTypes with ComparisonMixTypes. | |
| (CodeIfGre): Replace MixTypes with ComparisonMixTypes. | |
| (CodeIfLessEqu): Replace MixTypes with ComparisonMixTypes. | |
| (CodeIfGreEqu): Replace MixTypes with ComparisonMixTypes. | |
| (CodeIfEqu): Replace MixTypes with ComparisonMixTypes. | |
| (CodeIfNotEqu): Replace MixTypes with ComparisonMixTypes. | |
| (ComparisonMixTypes): New procedure function. | |
| * gm2-compiler/M2Quads.mod (BuildEndFor): Replace GenQuadO | |
| with GenQuadOtok and pass tokenpos for the operands to the AddOp | |
| and XIndrOp. | |
| (CheckRangeIncDec): Check etype against NulSym and dtype for a | |
| pointer and set etype to Address. | |
| (BuildAddAdrFunction): New variable opa. Convert operand to an | |
| address and save result in opa. Replace GenQuad with GenQuadOtok. | |
| (BuildSubAdrFunction): New variable opa. Convert operand to an | |
| address and save result in opa. Replace GenQuad with GenQuadOtok. | |
| (BuildDiffAdrFunction): New variable opa. Convert operand to an | |
| address and save result in opa. Replace GenQuad with GenQuadOtok. | |
| (calculateMultipicand): Replace GenQuadO with GenQuadOtok. | |
| (ConvertToAddress): New procedure function. | |
| (BuildDynamicArray): Convert index to address before adding to | |
| the base. | |
| * gm2-compiler/SymbolTable.def (GetTypeMode): New procedure function. | |
| * gm2-compiler/SymbolTable.mod (GetTypeMode): New procedure | |
| function implemented (moved from M2GenGCC.mod). | |
| * gm2-libs/SArgs.mod (GetArg): Replace cast to PtrToChar with ADDRESS. | |
| 2024-02-01 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/111627 | |
| PR modula2/112506 | |
| * gm2-compiler/M2Comp.mod (Pass0CheckMod): Test IsDefImp before | |
| checking IsDefinitionForC. | |
| 2024-01-31 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-compiler/M2Comp.mod (Pass0CheckMod): Tidy up comment. | |
| * gm2-compiler/P1Build.bnf (PossiblyExportIdent): Replace | |
| PushTF with PushTFtok. | |
| 2024-01-26 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-compiler/M2Check.mod (dumpIndice): New procedure. | |
| (dumpIndex): New procedure. | |
| (dumptInfo): New procedure. | |
| (buildError4): Add comment and pass formal and actual to | |
| MetaError4. Improve text describing error. | |
| (buildError2): Generate different error descriptions for | |
| the three error kinds. | |
| (checkConstMeta): Add block comment. Add more meta checks | |
| and call doCheckPair to complete string const checking. | |
| Add tinfo parameter. | |
| (checkConstEquivalence): Add tinfo parameter. | |
| * gm2-compiler/M2GCCDeclare.mod (PrintVerboseFromList): | |
| Print the length of a const string. | |
| * gm2-compiler/M2GenGCC.mod (CodeParam): Remove parameters | |
| op1, op2 and op3. | |
| (doParam): Add paramtok parameter. Use paramtok instead rather | |
| than CurrentQuadToken. | |
| (CodeParam): Rewrite. | |
| * gm2-compiler/M2Quads.mod (CheckProcedureParameters): | |
| Add comments explaining that const strings are not checked | |
| in M2Quads.mod. | |
| (FailParameter): Use MetaErrorT2 with tokpos rather than | |
| MetaError2. | |
| (doBuildBinaryOp): Assign OldPos and OperatorPos before the | |
| IF block. | |
| * gm2-compiler/SymbolTable.mod (PutConstString): Add call to | |
| InitWhereDeclaredTok. | |
| 2024-01-25 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-libs/libc.def (lseek): Change the second parameter | |
| type to CSSIZE_T and make the return value optional. | |
| 2024-01-24 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/113559 | |
| * gm2-libs/FIO.mod (SetPositionFromBeginning): Convert pos into | |
| CSSIZE_T during call to lseek. | |
| (SetPositionFromEnd): Convert pos into CSSIZE_T during call to | |
| lseek. | |
| 2024-01-23 H.J. Lu <hjl.tools@gmail.com> | |
| PR bootstrap/113554 | |
| * mc/mc.flex (alloca): Don't redefine. | |
| (handleDate): Replace (long *)0 with (time_t *)0 when calling | |
| time. | |
| 2024-01-19 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-compiler/M2BasicBlock.mod (InitBasicBlocks): Rename | |
| ForeachScopeBlockDo to ForeachScopeBlockDo3. | |
| * gm2-compiler/M2Code.mod: Import ForeachScopeBlockDo2. | |
| (OptimizeScopeBlock): Call ForeachScopeBlockDo3 for | |
| procedures with three parameters and ForeachScopeBlockDo2 | |
| for two parameters. | |
| (CodeBlock): Ditto. | |
| * gm2-compiler/M2GCCDeclare.mod (DeclareTypesConstantsProcedures): | |
| Rename ForeachScopeBlockDo to ForeachScopeBlockDo3. | |
| * gm2-compiler/M2GenGCC.def (ConvertQuadsToTree): Remove Scope | |
| parameter. | |
| * gm2-compiler/M2GenGCC.mod (ConvertQuadsToTree): Remove Scope | |
| parameter. | |
| (MaybeDebugBuiltinMemcpy): Remove parameter tok. | |
| (MaybeDebugBuiltinMemset): Remove. | |
| (MakeCopyUse): Remove tokenno from call to | |
| MaybeDebugBuiltinMemcpy. | |
| (PerformFoldBecomes): Remove desloc and exprloc. | |
| (checkArrayElements): Remove location. Remove virtpos | |
| as a parameter to MaybeDebugBuiltinMemcpy. | |
| (NoWalkProcedure): Add attribute unused. | |
| (CheckElementSetTypes): Remove parameter p. | |
| Remove CurrentQuadToken in call to MaybeDebugBuiltinMemcpy. | |
| Remove NoWalkProcedure from call to CheckElementSetTypes. | |
| Remove tokenno from call to MaybeDebugBuiltinMemcpy. | |
| * gm2-compiler/M2Optimize.mod (RemoveProcedures): Replace | |
| two parameter indirect procedure iterator with | |
| ForeachScopeBlockDo2. | |
| * gm2-compiler/M2SSA.mod: Remove ForeachScopeBlockDo. | |
| * gm2-compiler/M2Scope.def (ForeachScopeBlockDo2): New | |
| declaration. | |
| (ForeachScopeBlockDo): Rename ... | |
| (ForeachScopeBlockDo3): ... to this. | |
| (ScopeProcedure2): New declaration. | |
| * gm2-compiler/M2Scope.mod (ForeachScopeBlockDo2): New | |
| procedure. | |
| (ForeachScopeBlockDo): Rename ... | |
| (ForeachScopeBlockDo3): ... to this. | |
| 2024-01-18 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/111956 | |
| * Make-lang.in (host_mc_longreal): Remove. | |
| * configure: Regenerate. | |
| * configure.ac (M2C_LONGREAL_FLOAT128): Remove. | |
| (M2C_LONGREAL_PPC64LE): Remove. | |
| * gm2-compiler/M2Options.def (SetIBMLongDouble): New procedure. | |
| (GetIBMLongDouble): New procedure function. | |
| (SetIEEELongDouble): New procedure. | |
| (GetIEEELongDouble): New procedure function. | |
| * gm2-compiler/M2Options.mod (SetIBMLongDouble): New procedure. | |
| (GetIBMLongDouble): New procedure function. | |
| (SetIEEELongDouble): New procedure. | |
| (GetIEEELongDouble): New procedure function. | |
| (InitializeLongDoubleFlags): New procedure called during | |
| module block initialization. | |
| * gm2-gcc/m2configure.cc: Remove duplicate includes. | |
| (m2configure_M2CLongRealFloat128): Remove. | |
| (m2configure_M2CLongRealIBM128): Remove. | |
| (m2configure_M2CLongRealLongDouble): Remove. | |
| (m2configure_M2CLongRealLongDoublePPC64LE): Remove. | |
| (m2configure_TargetIEEEQuadDefault): New function. | |
| * gm2-gcc/m2configure.def (M2CLongRealFloat128): Remove. | |
| (M2CLongRealIBM128): Remove. | |
| (M2CLongRealLongDouble): Remove. | |
| (M2CLongRealLongDoublePPC64LE): Remove. | |
| (TargetIEEEQuadDefault): New function. | |
| * gm2-gcc/m2configure.h (m2configure_M2CLongRealFloat128): Remove. | |
| (m2configure_M2CLongRealIBM128): Remove. | |
| (m2configure_M2CLongRealLongDouble): Remove. | |
| (m2configure_M2CLongRealLongDoublePPC64LE): Remove. | |
| (m2configure_TargetIEEEQuadDefault): New function. | |
| * gm2-gcc/m2options.h (M2Options_SetIBMLongDouble): New prototype. | |
| (M2Options_GetIBMLongDouble): New prototype. | |
| (M2Options_SetIEEELongDouble): New prototype. | |
| (M2Options_GetIEEELongDouble): New prototype. | |
| * gm2-gcc/m2type.cc (build_m2_long_real_node): Re-implement using | |
| results of M2Options_GetIBMLongDouble and M2Options_GetIEEELongDouble. | |
| * gm2-lang.cc (gm2_langhook_handle_option): Add case | |
| OPT_mabi_ibmlongdouble and call M2Options_SetIBMLongDouble. | |
| Add case OPT_mabi_ieeelongdouble and call M2Options_SetIEEELongDouble. | |
| * gm2config.aci.in: Regenerate. | |
| * gm2spec.cc (lang_specific_driver): Remove block defined by | |
| M2C_LONGREAL_PPC64LE. | |
| Remove case OPT_mabi_ibmlongdouble. | |
| Remove case OPT_mabi_ieeelongdouble. | |
| 2024-01-11 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/112946 | |
| * gm2-compiler/M2GenGCC.mod (IsExpressionCompatible): Import. | |
| (ExpressionTypeCompatible): Import. | |
| (CodeStatement): Remove op1, op2, op3 parameters from CodeSetOr, | |
| CodeSetAnd, CodeSetSymmetricDifference, CodeSetLogicalDifference. | |
| (checkArrayElements): Rename op1 to des and op3 to expr. | |
| Use despos and exprpos instead of CurrentQuadToken. | |
| (checkRecordTypes): Rename op1 to des and op2 to expr. | |
| Use virtpos instead of CurrentQuadToken. | |
| (checkIncorrectMeta): Ditto. | |
| (checkBecomes): Rename op1 to des and op3 to expr. | |
| Use virtpos instead of CurrentQuadToken. | |
| (NoWalkProcedure): New procedure stub. | |
| (CheckBinaryExpressionTypes): New procedure function. | |
| (CheckElementSetTypes): New procedure function. | |
| (CodeBinarySet): Re-write. | |
| (FoldBinarySet): Re-write. | |
| (CodeSetOr): Remove parameters op1, op2 and op3. | |
| (CodeSetAnd): Ditto. | |
| (CodeSetLogicalDifference): Ditto. | |
| (CodeSetSymmetricDifference): Ditto. | |
| (CodeIfIn): Call CheckBinaryExpressionTypes and | |
| CheckElementSetTypes. | |
| * gm2-compiler/M2Quads.mod (BuildRotateFunction): Correct | |
| parameters to MakeVirtualTok to reflect parameter block | |
| passed to Rotate. | |
| 2024-01-09 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/112920 | |
| * gm2-compiler/M2GCCDeclare.mod (Group): New declaration. | |
| Import MakeSubrange, MakeConstVar, MakeConstLit and DivTrunc. | |
| (FreeGroup): New declaration. | |
| (GlobalGroup): New declaration. | |
| (ToBeSolvedByQuads): Remove. | |
| (NilTypedArrays): Remove. | |
| (PartiallyDeclared): Remove. | |
| (HeldByAlignment): Remove. | |
| (FinishedAlignment): Remove. | |
| (ToDoList): Remove. | |
| (DebugSet): Re-format. | |
| (DebugNumber): Re-format. | |
| (DebugSetNumbers): Reference sets using GlobalGroup. | |
| (AddSymToWatch): Re-format. | |
| (WatchIncludeList): Reference sets using GlobalGroup. | |
| (WatchRemoveList): Reference sets using GlobalGroup. | |
| (NewGroup): New procedure. | |
| (DisposeGroup): New procedure. | |
| (InitGroup): New procedure. | |
| (KillGroup): New procedure. | |
| (DupGroup): New procedure. | |
| (EqualGroup): New procedure. | |
| (LookupSet): New procedure. | |
| (CanDeclareTypePartially): Reference sets using GlobalGroup. | |
| (CompletelyResolved): Reference sets using GlobalGroup. | |
| (IsNilTypedArrays): Reference sets using GlobalGroup. | |
| (IsFullyDeclared): Reference sets using GlobalGroup. | |
| (IsPartiallyDeclared): Reference sets using GlobalGroup. | |
| (IsPartiallyOrFullyDeclared): Reference sets using GlobalGroup. | |
| (DeclareTypeConstFully): Reference sets using GlobalGroup. | |
| (bodyl): Remove. | |
| (Body): Use bodyt and to lookup the required set. | |
| (ForeachTryDeclare): Remove parameter l. Lookup set instead. | |
| (DeclareOutstandingTypes): Add new rules setarraynul and setfully. | |
| Reference sets using GlobalGroup. | |
| (ActivateWatch): New procedure. | |
| (DeclareTypesConstantsProceduresInRange): Re-written to check | |
| group change. | |
| (DeclareTypesConstantsProcedures): Re-written to check | |
| group change. | |
| (DeclareBoolean): Reference sets using GlobalGroup. | |
| (DeclarePackedBoolean): Ditto. | |
| (DeclareDefaultConstants): Ditto. | |
| (FreeGroup): Initialized. | |
| (GlobalGroup): Ditto. | |
| * gm2-compiler/Sets.def (EqualSet): New procedure function. | |
| Remove export qualified list of identifiers. | |
| * gm2-compiler/Sets.mod (EqualSet): New procedure function. | |
| 2024-01-04 David Malcolm <dmalcolm@redhat.com> | |
| * lang.opt.urls: New file, autogenerated by | |
| regenerate-opt-urls.py. | |
| 2023-12-15 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/112946 | |
| * gm2-compiler/M2Check.mod (checkConstMeta): New procedure | |
| function. | |
| (checkConstEquivalence): New procedure function. | |
| (doCheckPair): Add call to checkConstEquivalence. | |
| * gm2-compiler/M2GenGCC.mod (ResolveConstantExpressions): Call | |
| FoldBecomes with reduced parameters. | |
| (FoldBecomes): Re-write. | |
| (TryDeclareConst): New procedure. | |
| (RemoveQuads): New procedure. | |
| (DeclaredOperandsBecomes): New procedure function. | |
| (TypeCheckBecomes): New procedure function. | |
| (PerformFoldBecomes): New procedure. | |
| * gm2-compiler/M2Range.mod (FoldAssignment): Call | |
| AssignmentTypeCompatible to check des expr compatibility. | |
| * gm2-compiler/M2SymInit.mod (CheckReadBeforeInitQuad): Remove | |
| parameter lst. | |
| (FilterCheckReadBeforeInitQuad): Remove parameter lst. | |
| (CheckReadBeforeInitFirstBasicBlock): Remove parameter lst. | |
| Call FilterCheckReadBeforeInitQuad without lst. | |
| 2023-12-13 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/112921 | |
| * gm2-libs-iso/ConvStringShort.def: New file. | |
| * gm2-libs-iso/ConvStringShort.mod: New file. | |
| * gm2-libs-iso/ShortConv.def: New file. | |
| * gm2-libs-iso/ShortConv.mod: New file. | |
| * gm2-libs-iso/ShortMath.def: New file. | |
| * gm2-libs-iso/ShortMath.mod: New file. | |
| * gm2-libs-iso/ShortStr.def: New file. | |
| * gm2-libs-iso/ShortStr.mod: New file. | |
| 2023-12-12 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/112984 | |
| * gm2-libs-coroutines/SYSTEM.mod: Remove redundant import of memcpy. | |
| * gm2-libs-iso/ClientSocket.mod: Remove redundant import of IOConsts. | |
| * gm2-libs-iso/IOChan.mod: Remove redundant import of IOConsts. | |
| * gm2-libs-iso/IOLink.mod: Remove redundant import of IOChan and SYSTEM. | |
| * gm2-libs-iso/IOResult.mod: Remove redundant import of IOChan. | |
| * gm2-libs-iso/LongIO.mod: Remove redundant import of writeString. | |
| * gm2-libs-iso/LongWholeIO.mod: Remove redundant import of IOChan. | |
| * gm2-libs-iso/M2RTS.mod: Remove redundant import of ADDRESS. | |
| * gm2-libs-iso/MemStream.mod: Remove redundant import of ADDRESS. | |
| * gm2-libs-iso/RTdata.mod: Remove redundant import of DeviceTablePtr. | |
| * gm2-libs-iso/RTfio.mod: Remove redundant import of DeviceTablePtr. | |
| * gm2-libs-iso/RTgen.mod: Remove redundant import of DeviceTablePtr. | |
| * gm2-libs-iso/RealIO.mod: Remove redundant import of writeString. | |
| * gm2-libs-iso/RndFile.mod: Remove redundant import of SYSTEM. | |
| * gm2-libs-iso/SYSTEM.mod: Remove redundant import of memcpy. | |
| * gm2-libs-iso/ShortWholeIO.mod: Remove redundant import of IOConsts. | |
| * gm2-libs-iso/TextIO.mod: Remove redundant import of IOChan. | |
| * gm2-libs-iso/TextUtil.mod: Remove redundant import of IOChan. | |
| * gm2-libs-iso/WholeIO.mod: Remove redundant import of IOChan. | |
| * gm2-libs-log/BitByteOps.mod: Remove redundant import of BYTE. | |
| * gm2-libs-log/FileSystem.mod: Remove redundant import of BYTE and ADDRESS. | |
| * gm2-libs-log/InOut.mod: Remove redundant import of String. | |
| * gm2-libs-log/RealConversions.mod: Remove redundant import of StringToLongreal. | |
| * gm2-libs/FIO.mod: Remove redundant import of SIZE. | |
| * gm2-libs/FormatStrings.mod: Remove redundant import of String | |
| and ConCatChar. | |
| * gm2-libs/IO.mod: Remove redundant import of SIZE. | |
| * gm2-libs/Indexing.mod: Remove redundant import of ADDRESS. | |
| * gm2-libs/M2Dependent.mod: Remove redundant import of SIZE. | |
| * gm2-libs/M2RTS.mod: Remove redundant import of ADDRESS. | |
| * gm2-libs/OptLib.mod: Remove redundant import of DynamicStrings. | |
| * gm2-libs/SYSTEM.mod: Remove redundant import of memcpy. | |
| * gm2-libs/StringConvert.mod: Remove redundant import of String. | |
| 2023-12-07 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/112893 | |
| * gm2-compiler/M2Base.mod (Ass): Extend array to include proc row | |
| and column. Allow PIM to assign cardinal variables to address | |
| variables. | |
| (Expr): Ditto. | |
| (Comp): Ditto. | |
| * gm2-compiler/M2Check.mod (getSType): New procedure function. | |
| Replace all occurances of GetSType with getSType. | |
| * gm2-compiler/M2GenGCC.mod (CodeParam): Rewrite format specifier | |
| error message. | |
| * gm2-compiler/M2Quads.mod (CheckProcTypeAndProcedure): Add tokno | |
| parameter. | |
| * gm2-compiler/M2Range.def (InitTypesParameterCheck): Add tokno | |
| parameter. | |
| (InitParameterRangeCheck): Add tokno parameter. | |
| Remove EXPORT QUALIFIED list. | |
| (InitParameterRangeCheck): Add tokno parameter. | |
| * gm2-compiler/M2Range.mod (InitTypesParameterCheck): Add tokno | |
| parameter and pass tokno to PutRangeParam. | |
| (InitParameterRangeCheck): Add tokno parameter and pass tokno to | |
| PutRangeParam. | |
| (PutRangeParam): Add tokno parameter and assign to tokenNo. | |
| (FoldTypeParam): Rewrite format string. | |
| 2023-12-06 Thomas Schwinge <thomas@codesourcery.com> | |
| * lang.opt (-isysroot): New. | |
| 2023-12-05 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/112865 | |
| * gm2-compiler/M2Quads.mod (BuildReFunction): Use | |
| GetDType to retrieve the type of the operand when | |
| converting the complex type to its scalar equivalent. | |
| (BuildImFunction): Use GetDType to retrieve the type of the | |
| operand when converting the complex type to its scalar | |
| equivalent. | |
| 2023-12-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
| * mc/mc.flex [__GNUC__]: Define alloca as __builtin_alloca. | |
| (handleDate): Use strchr instead of index. | |
| 2023-12-04 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/112825 | |
| * tools-src/makeSystem: Change all occurrences of -c to -S. | |
| 2023-11-01 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/102989 | |
| * gm2-compiler/SymbolTable.mod (OverflowZType): Import from m2expr. | |
| (ConstantStringExceedsZType): Remove import. | |
| (GetConstLitType): Replace ConstantStringExceedsZType with OverflowZType. | |
| * gm2-gcc/m2decl.cc (m2decl_ConstantStringExceedsZType): Remove. | |
| (m2decl_BuildConstLiteralNumber): Re-write. | |
| * gm2-gcc/m2decl.def (ConstantStringExceedsZType): Remove. | |
| * gm2-gcc/m2decl.h (m2decl_ConstantStringExceedsZType): Remove. | |
| * gm2-gcc/m2expr.cc (m2expr_StrToWideInt): Rewrite to check overflow. | |
| (m2expr_OverflowZType): New function. | |
| (ToWideInt): New function. | |
| * gm2-gcc/m2expr.def (OverflowZType): New procedure function declaration. | |
| * gm2-gcc/m2expr.h (m2expr_OverflowZType): New prototype. | |
| 2023-10-27 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/111530 | |
| * gm2-libs-ch/cgetopt.c (cgetopt_cgetopt_long): Re-format. | |
| (cgetopt_cgetopt_long_only): Re-format. | |
| (cgetopt_SetOption): Re-format and assign flag to NULL | |
| if name is also NULL. | |
| * gm2-libs/GetOpt.def (AddLongOption): Add index parameter | |
| and change flag to be a VAR parameter rather than a pointer. | |
| (GetOptLong): Re-format. | |
| (GetOpt): Correct comment. | |
| * gm2-libs/GetOpt.mod: Re-write to rely on cgetopt rather | |
| than implement long option creation in GetOpt. | |
| * gm2-libs/cgetopt.def (SetOption): has_arg type is INTEGER. | |
| 2023-10-25 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/111955 | |
| * gm2-gcc/m2builtins.cc (gm2_isnan_node): New tree. | |
| (DoBuiltinIsnan): New function. | |
| (m2builtins_BuiltInIsnan): New function. | |
| (m2builtins_init): Initialize gm2_isnan_node. | |
| (list_of_builtins): Add define for __builtin_isnan. | |
| * gm2-libs-ch/wrapc.c (wrapc_isnan): New function. | |
| (wrapc_isnanf): New function. | |
| (wrapc_isnanl): New function. | |
| * gm2-libs/Builtins.def (isnanf): New procedure function. | |
| (isnan): New procedure function. | |
| (isnanl): New procedure function. | |
| * gm2-libs/Builtins.mod: | |
| * gm2-libs/wrapc.def (isnan): New function. | |
| (isnanf): New function. | |
| (isnanl): New function. | |
| 2023-10-24 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-libs/M2Dependent.mod (InitDependencyList): New | |
| procedure. | |
| (CreateModule): Call InitDependencyList to initialize | |
| all fields of DependencyList. | |
| 2023-10-24 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-libs/M2Dependent.mod (CreateModule): Initialize all | |
| dependency fields for DependencyList. | |
| 2023-10-17 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/111756 | |
| * Make-lang.in (CM2DEP): New define conditionally set if | |
| ($(CXXDEPMODE),depmode=gcc3). | |
| (GM2_1): Use $(CM2DEP). | |
| (m2/gm2-gcc/%.o): Ensure $(@D)/$(DEPDIR) is created. | |
| Add $(CM2DEP) to the $(COMPILER) command and use $(POSTCOMPILE). | |
| (m2/gm2-gcc/m2configure.o): Ditto. | |
| (m2/gm2-lang.o): Ditto. | |
| (m2/m2pp.o): Ditto. | |
| (m2/gm2-gcc/rtegraph.o): Ditto. | |
| (m2/mc-boot/$(SRC_PREFIX)%.o): Ditto. | |
| (m2/mc-boot-ch/$(SRC_PREFIX)%.o): Ditto. | |
| (m2/mc-boot-ch/$(SRC_PREFIX)%.o): Ditto. | |
| (m2/mc-boot/main.o): Ditto. | |
| (mcflex.o): Ditto. | |
| (m2/gm2-libs-boot/M2RTS.o): Ditto. | |
| (m2/gm2-libs-boot/%.o): Ditto. | |
| (m2/gm2-libs-boot/%.o): Ditto. | |
| (m2/gm2-libs-boot/RTcodummy.o): Ditto. | |
| (m2/gm2-libs-boot/RTintdummy.o): Ditto. | |
| (m2/gm2-libs-boot/wrapc.o): Ditto. | |
| (m2/gm2-libs-boot/UnixArgs.o): Ditto. | |
| (m2/gm2-libs-boot/choosetemp.o): Ditto. | |
| (m2/gm2-libs-boot/errno.o): Ditto. | |
| (m2/gm2-libs-boot/dtoa.o): Ditto. | |
| (m2/gm2-libs-boot/ldtoa.o): Ditto. | |
| (m2/gm2-libs-boot/termios.o): Ditto. | |
| (m2/gm2-libs-boot/SysExceptions.o): Ditto. | |
| (m2/gm2-libs-boot/SysStorage.o): Ditto. | |
| (m2/gm2-compiler-boot/M2GCCDeclare.o): Ditto. | |
| (m2/gm2-compiler-boot/M2Error.o): Ditto. | |
| (m2/gm2-compiler-boot/%.o): Ditto. | |
| (m2/gm2-compiler-boot/%.o): Ditto. | |
| (m2/gm2-compiler-boot/m2flex.o): Ditto. | |
| (m2/gm2-compiler/%.o): Ditto. | |
| (m2/gm2-compiler/m2flex.o): Ditto. | |
| (m2/gm2-libs-iso/%.o): Ditto. | |
| (m2/gm2-libs/%.o): Ditto. | |
| (m2/gm2-libs/%.o): Ditto. | |
| (m2/gm2-libs/choosetemp.o): Ditto. | |
| (m2/boot-bin/mklink$(exeext)): Ditto. | |
| (m2/pge-boot/%.o): Ditto. | |
| (m2/pge-boot/%.o): Ditto. | |
| (m2/gm2-compiler/%.o): Ensure $(@D)/$(DEPDIR) is created and use | |
| $(POSTCOMPILE). | |
| (m2/gm2-compiler/%.o): Ditto. | |
| (m2/gm2-libs-iso/%.o): Ditto. | |
| (m2/gm2-libs/%.o): Ditto. | |
| * README: Purge out of date info. | |
| * gm2-compiler/M2Comp.mod (MakeSaveTempsFileNameExt): Import. | |
| (OnExitDelete): Import. | |
| (GetModuleDefImportStatementList): Import. | |
| (GetModuleModImportStatementList): Import. | |
| (GetImportModule): Import. | |
| (IsImportStatement): Import. | |
| (IsImport): Import. | |
| (GetImportStatementList): Import. | |
| (File): Import. | |
| (Close): Import. | |
| (EOF): Import. | |
| (IsNoError): Import. | |
| (WriteLine): Import. | |
| (WriteChar): Import. | |
| (FlushOutErr): Import. | |
| (WriteS): Import. | |
| (OpenToRead): Import. | |
| (OpenToWrite): Import. | |
| (ReadS): Import. | |
| (WriteS): Import. | |
| (GetM): Import. | |
| (GetMM): Import. | |
| (GetDepTarget): Import. | |
| (GetMF): Import. | |
| (GetMP): Import. | |
| (GetObj): Import. | |
| (GetMD): Import. | |
| (GetMMD): Import. | |
| (GenerateDefDependency): New procedure. | |
| (GenerateDependenciesFromImport): New procedure. | |
| (GenerateDependenciesFromList): New procedure. | |
| (GenerateDependencies): New procedure. | |
| (Compile): Re-write. | |
| (compile): Re-format. | |
| (CreateFileStem): New procedure function. | |
| (DoPass0): Re-write. | |
| (IsLibrary): New procedure function. | |
| (IsUnique): New procedure function. | |
| (Append): New procedure. | |
| (MergeDep): New procedure. | |
| (GetRuleTarget): New procedure function. | |
| (ReadDepContents): New procedure function. | |
| (WriteDep): New procedure. | |
| (WritePhonyDep): New procedure. | |
| (WriteDepContents): New procedure. | |
| (CreateDepFilename): New procedure function. | |
| (Pass0CheckDef): New procedure function. | |
| (Pass0CheckMod): New procedure function. | |
| (DoPass0): Re-write. | |
| (DepContent): New variable. | |
| (DepOutput): New variable. | |
| (BaseName): New procedure function. | |
| * gm2-compiler/M2GCCDeclare.mod (PrintTerse): Handle IsImport. | |
| Replace IsGnuAsmVolatile with IsGnuAsm. | |
| * gm2-compiler/M2Options.def (EXPORT QUALIFIED): Remove list. | |
| (SetM): New procedure. | |
| (GetM): New procedure function. | |
| (SetMM): New procedure. | |
| (GetMM): New procedure function. | |
| (SetMF): New procedure. | |
| (GetMF): New procedure function. | |
| (SetPPOnly): New procedure. | |
| (GetB): New procedure function. | |
| (SetMD): New procedure. | |
| (GetMD): New procedure function. | |
| (SetMMD): New procedure. | |
| (GetMMD): New procedure function. | |
| (SetMQ): New procedure. | |
| (SetMT): New procedure. | |
| (GetMT): New procedure function. | |
| (GetDepTarget): New procedure function. | |
| (SetMP): New procedure. | |
| (GetMP): New procedure function. | |
| (SetObj): New procedure. | |
| (SetSaveTempsDir): New procedure. | |
| * gm2-compiler/M2Options.mod (SetM): New procedure. | |
| (GetM): New procedure function. | |
| (SetMM): New procedure. | |
| (GetMM): New procedure function. | |
| (SetMF): New procedure. | |
| (GetMF): New procedure function. | |
| (SetPPOnly): New procedure. | |
| (GetB): New procedure function. | |
| (SetMD): New procedure. | |
| (GetMD): New procedure function. | |
| (SetMMD): New procedure. | |
| (GetMMD): New procedure function. | |
| (SetMQ): New procedure. | |
| (SetMT): New procedure. | |
| (GetMT): New procedure function. | |
| (GetDepTarget): New procedure function. | |
| (SetMP): New procedure. | |
| (GetMP): New procedure function. | |
| (SetObj): New procedure. | |
| (SetSaveTempsDir): New procedure. | |
| * gm2-compiler/M2Preprocess.def (PreprocessModule): New parameters | |
| topSource and outputDep. Re-write. | |
| (MakeSaveTempsFileNameExt): New procedure function. | |
| (OnExitDelete): New procedure function. | |
| * gm2-compiler/M2Preprocess.mod (GetM): Import. | |
| (GetMM): Import. | |
| (OnExitDelete): Add debugging message. | |
| (RemoveFile): Add debugging message. | |
| (BaseName): Remove. | |
| (BuildCommandLineExecute): New procedure function. | |
| * gm2-compiler/M2Search.def (SetDefExtension): Remove unnecessary | |
| spacing. | |
| * gm2-compiler/SymbolTable.mod (GetSymName): Handle ImportSym and | |
| ImportStatementSym. | |
| * gm2-gcc/m2options.h (M2Options_SetMD): New function. | |
| (M2Options_GetMD): New function. | |
| (M2Options_SetMMD): New function. | |
| (M2Options_GetMMD): New function. | |
| (M2Options_SetM): New function. | |
| (M2Options_GetM): New function. | |
| (M2Options_SetMM): New function. | |
| (M2Options_GetMM): New function. | |
| (M2Options_GetMQ): New function. | |
| (M2Options_SetMF): New function. | |
| (M2Options_GetMF): New function. | |
| (M2Options_SetMT): New function. | |
| (M2Options_SetMP): New function. | |
| (M2Options_GetMP): New function. | |
| (M2Options_GetDepTarget): New function. | |
| * gm2-lang.cc (gm2_langhook_init): Correct comment case. | |
| (gm2_langhook_init_options): Add case OPT_M and | |
| OPT_MM. | |
| (gm2_langhook_post_options): Add case OPT_MF, OPT_MT, | |
| OPT_MD and OPT_MMD. | |
| * lang-specs.h (M2CPP): Pass though MF option. | |
| (MDMMD): New define. Add MDMMD to "@modula-2". | |
| 2023-10-15 Gaius Mulley <gaiusmod2@gmail.com> | |
| * Make-lang.in (m2.tags): New rule. | |
| 2023-10-11 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-compiler/M2GCCDeclare.mod (DeclareSubrange): Check | |
| the base type of the subrange against the ZTYPE and call | |
| DeclareSubrangeNarrow if necessary. | |
| (DeclareSubrangeNarrow): New procedure function. | |
| 2023-10-11 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/111675 | |
| * gm2-compiler/M2CaseList.mod (appendTree): Replace | |
| InitStringCharStar with InitString. | |
| * gm2-compiler/M2GCCDeclare.mod: Import AreConstantsEqual. | |
| (DeclareSubrange): Add zero alignment test and call | |
| BuildSmallestTypeRange if necessary. | |
| (WalkSubrangeDependants): Walk the align expression. | |
| (IsSubrangeDependants): Test the align expression. | |
| * gm2-compiler/M2Quads.mod (BuildStringAdrParam): Correct end name. | |
| * gm2-compiler/P2SymBuild.mod (BuildTypeAlignment): Allow subranges | |
| to be zero aligned (packed). | |
| * gm2-compiler/SymbolTable.mod (Subrange): Add Align field. | |
| (MakeSubrange): Set Align to NulSym. | |
| (PutAlignment): Assign Subrange.Align to align. | |
| (GetAlignment): Return Subrange.Align. | |
| * gm2-gcc/m2expr.cc (noBitsRequired): Rewrite. | |
| (calcNbits): Rename ... | |
| (m2expr_calcNbits): ... to this and test for negative values. | |
| (m2expr_BuildTBitSize): Replace calcNBits with m2expr_calcNbits. | |
| * gm2-gcc/m2expr.def (calcNbits): Export. | |
| * gm2-gcc/m2expr.h (m2expr_calcNbits): New prototype. | |
| * gm2-gcc/m2type.cc (noBitsRequired): Remove. | |
| (m2type_BuildSmallestTypeRange): Call m2expr_calcNbits. | |
| (m2type_BuildSubrangeType): Create range_type from | |
| build_range_type (type, lowval, highval). | |
| 2023-09-29 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-compiler/M2Quads.mod (EndBuildFor): Improve | |
| block comments. | |
| * gm2-libs-iso/SysClock.mod (ExtractDate): Replace | |
| testDays with yearOfDays. New local variable monthOfDays. | |
| 2023-09-26 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/111510 | |
| * gm2-compiler/M2GenGCC.mod (IsExportedGcc): Minor spacing changes. | |
| (BuildTrashTreeFromInterface): Minor spacing changes. | |
| * gm2-compiler/M2Options.mod (GetRuntimeModuleOverride): Call | |
| string to generate a nul terminated C style string. | |
| * gm2-compiler/M2Quads.mod (BuildStringAdrParam): New procedure. | |
| (BuildM2InitFunction): Replace inline parameter generation with | |
| calls to BuildStringAdrParam. | |
| 2023-09-19 Gaius Mulley <gaiusmod2@gmail.com> | |
| * Make-lang.in (host_mc_longreal): Detect hosting on powerpc64le | |
| and if so use __float128 for longreal in mc. | |
| (MC_ARGS): Append host_mc_longreal. | |
| * config-make.in (TEST_TARGET_CPU_DEFAULT): New variable. | |
| (TEST_HOST_CPU_DEFAULT): New variable. | |
| * configure: Regenerate. | |
| * configure.ac (M2C_LONGREAL_FLOAT128): New define set if target | |
| is powerpc64le. | |
| (M2C_LONGREAL_PPC64LE): New define set if target is powerpc64le. | |
| * gm2-compiler/M2GCCDeclare.mod: Correct comment case. | |
| * gm2-compiler/M2GenGCC.mod (MaybeDebugBuiltinAlloca): Call | |
| SetLastFunction for the builtin function call. | |
| (MaybeDebugBuiltinMemcpy): Call SetLastFunction for the builtin | |
| function call. | |
| (MaybeDebugBuiltinMemset): New procedure function. | |
| (MakeCopyUse): Use GNU formatting. | |
| (UseBuiltin): Rewrite to check BuiltinExists. | |
| (CodeDirectCall): Rewrite to check BuiltinExists and call | |
| SetLastFunction. | |
| (CodeMakeAdr): Re-format. | |
| * gm2-compiler/M2Options.def (SetDebugBuiltins): New procedure. | |
| * gm2-compiler/M2Options.mod (SetUninitVariableChecking): Allow | |
| "cond" to switch UninitVariableConditionalChecking separately. | |
| (SetDebugBuiltins): New procedure. | |
| * gm2-compiler/M2Quads.def (BuildFunctionCall): Add parameter | |
| ConstExpr. | |
| * gm2-compiler/M2Quads.mod (BuildRealProcedureCall): Add parameter | |
| to BuildRealFuncProcCall. | |
| (BuildRealFuncProcCall): Add ConstExpr parameter. Pass ConstExpr | |
| to BuildFunctionCall. | |
| (BuildFunctionCall): Add parameter ConstExpr. Pass ConstExpr to | |
| BuildRealFunctionCall. | |
| (BuildConstFunctionCall): Add parameter ConstExpr. Pass ConstExpr to | |
| BuildFunctionCall. | |
| (BuildRealFunctionCall): Add parameter ConstExpr. Pass ConstExpr to | |
| BuildRealFuncProcCall. | |
| * gm2-compiler/P3Build.bnf (SetOrDesignatorOrFunction): Pass FALSE | |
| to BuildFunctionCall. | |
| (AssignmentOrProcedureCall): Pass FALSE to BuildFunctionCall. | |
| * gm2-compiler/SymbolTable.def (IsProcedureBuiltinAvailable): New | |
| procedure function. | |
| * gm2-compiler/SymbolTable.mod (CanUseBuiltin): New procedure | |
| function. | |
| (IsProcedureBuiltinAvailable): New procedure function. | |
| * gm2-gcc/m2builtins.cc (DEBUGGING): Undef. | |
| (bf_category): New enum type. | |
| (struct builtin_function_entry): New field function_avail. | |
| (m2builtins_BuiltInMemCopy): Rename from ... | |
| (m2builtins_BuiltinMemCopy): ... this. | |
| (DoBuiltinMemSet): New function. | |
| (m2builtins_BuiltinMemSet): New function. | |
| (do_target_support_exists): New function. | |
| (target_support_exists): New function. | |
| (m2builtins_BuiltinExists): Return true or false. | |
| (m2builtins_BuildBuiltinTree): Rename local variables. | |
| Replace long_double_type_node with GetM2LongRealType. | |
| (m2builtins_init): Use GetM2LongRealType rather than | |
| long_double_type_node. | |
| * gm2-gcc/m2builtins.def (BuiltInMemCopy): Rename to ... | |
| (BuiltinMemCopy): ... this. | |
| (BuiltinMemSet): New procedure function. | |
| * gm2-gcc/m2builtins.h (m2builtins_BuiltInMemCopy): Rename to ... | |
| (m2builtins_BuiltinMemCopy): ... this. | |
| (m2builtins_BuiltinMemSet): New procedure function. | |
| * gm2-gcc/m2configure.cc (m2configure_M2CLongRealFloat128): New | |
| procedure function. | |
| (m2configure_M2CLongRealIBM128): New procedure function. | |
| (m2configure_M2CLongRealLongDouble): New procedure function. | |
| (m2configure_M2CLongRealLongDoublePPC64LE): New procedure function. | |
| * gm2-gcc/m2configure.def (M2CLongRealFloat128): New procedure function. | |
| (M2CLongRealIBM128): New procedure function. | |
| (M2CLongRealLongDouble): New procedure function. | |
| (M2CLongRealLongDoublePPC64LE): New procedure function. | |
| * gm2-gcc/m2configure.h (m2configure_FullPathCPP): New procedure function. | |
| (m2configure_M2CLongRealFloat128): New procedure function. | |
| (m2configure_M2CLongRealIBM128): New procedure function. | |
| (m2configure_M2CLongRealLongDouble): New procedure function. | |
| (m2configure_M2CLongRealLongDoublePPC64LE): New procedure function. | |
| * gm2-gcc/m2convert.cc (m2convert_BuildConvert): Use convert_loc. | |
| * gm2-gcc/m2options.h (M2Options_SetDebugBuiltins): New function. | |
| * gm2-gcc/m2statement.cc (m2statement_BuildAssignmentTree): Set | |
| TREE_USED to true. | |
| (m2statement_BuildGoto):Set TREE_USED to true. | |
| (m2statement_BuildParam): Set TREE_USED to true. | |
| (m2statement_BuildBuiltinCallTree): New function. | |
| (m2statement_BuildFunctValue): Set TREE_USED to true. | |
| * gm2-gcc/m2statement.def (BuildBuiltinCallTree): New procedure function. | |
| * gm2-gcc/m2statement.h (m2statement_BuildBuiltinCallTree): New | |
| procedure function. | |
| * gm2-gcc/m2treelib.cc (m2treelib_DoCall0): Remove spacing. | |
| (m2treelib_DoCall1): Remove spacing. | |
| (m2treelib_DoCall2): Remove spacing. | |
| (m2treelib_DoCall3): Remove spacing. | |
| (add_stmt): Rename parameter. | |
| * gm2-gcc/m2type.cc (build_set_type): Remove spacing. | |
| (build_m2_specific_size_type): Remove spacing. | |
| (finish_build_pointer_type): Remove spacing. | |
| (m2type_BuildVariableArrayAndDeclare): Remove spacing. | |
| (build_m2_short_real_node): Remove spacing. | |
| (build_m2_real_node): Remove spacing. | |
| (build_m2_long_real_node): Use float128_type_node if | |
| M2CLongRealFloat128 is set. | |
| (build_m2_ztype_node): Remove spacing. | |
| (build_m2_long_int_node): Remove spacing. | |
| (build_m2_long_card_node): Remove spacing. | |
| (build_m2_short_int_node): Remove spacing. | |
| (build_m2_short_card_node): Remove spacing. | |
| (build_m2_iso_loc_node): Remove spacing. | |
| (m2type_SameRealType): New function. | |
| (m2type_InitBaseTypes): Create m2_c_type_node using | |
| m2_long_complex_type_node. | |
| (m2type_SetAlignment): Tidy up comment. | |
| * gm2-gcc/m2type.def (SameRealType): New procedure function. | |
| * gm2-gcc/m2type.h (m2type_SameRealType): New procedure function. | |
| * gm2-lang.cc (gm2_langhook_type_for_mode): Build long complex | |
| node from m2 language specific long double node. | |
| * gm2-libs-log/RealConversions.mod (IsNan): New procedure | |
| function. | |
| (doPowerOfTen): Re-implement. | |
| * gm2-libs/Builtins.mod: Add newline. | |
| * gm2-libs/DynamicStrings.def (ReplaceChar): New procedure function. | |
| * gm2-libs/DynamicStrings.mod (ReplaceChar): New procedure function. | |
| * gm2config.aci.in (M2C_LONGREAL_FLOAT128): New config value. | |
| (M2C_LONGREAL_PPC64LE): New config value. | |
| * gm2spec.cc (lang_specific_driver): New local variable | |
| need_default_mabi set to default value depending upon | |
| M2C_LONGREAL_PPC64LE and M2C_LONGREAL_FLOAT128. | |
| * lang.opt (Wcase-enum): Moved to correct section. | |
| * m2pp.cc (m2pp_real_type): New function. | |
| (m2pp_type): Call m2pp_real_type. | |
| (m2pp_print_mode): New function. | |
| (m2pp_simple_type): Call m2pp_simple_type. | |
| (m2pp_float): New function. | |
| (m2pp_expression): Call m2pp_float. | |
| * mc-boot/GDynamicStrings.cc: Rebuild. | |
| * mc-boot/GDynamicStrings.h: Rebuild. | |
| * mc-boot/GFIO.cc: Rebuild. | |
| * mc-boot/GFIO.h: Rebuild. | |
| * mc-boot/GIO.cc: Rebuild. | |
| * mc-boot/GRTint.cc: Rebuild. | |
| * mc-boot/Gdecl.cc: Rebuild. | |
| * mc-boot/GmcOptions.cc: Rebuild. | |
| * mc-boot/GmcOptions.h: Rebuild. | |
| * mc/decl.mod: Rebuild. | |
| * mc/mcOptions.def (getCRealType): New procedure function. | |
| (getCLongRealType): New procedure function. | |
| (getCShortRealType): New procedure function. | |
| * mc/mcOptions.mod (getCRealType): New procedure function. | |
| (getCLongRealType): New procedure function. | |
| (getCShortRealType): New procedure function. | |
| 2023-09-14 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-compiler/M2CaseList.mod (NewRanges): Add block | |
| comment. | |
| (NewSet): Add block comment. | |
| (DisplayRanges): Add block comment. | |
| (IncludeElement): Add block comment. | |
| (IncludeElements): Add block comment. | |
| (appendString): Add block comment. | |
| (appendEnum): Add block comment. | |
| (appendTree): Add block comment. | |
| (SubrangeErrors): Add block comment. | |
| 2023-09-14 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-compiler/M2CaseList.mod (appendString): New procedure. | |
| (appendEnum): Re-implement. | |
| (NoOfSetElements): New procedure function. | |
| (isPrintableChar): New procedure function. | |
| (appendTree): New procedure. | |
| (SubrangeErrors): New procedure. | |
| (EmitMissingRangeErrors): Call SubrangeErrors if appropriate. | |
| * gm2-compiler/M2SymInit.mod (SetFieldInitializedNo): Avoid | |
| using a temporary variable once. | |
| (IsLocalVar): Comment out. | |
| (RecordContainsVarient): Remove fieldtype. | |
| (GenerateNoteFlow): Remove lst parameter. | |
| (CheckDeferredRecordAccess): Remove lst parameter. | |
| (CheckUnary): Remove lst parameter. Remove procSym. | |
| (CheckBinary): Remove lst parameter. Remove procSym. | |
| (CheckIndrX): Remove lst parameter. Remove procSym. | |
| (CheckXIndr): Remove bblst and procSym parameters. | |
| (CheckRecordField): Remove procSym, op1tok, op2tok and op2. | |
| (CheckBecomes): Remove procSym and bblst. | |
| (CheckComparison): Remove procSym and bblst. | |
| (CheckAddr): Remove procSym parameter. | |
| * gm2-gcc/m2expr.cc (m2expr_CSTIntToString): New function. | |
| (m2expr_CSTIntToChar): New function. | |
| * gm2-gcc/m2expr.def (CSTIntToString): New procedure function | |
| declaration. | |
| (CSTIntToChar): New procedure function declaration. | |
| * gm2-gcc/m2expr.h (m2expr_CSTIntToChar): New prototype. | |
| (m2expr_CSTIntToString): New prototype. | |
| 2023-09-13 Gaius Mulley <gaiusmod2@gmail.com> | |
| * Make-lang.in (GM2_FLAGS): Add -Wcase-enum. | |
| (GM2_ISO_FLAGS): Add -Wcase-enum. | |
| * gm2-compiler/M2CaseList.mod (EnumerateErrors): Issue | |
| singular or plural start text prior to the enum list. | |
| Remove unused parameter tokenno. | |
| (EmitMissingRangeErrors): New procedure. | |
| (MissingCaseBounds): Call EmitMissingRangeErrors. | |
| (MissingCaseStatementBounds): Call EmitMissingRangeErrors. | |
| * gm2-libs-iso/TextIO.mod: Fix spacing. | |
| 2023-09-12 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-compiler/M2CaseList.def (PushCase): Rename parameters | |
| r to rec and v to va. Add expr parameter. | |
| (MissingCaseStatementBounds): New procedure function. | |
| * gm2-compiler/M2CaseList.mod (RangePair): Add expression. | |
| (PushCase): Rename parameters r to rec and v to va. Add | |
| expr parameter. | |
| (RemoveRange): New procedure function. | |
| (SubBitRange): Detect the case when the range in the set matches | |
| lo..hi. | |
| (CheckLowHigh): New procedure. | |
| (ExcludeCaseRanges): Rename parameter c to cd. Rename local | |
| variables q to cl and r to rp. | |
| (High): Remove. | |
| (Low): Remove. | |
| (DoEnumValues): Remove. | |
| (IncludeElement): New procedure. | |
| (IncludeElements): New procedure. | |
| (ErrorRangeEnum): New procedure. | |
| (ErrorRange): Remove. | |
| (ErrorRanges): Remove. | |
| (appendEnum): New procedure. | |
| (appendStr): New procedure. | |
| (EnumerateErrors): New procedure. | |
| (MissingCaseBounds): Re-implement. | |
| (InRangeList): Remove. | |
| (MissingCaseStatementBounds): New procedure function. | |
| (checkTypes): Re-format. | |
| (inRange): Re-format. | |
| (TypeCaseBounds): Re-format. | |
| * gm2-compiler/M2Error.mod (GetAnnounceScope): Add noscope to | |
| case label list. | |
| * gm2-compiler/M2GCCDeclare.mod: Replace ForeachFieldEnumerationDo | |
| with ForeachLocalSymDo. | |
| * gm2-compiler/M2Options.def (SetCaseEnumChecking): New procedure. | |
| (CaseEnumChecking): New variable. | |
| * gm2-compiler/M2Options.mod (SetCaseEnumChecking): New procedure. | |
| (Module initialization): set CaseEnumChecking to FALSE. | |
| * gm2-compiler/M2Quads.def (QuadOperator): Alphabetically ordered. | |
| * gm2-compiler/M2Quads.mod (IsBackReferenceConditional): Add else | |
| clause. | |
| (BuildCaseStart): Pass selector expression to InitCaseBounds. | |
| (CheckUninitializedVariablesAreUsed): Remove. | |
| (IsInlineWithinBlock): Remove. | |
| (AsmStatementsInBlock): Remove. | |
| (CheckVariablesInBlock): Remove commented code. | |
| (BeginVarient): Pass NulSym to InitCaseBounds. | |
| * gm2-compiler/M2Range.mod (FoldCaseBounds): New local variable | |
| errorGenerated. Add call to MissingCaseStatementBounds. | |
| * gm2-compiler/P3Build.bnf (CaseEndStatement): Call ElseCase. | |
| * gm2-compiler/PCSymBuild.mod (InitDesExpr): Add else clause. | |
| (InitFunction): Add else clause. | |
| (InitConvert): Add else clause. | |
| (InitLeaf): Add else clause. | |
| (InitBinary): Add else clause. | |
| (InitUnary): Add else clause. | |
| * gm2-compiler/SymbolTable.def (GetNth): Re-write comment. | |
| (ForeachFieldEnumerationDo): Re-write comment stating alphabetical | |
| traversal. | |
| * gm2-compiler/SymbolTable.mod (GetNth): Re-write comment. | |
| Add case label for EnumerationSym and call GetItemFromList. | |
| (ForeachFieldEnumerationDo): Re-write comment stating alphabetical | |
| traversal. | |
| (SymEnumeration): Add ListOfFields used for declaration order. | |
| (MakeEnumeration): Initialize ListOfFields. | |
| (PutFieldEnumeration): Include Field in ListOfFields. | |
| * gm2-gcc/m2options.h (M2Options_SetCaseEnumChecking): New | |
| function. | |
| * gm2-lang.cc (gm2_langhook_handle_option): Add | |
| OPT_Wcase_enum case and call M2Options_SetCaseEnumChecking. | |
| * lang.opt (Wcase-enum): Add. | |
| 2023-09-11 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/111330 | |
| * gm2-compiler/M2SymInit.mod (CheckReadBeforeInitQuad): Add | |
| case labels LogicalDiffOp, DummyOp, OptParamOp and | |
| InitAddressOp. | |
| 2023-08-20 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/111085 | |
| * gm2-libs/Builtins.def (nexttoward): Alter the second | |
| parameter to LONGREAL. | |
| (nexttowardf): Alter the second parameter to LONGREAL. | |
| * gm2-libs/Builtins.mod (nexttoward): Alter the second | |
| parameter to LONGREAL. | |
| (nexttowardf): Alter the second parameter to LONGREAL. | |
| * gm2-libs/cbuiltin.def (nexttoward): Alter the second | |
| parameter to LONGREAL. | |
| (nexttowardf): Alter the second parameter to LONGREAL. | |
| 2023-08-13 Iain Sandoe <iain@sandoe.co.uk> | |
| * Make-lang.in: Update suffix spellings to use 'soext'. | |
| Add libc to the plugin link. | |
| 2023-08-12 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/110779 | |
| * gm2-libs-iso/SysClock.mod (EpochTime): New procedure. | |
| (GetClock): Call EpochTime if the C time functions are | |
| unavailable. | |
| * gm2-libs-iso/wrapclock.def (istimezone): New function | |
| definition. | |
| 2023-08-12 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/108119 | |
| * Make-lang.in (M2RTE_PLUGIN_SO): Assigned to | |
| plugin/m2rte$(exeext).so if enable_plugin is yes. | |
| (m2.all.cross): Replace plugin/m2rte$(soext) with | |
| $(M2RTE_PLUGIN_SO). | |
| (m2.all.encap): Replace plugin/m2rte$(soext) with | |
| $(M2RTE_PLUGIN_SO). | |
| (m2.install-plugin): Add dummy rule when enable_plugin | |
| is not yes. | |
| (plugin/m2rte$(exeext).so): Add dummy rule when enable_plugin | |
| is not yes. | |
| (m2/stage2/cc1gm2$(exeext)): Replace plugin/m2rte$(soext) with | |
| $(M2RTE_PLUGIN_SO). | |
| (m2/stage1/cc1gm2$(exeext)): Replace plugin/m2rte$(soext) with | |
| $(M2RTE_PLUGIN_SO). | |
| * gm2spec.cc (lang_specific_driver): Set need_plugin to false | |
| by default. | |
| 2023-08-09 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/110779 | |
| * gm2-libs-iso/SysClock.mod (GetClock): Test GetTimespec | |
| return value. | |
| (SetClock): Test SetTimespec return value. | |
| * gm2-libs-iso/wrapclock.def (GetTimespec): Add integer | |
| return type. | |
| (SetTimespec): Add integer return type. | |
| 2023-08-05 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/110779 | |
| * gm2-libs-iso/SysClock.mod: Re-implement using wrapclock. | |
| * gm2-libs-iso/wrapclock.def: New file. | |
| 2023-08-01 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/110161 | |
| * gm2-compiler/M2Check.mod (checkProcTypeEquivalence): New | |
| procedure function. | |
| (checkTypeKindEquivalence): Call checkProcTypeEquivalence | |
| if either left or right is a proc type. | |
| * gm2-compiler/M2Quads.mod (BuildRelOp): Create | |
| combinedTok prior to creating the range check quadruple. | |
| Use combinedTok when creating the range check quadruple. | |
| 2023-08-01 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/110865 | |
| * gm2-compiler/M2Quads.mod (BuildDesignatorArray): | |
| Rename t as type and d as dim. New variable result. | |
| Allow constants of an array type to be indexed. | |
| 2023-07-25 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/110174 | |
| * gm2-compiler/M2GCCDeclare.def (PromoteToCString): New procedure | |
| function. | |
| * gm2-compiler/M2GCCDeclare.mod (PromoteToCString): New procedure | |
| function. | |
| * gm2-compiler/M2GenGCC.mod (BuildTreeFromInterface): Call | |
| skip_const_decl before chaining the parameter value. | |
| Use PromoteToCString to ensure the string is nul terminated. | |
| (CodeInline): Remove all parameters and replace with quad. | |
| Use GetQuadOtok to get operand token numbers. | |
| Remove call to DeclareConstant and replace it with PromoteToCString. | |
| * gm2-compiler/M2Quads.def (BuildInline): Rename into ... | |
| (BuildAsm): ... this. | |
| * gm2-compiler/M2Quads.mod: (BuildInline): Rename into ... | |
| (BuildAsm): ... this. | |
| (BuildAsmElement): Add debugging. | |
| * gm2-compiler/P1Build.bnf: Remove import of BuildInline. | |
| * gm2-compiler/P2Build.bnf: Remove import of BuildInline. | |
| * gm2-compiler/P3Build.bnf: Remove import of BuildInline and | |
| import BuildAsm. | |
| * gm2-compiler/PHBuild.bnf: Remove import of BuildInline. | |
| * gm2-libs-iso/SysClock.mod (foo): Remove. | |
| * gm2-libs/FIO.mod (BufferedRead): Rename parameter a to dest. | |
| Rename variable t to src. | |
| * m2pp.cc (pf): Correct block comment. | |
| (pe): Correct block comment. | |
| (m2pp_asm_expr): New function. | |
| (m2pp_statement): Call m2pp_asm_expr. | |
| 2023-07-22 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/110631 | |
| * gm2-libs/FIO.def (ReadAny): Correct comment as | |
| HIGH (a) + 1 is number of bytes. | |
| (WriteAny): Correct comment as HIGH (a) + 1 is number of | |
| bytes. | |
| * gm2-libs/FIO.mod (ReadAny): Correct comment as | |
| HIGH (a) + 1 is number of bytes. Also pass HIGH (a) + 1 | |
| to BufferedRead. | |
| (WriteAny): Correct comment as HIGH (a) + 1 is number of | |
| bytes. Also pass HIGH (a) + 1 to BufferedWrite. | |
| (BufferedWrite): Rename parameter a to src, rename variable | |
| t to dest. Correct parameter order to memcpy. | |
| 2023-07-20 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-compiler/M2SymInit.mod (IsExempt): Remove parameter exemption. | |
| (CheckIndrX): Call SetupLAlias between lhs and content. | |
| (trashParam): Re-write. | |
| (SetVarLRInitialized): Indicate shadow and heap are initialized. | |
| Call SetupIndr between shadow and heap. | |
| * gm2-compiler/P2SymBuild.mod: Import | |
| PutProcedureParameterHeapVars. | |
| (EndBuildProcedure): Call PutProcedureParameterHeapVars. | |
| * gm2-compiler/SymbolTable.def (GetParameterHeapVar): New | |
| procedure function. | |
| (PutProcedureParameterHeapVars): New procedure function. | |
| * gm2-compiler/SymbolTable.mod (MakeParameterHeapVar): New | |
| procedure function. | |
| (GetParameterHeapVar): New procedure function. | |
| (PuttParameterHeapVar): New procedure function. | |
| (PutProcedureParameterHeapVars): New procedure. | |
| (VarParam): HeapVar new record field. | |
| (PutVarParam): HeapVar assigned to NulSym. | |
| 2023-07-19 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/110284 | |
| * Make-lang.in (m2_OBJS): Add m2/gm2-gcc/rtegraph.o and | |
| m2/gm2-compiler-boot/m2flex.o. | |
| (c-family/m2pp.o): Remove. | |
| * Make-maintainer.in (c-family/m2pp.o): Add. | |
| 2023-07-19 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-compiler/M2Quads.mod (BuildDifAdrFunction): Removed | |
| unnecessary in error message. Use vartok for location. | |
| (BuildOddFunction): Use optok for location. | |
| (BuildAbsFunction): Use vartok for location. Bugfix set vartok. | |
| (BuildCapFunction): Use optok for location. | |
| (BuildOrdFunction): Use optok for location and correct format | |
| specifier. | |
| (BuildShiftFunction): Use vartok for location. | |
| (BuildRotateFunction): Use vartok for location. | |
| (BuildTruncFunction): Use vartok for location. | |
| (BuildFloatFunction): Use vartok for location. | |
| (BuildReFunction): Use vartok for location. | |
| (BuildImFunction): Use vartok for location. | |
| * gm2-compiler/M2SymInit.mod (trashParam): Remove commented code. | |
| 2023-07-19 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-compiler/M2Quads.mod (BuildRealFuncProcCall): Set the trash | |
| parameter value to NIL if DEALLOCATE is detected. | |
| * gm2-compiler/M2SymInit.mod (CheckDeferredRecordAccess): Pass | |
| tok to SetVarInitialized. Pass tok to GetVarComponentInitialized. | |
| (ComponentFindVar): Add tok parameter. Check aliased pointer | |
| against Nil and generate warning if necessary. | |
| (deRefComponent): Add tok and sym parameters and pass them to | |
| getContent. | |
| (SetVarComponentInitialized): Add tok parameter. Pass tok to | |
| ComponentFindVar. Pass tok and sym to deRefComponent. | |
| (GetVarComponentInitialized): Add tok parameter. Pass tok to | |
| ComponentFindVar. Pass tok to deRefComponent. | |
| (SetVarInitialized): Add tok parameter. Pass tok to | |
| SetVarComponentInitialized. | |
| (doGetVarInitialized): Add tok parameter. Pass tok to | |
| GetVarComponentInitialized. | |
| (CheckXIndr): Pass lhs and lhstok to getContent. | |
| (CheckIndrX): Pass rhs and rhstok to getContent. | |
| (CheckBecomes): Pass destok to ComponentFindVar. Pass des and | |
| destok to deRefComponent. | |
| (CheckAddr): Pass contenttok to GetVarInitialized. Pass ptrtok | |
| to SetVarInitialized. | |
| (CheckReadBeforeInitQuad): Pass op1tok to SetVarInitialized for | |
| op1 cases and op3tok for op3 cases. | |
| (trashParam): Get operand tokens. Pass op3tok to | |
| SetVarInitialized. Pass op3 and op3tok to getContent. | |
| Alias ptr to NIL if procedure is DEALLOCATE. Pass op3tok to | |
| SetVarInitialized. | |
| (IsDeallocate): New procedure function. | |
| (DetectTrash): Use IsDeallocate. | |
| (SetupLAlias): Allow exp to be Nil. | |
| (getContent): Generate warning message if ptr is Nil. | |
| 2023-07-18 Gaius Mulley <gaiusmod2@gmail.com> | |
| * Make-lang.in: Minor formatting change. | |
| * gm2-compiler/M2GCCDeclare.mod | |
| (DeclareUnboundedProcedureParameters): Rename local variables. | |
| (WalkUnboundedProcedureParameters): Rename local variables. | |
| (DoVariableDeclaration): Avoid declaration of a variable if | |
| it is on the heap (used by static analysis only). | |
| * gm2-compiler/M2GenGCC.mod: Formatting. | |
| * gm2-compiler/M2Quads.def (GetQuadTrash): New procedure function. | |
| * gm2-compiler/M2Quads.mod (GetQuadTrash): New procedure function. | |
| (QuadFrame): Add Trash field. | |
| (BuildRealFuncProcCall): Detect ALLOCATE and DEALLOCATE and create | |
| a heap variable for parameter 1 saving it as the trashed variable | |
| for static analysis. | |
| (GenQuadOTrash): New procedure. | |
| (DisplayQuadRange): Bugfix. Write the scope number. | |
| * gm2-compiler/M2SymInit.mod: Rewritten to separate LValue | |
| equivalence from LValue to RValue pairings. Comprehensive | |
| detection of variant record implemented. Allow dereferencing | |
| of pointers through LValue/RValue chains. | |
| * gm2-compiler/SymbolTable.def (PutVarHeap): New procedure. | |
| (IsVarHeap): New procedure function. | |
| (ForeachParamSymDo): New procedure. | |
| * gm2-compiler/SymbolTable.mod (PutVarHeap): New procedure. | |
| (IsVarHeap): New procedure function. | |
| (ForeachParamSymDo): New procedure. | |
| (MakeVariableForParam): Reformatted. | |
| (CheckForUnknownInModule): Reformatted. | |
| (SymVar): Add field Heap. | |
| (MakeVar): Assign Heap to FALSE. | |
| 2023-07-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
| * Make-lang.in (m2/boot-bin/mklink$(exeext)): Add $(LDFLAGS). | |
| 2023-07-11 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-compiler/M2BasicBlock.def (InitBasicBlocksFromRange): New | |
| parameter ScopeSym. | |
| * gm2-compiler/M2BasicBlock.mod (ConvertQuads2BasicBlock): New | |
| parameter ScopeSym. | |
| (InitBasicBlocksFromRange): New parameter ScopeSym. Call | |
| ConvertQuads2BasicBlock with ScopeSym. | |
| (DisplayBasicBlocks): Uncomment. | |
| * gm2-compiler/M2Code.mod: Replace VariableAnalysis with | |
| ScopeBlockVariableAnalysis. | |
| (InitialDeclareAndOptiomize): Add parameter scope. | |
| (SecondDeclareAndOptimize): Add parameter scope. | |
| * gm2-compiler/M2GCCDeclare.mod (DeclareConstructor): Add scope | |
| parameter to DeclareTypesConstantsProceduresInRange. | |
| (DeclareTypesConstantsProceduresInRange): New parameter scope. | |
| Pass scope to DisplayQuadRange. Reformatted. | |
| * gm2-compiler/M2GenGCC.def (ConvertQuadsToTree): New parameter | |
| scope. | |
| * gm2-compiler/M2GenGCC.mod (ConvertQuadsToTree): New parameter | |
| scope. | |
| * gm2-compiler/M2Optimize.mod (KnownReachable): New parameter | |
| scope. | |
| * gm2-compiler/M2Options.def (SetUninitVariableChecking): Add | |
| arg parameter. | |
| * gm2-compiler/M2Options.mod (SetUninitVariableChecking): Add | |
| arg parameter and set boolean UninitVariableChecking and | |
| UninitVariableConditionalChecking. | |
| (UninitVariableConditionalChecking): New boolean set to FALSE. | |
| * gm2-compiler/M2Quads.def (IsGoto): New procedure function. | |
| (DisplayQuadRange): Add scope parameter. | |
| (LoopAnalysis): Add scope parameter. | |
| * gm2-compiler/M2Quads.mod: Import PutVarArrayRef. | |
| (IsGoto): New procedure function. | |
| (LoopAnalysis): Add scope parameter and use MetaErrorT1 instead | |
| of WarnStringAt. | |
| (BuildStaticArray): Call PutVarArrayRef. | |
| (BuildDynamicArray): Call PutVarArrayRef. | |
| (DisplayQuadRange): Add scope parameter. | |
| (GetM2OperatorDesc): Add relational condition cases. | |
| * gm2-compiler/M2Scope.def (ScopeProcedure): Add parameter. | |
| * gm2-compiler/M2Scope.mod (DisplayScope): Pass scopeSym to | |
| DisplayQuadRange. | |
| (ForeachScopeBlockDo): Pass scopeSym to p. | |
| * gm2-compiler/M2SymInit.def (VariableAnalysis): Rename to ... | |
| (ScopeBlockVariableAnalysis): ... this. | |
| * gm2-compiler/M2SymInit.mod (ScopeBlockVariableAnalysis): Add | |
| scope parameter. | |
| (bbEntry): New pointer to record. | |
| (bbArray): New array. | |
| (bbFreeList): New variable. | |
| (errorList): New list. | |
| (IssueConditional): New procedure. | |
| (GenerateNoteFlow): New procedure. | |
| (IssueWarning): New procedure. | |
| (IsUniqueWarning): New procedure. | |
| (CheckDeferredRecordAccess): Re-implement. | |
| (CheckBinary): Add warning and lst parameters. | |
| (CheckUnary): Add warning and lst parameters. | |
| (CheckXIndr): Add warning and lst parameters. | |
| (CheckIndrX): Add warning and lst parameters. | |
| (CheckBecomes): Add warning and lst parameters. | |
| (CheckComparison): Add warning and lst parameters. | |
| (CheckReadBeforeInitQuad): Add warning and lst parameters to all | |
| Check procedures. Add all case quadruple clauses. | |
| (FilterCheckReadBeforeInitQuad): Add warning and lst parameters. | |
| (CheckReadBeforeInitFirstBasicBlock): Add warning and lst parameters. | |
| (bbArrayKill): New procedure. | |
| (DumpBBEntry): New procedure. | |
| (DumpBBArray): New procedure. | |
| (DumpBBSequence): New procedure. | |
| (TestBBSequence): New procedure. | |
| (CreateBBPermultations): New procedure. | |
| (ScopeBlockVariableAnalysis): New procedure. | |
| (GetOp3): New procedure. | |
| (GenerateCFG): New procedure. | |
| (NewEntry): New procedure. | |
| (AppendEntry): New procedure. | |
| (init): Initialize bbFreeList and errorList. | |
| * gm2-compiler/SymbolTable.def (PutVarArrayRef): New procedure. | |
| (IsVarArrayRef): New procedure function. | |
| * gm2-compiler/SymbolTable.mod (SymVar): ArrayRef new field. | |
| (MakeVar): Set ArrayRef to FALSE. | |
| (PutVarArrayRef): New procedure. | |
| (IsVarArrayRef): New procedure function. | |
| * gm2-gcc/init.cc (_M2_M2SymInit_init): New prototype. | |
| (init_PerCompilationInit): Add call to _M2_M2SymInit_init. | |
| * gm2-gcc/m2options.h (M2Options_SetUninitVariableChecking): | |
| New definition. | |
| * gm2-lang.cc (gm2_langhook_handle_option): Add new case | |
| OPT_Wuninit_variable_checking_. | |
| * lang.opt: Wuninit-variable-checking= new entry. | |
| 2023-07-03 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/110125 | |
| * Make-lang.in (GM2-COMP-BOOT-DEFS): Add M2SymInit.def. | |
| (GM2-COMP-BOOT-MODS): Add M2SymInit.mod. | |
| * gm2-compiler/M2BasicBlock.mod: Formatting changes. | |
| * gm2-compiler/M2Code.mod: Remove import of VariableAnalysis from | |
| M2Quads. Import VariableAnalysis from M2SymInit.mod. | |
| * gm2-compiler/M2GCCDeclare.mod (PrintVerboseFromList): | |
| Add debugging print for a component. | |
| (TypeConstFullyDeclared): Call RememberType for every type. | |
| * gm2-compiler/M2GenGCC.mod (CodeReturnValue): Add parameter to | |
| GetQuadOtok. | |
| (CodeBecomes): Add parameter to GetQuadOtok. | |
| (CodeXIndr): Add parameter to GetQuadOtok. | |
| * gm2-compiler/M2Optimize.mod (ReduceBranch): Reformat and | |
| preserve operand token positions when reducing the branch | |
| quadruples. | |
| (ReduceGoto): Reformat. | |
| (FoldMultipleGoto): Reformat. | |
| (KnownReachable): Reformat. | |
| * gm2-compiler/M2Options.def (UninitVariableChecking): New | |
| variable declared and exported. | |
| (SetUninitVariableChecking): New procedure. | |
| * gm2-compiler/M2Options.mod (SetWall): Set | |
| UninitVariableChecking. | |
| (SetUninitVariableChecking): New procedure. | |
| * gm2-compiler/M2Quads.def (PutQuadOtok): Exported and declared. | |
| (VariableAnalysis): Removed. | |
| * gm2-compiler/M2Quads.mod (PutQuadOtok): New procedure. | |
| (doVal): Reformatted. | |
| (MarkAsWrite): Reformatted. | |
| (MarkArrayAsWritten): Reformatted. | |
| (doIndrX): Use PutQuadOtok. | |
| (MakeRightValue): Use GenQuadOtok. | |
| (MakeLeftValue): Use GenQuadOtok. | |
| (CheckReadBeforeInitialized): Remove. | |
| (IsNeverAltered): Reformat. | |
| (DebugLocation): New procedure. | |
| (BuildDesignatorPointer): Use GenQuadO to preserve operand token | |
| position. | |
| (BuildRelOp): Use GenQuadOtok ditto. | |
| * gm2-compiler/SymbolTable.def (VarCheckReadInit): New procedure. | |
| (VarInitState): New procedure. | |
| (PutVarInitialized): New procedure. | |
| (PutVarFieldInitialized): New procedure function. | |
| (GetVarFieldInitialized): New procedure function. | |
| (PrintInitialized): New procedure. | |
| * gm2-compiler/SymbolTable.mod (VarCheckReadInit): New procedure. | |
| (VarInitState): New procedure. | |
| (PutVarInitialized): New procedure. | |
| (PutVarFieldInitialized): New procedure function. | |
| (GetVarFieldInitialized): New procedure function. | |
| (PrintInitialized): New procedure. | |
| (LRInitDesc): New type. | |
| (SymVar): InitState new field. | |
| (MakeVar): Initialize InitState. | |
| * gm2-gcc/m2options.h (M2Options_SetUninitVariableChecking): | |
| New function declaration. | |
| * gm2-lang.cc (gm2_langhook_handle_option): Detect | |
| OPT_Wuninit_variable_checking and call SetUninitVariableChecking. | |
| * lang.opt: Add Wuninit-variable-checking. | |
| * gm2-compiler/M2SymInit.def: New file. | |
| * gm2-compiler/M2SymInit.mod: New file. | |
| 2023-06-30 Iain Sandoe <iain@sandoe.co.uk> | |
| PR testsuite/108835 | |
| * gm2-libs/RTint.mod: Do not use NIL timeout setting on select, | |
| test failures sequentially, finishing on the first success. | |
| 2023-06-18 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/110284 | |
| * Make-lang.in (m2_OBJS): Assign $(GM2_C_OBJS). | |
| (GM2_C_OBJS): Remove m2/stor-layout.o. | |
| (m2/stor-layout.o): Remove rule. | |
| * gm2-gcc/gcc-consolidation.h (rtl.h): Remove include. | |
| (df.h): Remove include. | |
| (except.h): Remove include. | |
| 2023-06-15 Marek Polacek <polacek@redhat.com> | |
| * Make-lang.in: New var, GM2_PICFLAGS. Use it. | |
| 2023-06-13 Gaius Mulley <gaiusmod2@gmail.com> | |
| * Make-lang.in (check-format-error): New rule. | |
| * gm2-compiler/M2MetaError.mod (op): Add calls InternalError if | |
| digits are detected. | |
| * gm2-compiler/M2Quads.mod (BuildForToByDo): Bugfix to format | |
| specifier. | |
| (BuildLengthFunction): Bugfix to format specifiers. | |
| (BuildOddFunction): Bugfix to format specifiers. | |
| (BuildAbsFunction): Bugfix to format specifiers. | |
| (BuildCapFunction): Bugfix to format specifiers. | |
| (BuildChrFunction): Bugfix to format specifiers. | |
| (BuildOrdFunction): Bugfix to format specifiers. | |
| (BuildMakeAdrFunction): Bugfix to format specifiers. | |
| (BuildSizeFunction): Bugfix to format specifiers. | |
| (BuildBitSizeFunction): Bugfix to format specifiers. | |
| * tools-src/checkmeta.py: New file. | |
| 2023-06-12 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/110189 | |
| * gm2-compiler/M2Quads.mod (BuildAbsFunction): Replace abort | |
| format specifier. | |
| (BuildValFunction): Replace abort format specifier. | |
| (BuildCastFunction): Replace abort format specifier. | |
| (BuildMinFunction): Replace abort format specifier. | |
| (BuildMaxFunction): Replace abort format specifier. | |
| (BuildTruncFunction): Replace abort format specifier. | |
| * gm2-compiler/P3Build.bnf (Pass1): Remove. | |
| (Pass2): Remove. | |
| (Pass3): Remove. | |
| (Expect): Add Pass1. | |
| (AsmStatement): Remove Pass3. | |
| (AsmOperands): Remove Pass3. | |
| (AsmOperandSpec): Remove Pass3. | |
| (AsmInputElement): Remove Pass3. | |
| (AsmOutputElement): Remove Pass3. | |
| (AsmTrashList): Remove Pass3. | |
| 2023-06-12 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/110126 | |
| * gm2-compiler/M2Quads.def (BuildAsmElement): Remove | |
| trash parameter. | |
| (BuildAsmTrash): New procedure. | |
| * gm2-compiler/M2Quads.mod (BuildAsmTrash): New procedure. | |
| (BuildAsmElement): Remove trash parameter. | |
| * gm2-compiler/P3Build.bnf (AsmTrashList): Rewrite. | |
| 2023-06-08 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/110126 | |
| * gm2-compiler/M2GenGCC.mod (BuildTreeFromInterface): Remove | |
| tokenno parameter. Use object tok instead of tokenno. | |
| (BuildTrashTreeFromInterface): Use object tok instead of | |
| GetDeclaredMod. | |
| (CodeInline): Remove tokenno from parameter list to BuildTreeFromInterface. | |
| * gm2-compiler/M2Quads.def (BuildAsmElement): Exported and | |
| defined. | |
| * gm2-compiler/M2Quads.mod (BuildOptimizeOff): Reformatted. | |
| (BuildInline): Reformatted. | |
| (BuildLineNo): Reformatted. | |
| (UseLineNote): Reformatted. | |
| (BuildAsmElement): New procedure. | |
| * gm2-compiler/P0SyntaxCheck.bnf (AsmOperands): Use | |
| ConstExpression instead of string. | |
| (AsmElement): Use ConstExpression instead of string. | |
| (TrashList): Use ConstExpression instead of string. | |
| * gm2-compiler/P1Build.bnf (AsmOperands): Use | |
| ConstExpression instead of string. | |
| (AsmElement): Use ConstExpression instead of string. | |
| (TrashList): Use ConstExpression instead of string. | |
| * gm2-compiler/P2Build.bnf (AsmOperands): Use | |
| ConstExpression instead of string. | |
| (AsmElement): Use ConstExpression instead of string. | |
| (TrashList): Use ConstExpression instead of string. | |
| * gm2-compiler/P3Build.bnf (AsmOperands): Rewrite. | |
| (AsmOperandSpec): Rewrite. | |
| (AsmOutputList): New rule. | |
| (AsmInputList): New rule. | |
| (TrashList): Rewrite. | |
| * gm2-compiler/PCBuild.bnf (AsmOperands): Use | |
| ConstExpression instead of string. | |
| (AsmElement): Use ConstExpression instead of string. | |
| (TrashList): Use ConstExpression instead of string. | |
| * gm2-compiler/PHBuild.bnf (AsmOperands): Use | |
| ConstExpression instead of string. | |
| (AsmElement): Use ConstExpression instead of string. | |
| (TrashList): Use ConstExpression instead of string. | |
| * gm2-compiler/SymbolTable.def (PutRegInterface): | |
| Rewrite interface. | |
| (GetRegInterface): Rewrite interface. | |
| * gm2-compiler/SymbolTable.mod (SetFirstUsed): New procedure. | |
| (PutFirstUsed): New procedure. | |
| (PutRegInterface): Rewrite. | |
| (GetRegInterface): Rewrite. | |
| 2023-06-07 Jakub Jelinek <jakub@redhat.com> | |
| * Make-lang.in: Build $(generated_files) before building | |
| all $(GM2_C_OBJS). | |
| 2023-06-07 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/110019 | |
| * gm2-compiler/SymbolKey.mod (SearchAndDo): Reformatted. | |
| (ForeachNodeDo): Reformatted. | |
| * gm2-compiler/SymbolTable.mod (AddListify): Join list | |
| with "," or "and" if more than one word is in the list. | |
| * m2.flex: Remove -1 from atoi(yytext) line number. | |
| 2023-06-03 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/110003 | |
| * gm2-compiler/P2SymBuild.mod (GetParameterShadowVar): Import. | |
| (CheckFormalParameterSection): Call PutDeclared for the shadow | |
| variable associated with the parameter. | |
| 2023-05-24 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/109952 | |
| * Make-maintainer.in: Change header to include emacs file mode. | |
| * gm2-compiler/M2GenGCC.mod (BuildHighFromChar): Check whether | |
| operand is a constant string and is nul terminated then return one. | |
| * gm2-compiler/PCSymBuild.mod (WalkFunction): Add default return | |
| TRUE. Static analysis missing return path fix. | |
| * gm2-libs/IO.mod (Init): Rewrite to help static analysis. | |
| * target-independent/m2/gm2-libs.texi: Rebuild. | |
| 2023-05-19 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/109908 | |
| * gm2-libs-iso/Strings.mod (Delete): Re-implement. | |
| 2023-05-18 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> | |
| * gm2-gcc/m2builtins.cc (doradix): Use _P defines from tree.h. | |
| (doplaces): Ditto. | |
| (doexponentmin): Ditto. | |
| (doexponentmax): Ditto. | |
| (dolarge): Ditto. | |
| (dosmall): Ditto. | |
| (dogUnderflow): Ditto. | |
| * gm2-gcc/m2convert.cc (unsafe_conversion_p): Ditto. | |
| * gm2-gcc/m2expr.cc (m2expr_build_unary_op_check): Ditto. | |
| (m2expr_build_binary_op_check): Ditto. | |
| * gm2-gcc/m2tree.cc (m2tree_is_var): Ditto. | |
| * gm2-gcc/m2treelib.cc (build_modify_expr): Ditto. | |
| * gm2-gcc/m2type.cc (gm2_finish_decl): Ditto. | |
| * m2pp.cc (hextree): Ditto. | |
| (m2pp_call_expr): Ditto. | |
| 2023-05-17 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-libs-iso/LongWholeIO.mod (WriteInt): Only request a | |
| sign if the value is < 0. | |
| * gm2-libs-iso/ShortWholeIO.mod (WriteInt): Only request a | |
| sign if the value is < 0. | |
| * gm2-libs-iso/WholeIO.mod (WriteInt): Only request a sign | |
| if the value is < 0. | |
| * gm2-libs-iso/WholeStr.mod (WriteInt): Only request a sign | |
| if the value is < 0. | |
| 2023-05-16 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/109879 | |
| * gm2-libs-iso/LongIO.mod (ReadReal): Call SkipSpaces. | |
| * gm2-libs-iso/LongWholeIO.mod (ReadInt): Call SkipSpaces. | |
| (ReadCard): Call SkipSpaces. | |
| * gm2-libs-iso/RealIO.mod (ReadReal): Call SkipSpaces. | |
| * gm2-libs-iso/ShortWholeIO.mod: (ReadInt): Call SkipSpaces. | |
| (ReadCard): Call SkipSpaces. | |
| * gm2-libs-iso/TextIO.mod: Import SkipSpaces. | |
| * gm2-libs-iso/WholeIO.mod (ReadInt): Call SkipSpaces. | |
| (ReadCard): Call SkipSpaces. | |
| * gm2-libs-iso/TextUtil.def: New file. | |
| * gm2-libs-iso/TextUtil.mod: New file. | |
| 2023-05-16 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/108344 | |
| * gm2-libs-coroutines/TimerHandler.mod (EnableLED): New constant. | |
| (Timer): Test EnableLED before switching on the scroll LED. | |
| 2023-05-12 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/109830 | |
| * gm2-libs-iso/SeqFile.mod (newCid): New parameter toAppend | |
| used to select FIO.OpenForRandom. | |
| (OpenRead): Pass extra parameter to newCid. | |
| (OpenWrite): Pass extra parameter to newCid. | |
| (OpenAppend): Pass extra parameter to newCid. | |
| 2023-05-11 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/109810 | |
| * gm2-compiler/M2ALU.mod (ConvertConstToType): Use | |
| PrepareCopyString in place of DoCopyString. | |
| * gm2-compiler/M2GenGCC.def (DoCopyString): Rename to ... | |
| (PrepareCopyString): ... this. | |
| * gm2-compiler/M2GenGCC.mod (CodeStatement): Call CodeReturnValue | |
| with a single parameter. Call CodeXIndr with a single parameter. | |
| (CodeReturnValue): Remove parameters and replace with a single | |
| quadno. Reimplement using PrepareCopyString. Issue error | |
| if the string exceeds designator space. | |
| (DoCopyString): Reimplement and rename to ... | |
| (PrepareCopyString): ... this. | |
| (CodeXIndr): Remove parameters and replace with a single | |
| quadno. Reimplement using PrepareCopyString. Issue error | |
| if the string exceeds designator space. | |
| (CodeBecomes): Remove parameters and replace with a single | |
| quadno. Reimplement using PrepareCopyString. Issue error | |
| if the string exceeds designator space. | |
| * gm2-compiler/M2Quads.def (BuildReturn): Rename parameter to | |
| tokreturn. | |
| * gm2-compiler/M2Quads.mod (BuildReturn): Rename parameter to | |
| tokreturn. Rename tokno to tokcombined. | |
| 2023-05-09 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/109779 | |
| * gm2-libs-iso/RTgen.mod (doLook): Remove old. | |
| Remove re-assignment of result. | |
| * gm2-libs-iso/TextIO.mod (CanRead): Rename into ... | |
| (CharAvailable): ... this. | |
| (DumpState): New procedure. | |
| (SetResult): Rename as SetNul. | |
| (WasGoodChar): Rename into ... | |
| (EofOrEoln): ... this. | |
| (SkipLine): Skip over the newline. | |
| (ReadString): Flip THEN ELSE statements after testing for | |
| EofOrEoln. | |
| (ReadRestLine): Flip THEN ELSE statements after testing for | |
| EofOrEoln. | |
| 2023-05-04 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/109729 | |
| * gm2-compiler/M2GenGCC.mod (CodeStatement): Detect | |
| ArithAddOp and call CodeAddChecked. | |
| (ResolveConstantExpressions): Detect ArithAddOp and call | |
| FoldArithAdd. | |
| (FoldArithAdd): New procedure. | |
| (FoldAdd): Refactor to use FoldArithAdd. | |
| * gm2-compiler/M2Quads.def (QuadOperator): Add ArithAddOp. | |
| * gm2-compiler/M2Quads.mod: Remove commented imports. | |
| (QuadFrame): Changed comments to use GNU coding standards. | |
| (ArithPlusTok): New global variable. | |
| (BuildForToByDo): Use ArithPlusTok instead of PlusTok. | |
| (MakeOp): Detect ArithPlusTok and return ArithAddOp. | |
| (WriteQuad): Add ArithAddOp clause. | |
| (WriteOperator): Add ArithAddOp clause. | |
| (Init): Initialize ArithPlusTok. | |
| 2023-05-04 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/109675 | |
| * Make-lang.in (MC-LIB-DEFS): Remove M2LINK.def. | |
| (BUILD-PGE-O): Remove GM2LINK.o. | |
| * Make-maintainer.in (PPG-DEFS): New define. | |
| (PPG-LIB-DEFS): Remove M2LINK.def. | |
| (BUILD-BOOT-PPG-H): Add PPGDEF .h files. | |
| (m2/ppg$(exeext)): Remove M2LINK.o | |
| (PGE-DEPS): New define. | |
| (m2/pg$(exeext)): Remove M2LINK.o. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)%.o): Add -Im2/gm2-pge-boot. | |
| (m2/pge$(exeext)): Remove M2LINK.o. | |
| (pge-maintainer): Re-implement. | |
| (pge-libs-push): Re-implement. | |
| (m2/m2obj3/cc1gm2$(exeext)): Remove M2LINK.o. | |
| * gm2-libs/DynamicStrings.mod (writeAddress): Re-implement | |
| using snprintf. | |
| * gm2-libs/M2Dependent.mod: Remove commented out imports. | |
| * mc-boot/GDynamicStrings.cc: Rebuild. | |
| * mc-boot/GFIO.cc: Rebuild. | |
| * mc-boot/GFormatStrings.cc: Rebuild. | |
| * mc-boot/GM2Dependent.cc: Rebuild. | |
| * mc-boot/GM2Dependent.h: Rebuild. | |
| * mc-boot/GM2RTS.cc: Rebuild. | |
| * mc-boot/GM2RTS.h: Rebuild. | |
| * mc-boot/GRTExceptions.cc: Rebuild. | |
| * mc-boot/GRTint.cc: Rebuild. | |
| * mc-boot/GSFIO.cc: Rebuild. | |
| * mc-boot/GStringConvert.cc: Rebuild. | |
| * mc-boot/Gdecl.cc: Rebuild. | |
| * pge-boot/GASCII.cc: Rebuild. | |
| * pge-boot/GASCII.h: Rebuild. | |
| * pge-boot/GArgs.cc: Rebuild. | |
| * pge-boot/GArgs.h: Rebuild. | |
| * pge-boot/GAssertion.cc: Rebuild. | |
| * pge-boot/GAssertion.h: Rebuild. | |
| * pge-boot/GBreak.h: Rebuild. | |
| * pge-boot/GCmdArgs.h: Rebuild. | |
| * pge-boot/GDebug.cc: Rebuild. | |
| * pge-boot/GDebug.h: Rebuild. | |
| * pge-boot/GDynamicStrings.cc: Rebuild. | |
| * pge-boot/GDynamicStrings.h: Rebuild. | |
| * pge-boot/GEnvironment.h: Rebuild. | |
| * pge-boot/GFIO.cc: Rebuild. | |
| * pge-boot/GFIO.h: Rebuild. | |
| * pge-boot/GFormatStrings.h:: Rebuild. | |
| * pge-boot/GFpuIO.h:: Rebuild. | |
| * pge-boot/GIO.cc: Rebuild. | |
| * pge-boot/GIO.h: Rebuild. | |
| * pge-boot/GIndexing.cc: Rebuild. | |
| * pge-boot/GIndexing.h: Rebuild. | |
| * pge-boot/GLists.cc: Rebuild. | |
| * pge-boot/GLists.h: Rebuild. | |
| * pge-boot/GM2Dependent.cc: Rebuild. | |
| * pge-boot/GM2Dependent.h: Rebuild. | |
| * pge-boot/GM2EXCEPTION.cc: Rebuild. | |
| * pge-boot/GM2EXCEPTION.h: Rebuild. | |
| * pge-boot/GM2RTS.cc: Rebuild. | |
| * pge-boot/GM2RTS.h: Rebuild. | |
| * pge-boot/GNameKey.cc: Rebuild. | |
| * pge-boot/GNameKey.h: Rebuild. | |
| * pge-boot/GNumberIO.cc: Rebuild. | |
| * pge-boot/GNumberIO.h: Rebuild. | |
| * pge-boot/GOutput.cc: Rebuild. | |
| * pge-boot/GOutput.h: Rebuild. | |
| * pge-boot/GPushBackInput.cc: Rebuild. | |
| * pge-boot/GPushBackInput.h: Rebuild. | |
| * pge-boot/GRTExceptions.cc: Rebuild. | |
| * pge-boot/GRTExceptions.h: Rebuild. | |
| * pge-boot/GSArgs.h: Rebuild. | |
| * pge-boot/GSEnvironment.h: Rebuild. | |
| * pge-boot/GSFIO.cc: Rebuild. | |
| * pge-boot/GSFIO.h: Rebuild. | |
| * pge-boot/GSYSTEM.h: Rebuild. | |
| * pge-boot/GScan.h: Rebuild. | |
| * pge-boot/GStdIO.cc: Rebuild. | |
| * pge-boot/GStdIO.h: Rebuild. | |
| * pge-boot/GStorage.cc: Rebuild. | |
| * pge-boot/GStorage.h: Rebuild. | |
| * pge-boot/GStrCase.cc: Rebuild. | |
| * pge-boot/GStrCase.h: Rebuild. | |
| * pge-boot/GStrIO.cc: Rebuild. | |
| * pge-boot/GStrIO.h: Rebuild. | |
| * pge-boot/GStrLib.cc: Rebuild. | |
| * pge-boot/GStrLib.h: Rebuild. | |
| * pge-boot/GStringConvert.h: Rebuild. | |
| * pge-boot/GSymbolKey.cc: Rebuild. | |
| * pge-boot/GSymbolKey.h: Rebuild. | |
| * pge-boot/GSysExceptions.h: Rebuild. | |
| * pge-boot/GSysStorage.cc: Rebuild. | |
| * pge-boot/GSysStorage.h: Rebuild. | |
| * pge-boot/GTimeString.h: Rebuild. | |
| * pge-boot/GUnixArgs.h: Rebuild. | |
| * pge-boot/Gbnflex.cc: Rebuild. | |
| * pge-boot/Gbnflex.h: Rebuild. | |
| * pge-boot/Gdtoa.h: Rebuild. | |
| * pge-boot/Gerrno.h: Rebuild. | |
| * pge-boot/Gldtoa.h: Rebuild. | |
| * pge-boot/Glibc.h: Rebuild. | |
| * pge-boot/Glibm.h: Rebuild. | |
| * pge-boot/Gpge.cc: Rebuild. | |
| * pge-boot/Gtermios.h: Rebuild. | |
| * pge-boot/Gwrapc.h: Rebuild. | |
| * mc-boot/GM2LINK.h: Removed. | |
| * pge-boot/GM2LINK.cc: Removed. | |
| * pge-boot/GM2LINK.h: Removed. | |
| 2023-04-30 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-compiler/SymbolTable.mod (ConstLitPoolEntry): New | |
| pointer to record. | |
| (ConstLitSym): New field RangeError. | |
| (ConstLitPoolTree): New SymbolTree representing name to | |
| index. | |
| (ConstLitArray): New dynamic array containing pointers | |
| to a ConstLitPoolEntry. | |
| (CreateConstLit): New procedure function. | |
| (LookupConstLitPoolEntry): New procedure function. | |
| (AddConstLitPoolEntry): New procedure function. | |
| (MakeConstLit): Re-implemented to check the constant lit | |
| pool before calling CreateConstLit. | |
| * m2.flex: Add ability to decode binary constant literals. | |
| 2023-04-26 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/108121 | |
| * gm2-compiler/M2ALU.mod (Less): Reformatted. | |
| * gm2-compiler/SymbolTable.mod (DetermineSizeOfConstant): Remove | |
| from import. | |
| (ConstantStringExceedsZType): Import. | |
| (GetConstLitType): Re-implement using ConstantStringExceedsZType. | |
| * gm2-gcc/m2decl.cc (m2decl_DetermineSizeOfConstant): Remove. | |
| (m2decl_ConstantStringExceedsZType): New function. | |
| (m2decl_BuildConstLiteralNumber): Re-implement. | |
| * gm2-gcc/m2decl.def (DetermineSizeOfConstant): Remove. | |
| (ConstantStringExceedsZType): New function. | |
| * gm2-gcc/m2decl.h (m2decl_DetermineSizeOfConstant): Remove. | |
| (m2decl_ConstantStringExceedsZType): New function. | |
| * gm2-gcc/m2expr.cc (append_digit): Remove. | |
| (m2expr_interpret_integer): Remove. | |
| (append_m2_digit): Remove. | |
| (m2expr_StrToWideInt): New function. | |
| (m2expr_interpret_m2_integer): Remove. | |
| * gm2-gcc/m2expr.def (CheckConstStrZtypeRange): New function. | |
| * gm2-gcc/m2expr.h (m2expr_StrToWideInt): New function. | |
| * gm2-gcc/m2type.cc (build_m2_word64_type_node): New function. | |
| (build_m2_ztype_node): New function. | |
| (m2type_InitBaseTypes): Call build_m2_ztype_node. | |
| * gm2-lang.cc (gm2_type_for_size): Re-write using early returns. | |
| 2023-04-21 Arsen Arsenović <arsen@aarsen.me> | |
| * Make-lang.in: Remove references to $(P). | |
| * Make-maintainer.in: Ditto. | |
| 2023-04-21 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/109586 | |
| * gm2-gcc/m2tree.cc (m2tree_IsAConstant): Add (TREE_CODE | |
| (t) == CONSTRUCTOR) to expression. | |
| 2023-04-13 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/109488 | |
| * lang.opt: Fix typo "maybe" to "may be". | |
| 2023-04-13 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-compiler/M2ALU.def (PopChar): New procedure function. | |
| * gm2-compiler/M2ALU.mod (PopChar): New procedure function. | |
| * gm2-compiler/M2GCCDeclare.mod (PromoteToString): Detect | |
| a single constant char and build a C string. | |
| * gm2-compiler/M2GenGCC.mod (IsConstStr): New procedure | |
| function. | |
| (GetStr): New procedure function. | |
| (FoldAdd): Use IsConstStr. | |
| * gm2-compiler/M2Quads.mod: Formatting changes. | |
| * gm2-gcc/m2expr.cc (m2expr_GetCstInteger): New function. | |
| * gm2-gcc/m2expr.def (GetCstInteger): New procedure function. | |
| * gm2-gcc/m2expr.h (m2expr_GetCstInteger): New prototype. | |
| 2023-04-05 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/109423 | |
| * gm2-compiler/M2Base.def (Unbounded): Remove. | |
| * gm2-compiler/M2Error.def (ErrorAbort0): Add noreturn | |
| attribute. | |
| * gm2-compiler/M2Quads.mod (BuildInclProcedure): Correct | |
| error format string. | |
| (BuildExceptProcedure): Correct error format string. | |
| (BuildAdrFunction): Call PutWriteQuad when taking the | |
| address of a variable. | |
| * gm2-libs-ch/SysExceptions.c (_M2_SysExceptions_init): Add | |
| parameters. | |
| * gm2-libs-ch/wrapc.c (_M2_wrapc_init): Add parameters. | |
| * gm2-libs/DynamicStrings.mod (DumpStringInfo): Remove t. | |
| (PopAllocationExemption): Remove f. | |
| * gm2-libs/FIO.mod (BufferedWrite): Remove result. | |
| * gm2-libs/FormatStrings.mod (Copy): Remove endpos and | |
| afterperc. | |
| (HandlePercent): Remove result. | |
| * gm2-libs/Indexing.mod (RemoveIndiceFromIndex): Remove k. | |
| * gm2-libs/M2Dependent.mod (CreateModule): Remove p0 | |
| and p1. | |
| (DumpModuleData): Remove mptr. | |
| (ConstructModules): Remove nulp. | |
| * gm2-libs/RTExceptions.mod (PopHandler): Remove i. | |
| * gm2-libs/RTint.mod (Listen): Remove b4s, b4m, afs | |
| and afm. | |
| * gm2-libs/SFIO.mod (ReadS): Remove c. | |
| * gm2-libs/StringConvert.mod (doDecimalPlaces): Remove | |
| whole and fraction. | |
| 2023-04-03 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/109388 | |
| * gm2-compiler/M2GCCDeclare.mod (DoVariableDeclaration): | |
| Remove second parameter module. Adjust all callers to | |
| remove the second parameter. | |
| * gm2-compiler/PHBuild.bnf (CheckAndInsert): Remove. | |
| (InStopSet): Remove. | |
| (PeepToken): Remove. | |
| (PushQualident): Remove. | |
| (SimpleDes): Remove. | |
| (ActualParameters): Remove. | |
| 2023-04-02 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/109336 | |
| * Make-lang.in (GM2_O): Set to -O0. | |
| (GM2_LIBS): Remove target libraries and replace with build libs. | |
| (BUILD-LIBS): New declaration. | |
| (m2/gm2-libs/libgm2.a): New rule. | |
| (m2/gm2-libs/%.o): New rule. | |
| (m2/gm2-libs/choosetemp.o): New rule. | |
| * gm2-compiler/M2ColorString.mod (append): Use ADR rather than | |
| implicit conversion. | |
| * gm2-compiler/M2Comp.mod (Compile): Add qprintf messages for when | |
| a source file is not found. Improve comments and formatting. | |
| * gm2-libs-ch/cgetopt.c (cgetopt_cgetopt_long): Remove | |
| ansi-decl.h. Add getopt.h. | |
| (cgetopt_cgetopt_long_only): Change cgetopt_ to getopt_. | |
| * gm2spec.cc (lang_specific_driver): Do not skip -fmod=. | |
| Remove comment. | |
| 2023-03-29 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/109336 | |
| PR modula2/109315 | |
| * gm2-compiler/M2FileName.mod (CalculateFileName): Simplified by | |
| ensuring the extension contains the ".". | |
| (CalculateStemName): Re-formatted. | |
| (ExtractExtension): Re-formatted. | |
| (ExtractModule): Re-formatted. | |
| * gm2-compiler/M2Options.def (setdefextension): Add block comment. | |
| (setmodextension): Add block comment. Re-formatted. | |
| * gm2-compiler/M2Options.mod (setdefextension): Add block comment. | |
| (setmodextension): Add block comment. Re-formatted. | |
| * gm2-compiler/M2Search.mod (FindSourceDefFile): Use | |
| DefaultDefExt. | |
| (DefaultDefExt): New constant. | |
| (DefaultModExt): New constant. | |
| (FindSourceModFile): Use DefaultModExt. | |
| * gm2-gcc/m2decl.cc (m2decl_DeclareKnownVariable): Correct | |
| spelling. | |
| * gm2spec.cc (M2SOURCE): New constant. | |
| (LANGSPEC): New value. | |
| (MATHLIB): New value. | |
| (WITHLIBC): New value. | |
| (SKIPOPT): New value. | |
| (lang_specific_driver): Replace seen_module_extension bool with | |
| module_extension char *. Detect -fmod= and remember extension. | |
| Use the extension to detect modula-2 source and mark it as such. | |
| 2023-03-23 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/109264 | |
| * gm2-compiler/M2Quads.mod (BuildConstFunctionCall): Comment | |
| out ErrorString in debugging block. | |
| (BuildConstructorStart): Replace Assert with a call to | |
| MetaErrorT3. Import MetaErrorT3. | |
| * gm2-compiler/PCSymBuild.mod (buildConstFunction): Rename | |
| local variables. | |
| (WalkFunctionParam): Remove test for IsEnumeration when | |
| resolving MIN or MAX parameters. | |
| * gm2-compiler/PHBuild.bnf (BlockAssert): New procedure. | |
| (ErrorArrayat): New procedure. | |
| (Expect): Renamed parameter t to tok. | |
| (PushQualident): New rule. | |
| (ConstSetOrQualidentOrFunction): Force AutoOn. | |
| (TypeDeclaration): Add debugging assert. | |
| (SimpleType): Add debugging assert. | |
| (DefaultRecordAttributes): New rule (and bugfix). | |
| (FieldPragmaExpression): New rule (and bugfix). | |
| (PragmaConstExpression): New rule (and bugfix). | |
| (SetOrDesignatorOrFunction): Add debugging assert. | |
| (Block): Add debugging assert. | |
| * gm2-gcc/m2expr.cc (m2expr_ConstantExpressionWarning): int | |
| to bool. | |
| * gm2-gcc/m2expr.h (m2expr_TreeOverflow): int to bool. | |
| (m2expr_GetBooleanTrue): Remove. | |
| (m2expr_GetBooleanFalse): Remove. | |
| * gm2-gcc/m2options.h (M2Options_SetStatistics): Replace | |
| int with bool. | |
| 2023-03-22 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/109248 | |
| * Make-lang.in (m2/pge-boot/%.o): Add CFLAGS and CXXFLAGS for C | |
| and C++ compiles. | |
| * gm2spec.cc (add_m2_I_path): Indentation. | |
| (lang_specific_driver): New variable seen_pathname. | |
| Detect -fm2-pathname. If not seen then push_back_Ipath ("."). | |
| Change non iso library path to "m2cor,m2log,m2pim,m2iso". | |
| 2023-03-22 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/107630 | |
| * Make-lang.in (m2/stage2/cc1gm2$(exeext)): Remove | |
| m2/gm2-libs-boot/M2LINK.o. | |
| (m2/stage1/cc1gm2$(exeext)): Ditto. | |
| (GM2-LIBS-BOOT-DEFS): Remove M2LINK.def. | |
| (GM2-LIBS-DEFS): Ditto. | |
| (m2/mc-boot/$(SRC_PREFIX)%.o): Replace CXX_FLAGS with CXXFLAGS. | |
| (m2/mc-boot-ch/$(SRC_PREFIX)%.o): Ditto. | |
| (m2/mc-boot/main.o): Ditto. | |
| (mcflex.o): Add $(CFLAGS). | |
| (m2/gm2-libs-boot/M2LINK.o): Remove rule. | |
| * gm2-compiler/M2GCCDeclare.def (DeclareM2linkGlobals): Remove. | |
| * gm2-compiler/M2GCCDeclare.mod: (M2LinkEntry): Remove. | |
| (M2LinkIndex): Remove. | |
| (DoVariableDeclaration): Remove initial and call to | |
| AddEntryM2Link. | |
| (AddEntryM2Link): Remove. | |
| (GetEntryM2Link): Remove. | |
| (DeclareM2linkGlobals): Remove. | |
| (DetectM2LinkInitial): Remove. | |
| (InitM2LinkModule): Remove. | |
| * gm2-compiler/M2GenGCC.mod (CodeFinallyEnd): Remove call to | |
| DeclareM2linkGlobals. | |
| * gm2-compiler/M2Quads.mod (BuildM2InitFunction): Add extra | |
| parameter containing runtime module override to ConstructModules. | |
| * gm2-compiler/M2Scaffold.mod: Update comment describing | |
| ConstructModules. | |
| * gm2-gcc/m2decl.cc (m2decl_DeclareM2linkForcedModuleInitOrder): | |
| Remove. | |
| * gm2-libs-iso/M2RTS.def (ConstructModules): Add overrideliborder | |
| parameter. | |
| * gm2-libs-iso/M2RTS.mod: Add overrideliborder parameter. | |
| * gm2-libs/M2Dependent.def (ConstructModules): Add overrideliborder | |
| parameter. | |
| * gm2-libs/M2Dependent.mod (ConstructModules): Add overrideliborder | |
| parameter. | |
| * gm2-libs/M2RTS.def (ConstructModules): Add overrideliborder parameter. | |
| * gm2-libs/M2RTS.mod (ConstructModules): Add overrideliborder | |
| parameter. | |
| * gm2-libs/M2LINK.def: Removed. | |
| 2023-03-21 Gaius Mulley <gaiusmod2@gmail.com> | |
| * Make-lang.in (m2/mc-boot/$(SRC_PREFIX)%.o): Add $(CXXFLAGS). | |
| (m2/mc-boot-ch/$(SRC_PREFIX)%.o): Add $(CXXFLAGS). | |
| (m2/mc-boot-ch/$(SRC_PREFIX)%.o): Add $(CXXFLAGS). | |
| (m2/mc-boot/main.o): Add $(CXXFLAGS). | |
| 2023-03-19 Gaius Mulley <gaiusmod2@gmail.com> | |
| * Make-maintainer.in (gm2.maintainer-clean): Remove. | |
| (gm2.maintainer-help): Add gm2.maintainer-tools, | |
| gm2.maintainer-doc. Remove gm2.maintainer-clean. | |
| Change target-independent directory to target-independent/m2. | |
| * gm2-compiler/ppg.mod: Correct __FILE_ typo to __FILE__. | |
| * gm2-compiler/M2Options.def (SetAutoInit): Update comment. | |
| * gm2-compiler/M2Options.mod (SetAutoInit): Update comment. | |
| * gm2-gcc/m2color.cc (m2color_colorize_start): Rename name_len | |
| to _name_high. | |
| * gm2-gcc/m2color.def (colorize_start): change ARRAY OF CHAR to | |
| ADDRESS and add _name_high. | |
| * gm2-gcc/m2decl.cc (m2decl_BuildStartFunctionDeclaration): Change | |
| int to bool. | |
| * gm2-gcc/m2decl.h (m2decl_BuildStartFunctionDeclaration): Change | |
| int to bool. | |
| * gm2-gcc/m2expr.cc (m2expr_BuildBinarySetDo): Change int to bool. | |
| (m2expr_BuildIfConstInVar): Change int to bool. | |
| (m2expr_BuildIfNotConstInVar): Change int to bool. | |
| (m2expr_BuildIfVarInVar): Change int to bool. | |
| (m2expr_BuildIfNotVarInVar): Change int to bool. | |
| (m2expr_BuildForeachWordInSetDoIfExpr): Change int to bool. | |
| * gm2-gcc/m2expr.h (m2expr_BuildIfNotVarInVar): Change int to bool. | |
| (m2expr_BuildIfVarInVar): Change int to bool. | |
| (m2expr_BuildIfNotConstInVar): Change int to bool. | |
| (m2expr_BuildIfConstInVar): Change int to bool. | |
| * gm2-gcc/m2options.h (M2Options_SetAutoInit): Change int to bool. | |
| (M2Options_SetNilCheck): Change int to bool. | |
| (M2Options_SetReturnCheck): Change int to bool. | |
| (M2Options_SetCaseCheck): Change int to bool. | |
| (M2Options_SetCheckAll): Change int to bool. | |
| (M2Options_SetVerboseUnbounded): Change int to bool. | |
| (M2Options_SetUnboundedByReference): Change int to bool. | |
| (M2Options_SetOptimizing): Change int to bool. | |
| (M2Options_SetQuiet): Change int to bool. | |
| (M2Options_SetCpp): Change int to bool. | |
| (M2Options_SetM2g): Change int to bool. | |
| (M2Options_SetLowerCaseKeywords): Change int to bool. | |
| (M2Options_SetVerbose): Change int to bool. | |
| * gm2-gcc/m2treelib.cc (m2treelib_get_rvalue): Change int to bool. | |
| (m2treelib_get_field_no): Change int to bool. | |
| (m2treelib_get_set_value): Change int to bool. | |
| (m2treelib_get_set_address): Change int to bool. | |
| (m2treelib_get_set_address_if_var): Change int to bool. | |
| * gm2-gcc/m2treelib.def (get_set_address_if_var): Change int to bool. | |
| (get_set_address): Change int to bool. | |
| (get_set_value): Change int to bool. | |
| (get_field_no): Change int to bool. | |
| (get_rvalue): Change int to bool. | |
| * gm2-gcc/m2treelib.h (m2treelib_get_field_no): Change int to bool. | |
| (m2treelib_get_set_value): Change int to bool. | |
| (m2treelib_get_set_address): Change int to bool. | |
| (m2treelib_get_set_address_if_var): Change int to bool. | |
| * gm2-gcc/m2type.cc (m2type_BuildEndFunctionType): Change int to bool. | |
| * gm2-gcc/m2type.h (m2type_BuildEndFunctionType): Change int to bool. | |
| * gm2-libs-ch/dtoa.cc (dtoa_calcsign): Change int to bool. | |
| * gm2-libs-ch/ldtoa.cc (dtoa_calcsign): Change int to bool. | |
| (ldtoa_ldtoa): Change int to bool. | |
| * m2.flex (functionInfo): Change int to bool. | |
| (pushFunction): Change parameter from int to bool. | |
| * mc-boot/GDebug.cc (Debug_Halt): Rebuild. | |
| * mc-boot/GDebug.h (Debug_Halt): Rebuild. | |
| * mc-boot/GDynamicStrings.cc: Rebuild. | |
| * mc-boot/GDynamicStrings.h: Rebuild. | |
| * mc-boot/GFIO.cc: Rebuild. | |
| * mc-boot/GM2RTS.cc: Rebuild. | |
| * mc-boot/GM2RTS.h: Rebuild. | |
| * mc-boot/GPushBackInput.cc: Rebuild. | |
| * mc-boot/GRTExceptions.cc: Rebuild. | |
| * mc-boot/GRTint.cc: Rebuild. | |
| * mc-boot/GSysStorage.cc: Rebuild. | |
| * mc-boot/Gdecl.cc: Rebuild. | |
| * mc-boot/GsymbolKey.cc: Rebuild. | |
| * mc/symbolKey.mod: Rebuild. | |
| * target-independent/m2/Builtins.texi: Rebuild. | |
| * target-independent/m2/SYSTEM-iso.texi: Rebuild. | |
| * target-independent/m2/SYSTEM-pim.texi: Rebuild. | |
| * target-independent/m2/gm2-libs.texi: Rebuild. | |
| * tools-src/def2doc.py (PIM_Log): Change gm2-libs-pim to | |
| gm2-lib-log. | |
| 2023-03-17 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/109032 | |
| * gm2-gcc/m2expr.cc: Correct ? : order in comments. | |
| (m2expr_BuildDivM2): Improve comment. | |
| * lang.opt: Improve option descriptions. | |
| 2023-03-17 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/109102 | |
| * gm2-gcc/m2builtins.cc (ASSERT): Change format specifier to | |
| use %qs rather than quotes. | |
| 2023-03-17 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-compiler/M2AsmUtil.mod (SymNeedsModulePrefix): | |
| Re-implemented. | |
| * gm2-libs/SysStorage.mod (enableTrace): Disable tracing. | |
| 2023-03-16 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-compiler/SymbolKey.mod (PutSymKey): Halt parameters | |
| reordered. | |
| (DelSymKey): Ditto. | |
| * gm2-compiler/ppg.mod (GetEpsilon): Ditto. | |
| (GetReachEnd): Ditto. | |
| (GetFollow): Ditto. | |
| (CodeCondition): Ditto. | |
| (CodeThenDo): Ditto. | |
| (CodeEnd): Ditto. | |
| (RecoverCondition): Ditto. | |
| (ConditionIndent): Ditto. | |
| * gm2-libs-ch/m2rts.h (M2RTS_Halt): Ditto. | |
| * gm2-libs-coroutines/Executive.mod (Assert): Ditto. | |
| (Resume): Remove redundant comments. | |
| (Wait): Remove redundant comments. | |
| * gm2-libs-coroutines/SYSTEM.mod (TRANSFER): Halt parameters | |
| reordered. | |
| (IOTransferHandler): Ditto. | |
| (Finished): Ditto. | |
| (localInit): Ditto. | |
| * gm2-libs-coroutines/TimerHandler.mod (WaitOn): Halt parameters | |
| reordered. | |
| (Cancel): Ditto. | |
| (ReArmEvent): Ditto. | |
| (OnActiveQueue): Ditto. | |
| * gm2-libs-iso/COROUTINES.mod (NEWCOROUTINE): Ditto. | |
| (Transfer): Ditto. | |
| (IOTRANSFER): Ditto. | |
| * gm2-libs-iso/EXCEPTIONS.mod (RAISE): Correct Halt parameters. | |
| * gm2-libs-iso/M2RTS.def (Halt): Halt parameters reordered. | |
| (HaltC): Ditto. | |
| * gm2-libs-iso/M2RTS.mod: Ditto. | |
| * gm2-libs-iso/RTentity.mod (PutKey): Ditto. | |
| (DelKey): Ditto. | |
| (findChildAndParent): Ditto. | |
| (assert): Ditto. | |
| * gm2-libs-iso/Storage.mod (ALLOCATE): Add DebugTrace. | |
| Add UseMallocFree test. | |
| (DEALLOCATE): Add DebugTrace. Add UseMallocFree test. | |
| (assert): Halt parameters reordered. | |
| * gm2-libs-log/Termbase.mod (Read): Ditto. | |
| (KeyPressed): Ditto. | |
| (Write): Ditto. | |
| (Init): Ditto. | |
| * gm2-libs/Debug.def (Halt): Halt parameters reordered. | |
| * gm2-libs/Debug.mod (Halt): Ditto. | |
| * gm2-libs/DynamicStrings.def (PopAllocation): Improve comment. | |
| * gm2-libs/DynamicStrings.mod (PopAllocation): Improve comment. | |
| Halt parameters reordered. | |
| * gm2-libs/M2RTS.def (Halt): Ditto. | |
| (HaltC): Ditto. | |
| * gm2-libs/M2RTS.mod (Halt): Ditto. | |
| (HaltC): Ditto. | |
| * gm2-libs/PushBackInput.mod (PutStr): Ditto. | |
| (PutString): Ditto. | |
| (PutCh): Ditto. | |
| * gm2-libs/RTExceptions.mod (GetBaseExceptionBlock): Ditto. | |
| * gm2-libs/RTint.mod (ReArmTimeVector): Ditto. | |
| (GetTimeVector): Ditto. | |
| (AttachVector): Ditto. | |
| (IncludeVector): Ditto. | |
| (Listen): Ditto. | |
| * gm2-libs/SysStorage.mod (ALLOCATE): Ditto. | |
| (DEALLOCATE): Ditto. | |
| (REALLOCATE): Ditto. | |
| * gm2-libs-coroutines/Debug.def: Removed. | |
| * gm2-libs-coroutines/Debug.mod: Removed. | |
| 2023-03-16 Gaius Mulley <gaiusmod2@gmail.com> | |
| * Make-lang.in: Rename target-independent to | |
| target-independent/m2. | |
| * target-independent/readme.txt: Update. | |
| * target-independent/m2/gm2-ebnf.texi: New file. | |
| * target-independent/m2/gpl_v3_without_node.texi: New file. | |
| * target-independent/Builtins.texi: Rename ... | |
| * target-independent/m2/Builtins.texi: ... to this. | |
| * target-independent/SYSTEM-iso.texi: Rename ... | |
| * target-independent/m2/SYSTEM-iso.texi: ... to this. | |
| * target-independent/SYSTEM-pim.texi: Rename ... | |
| * target-independent/m2/SYSTEM-pim.texi: ... to this. | |
| * target-independent/gm2-libs.texi: Rename ... | |
| * target-independent/m2/gm2-libs.texi: ... to this. | |
| 2023-03-15 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/109125 | |
| * gm2-libs-ch/dtoa.cc (dtoa_strtod): Replace int with bool. | |
| * gm2-libs-ch/ldtoa.cc (ldtoa_strtold): Replace int with bool. | |
| 2023-03-14 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/109125 | |
| * gm2-libs-ch/cgetopt.c (cgetopt_SetOption): Replace int | |
| for bool. | |
| * gm2-libs-ch/termios.c (doSetUnset): Replace int for bool. | |
| * gm2-libs/Builtins.mod (isfinitef): Correct typo in return | |
| statement. | |
| 2023-03-13 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/109103 | |
| * gm2-compiler/M2ALU.def (PushString): New parameter issueError. | |
| * gm2-compiler/M2ALU.mod (PushString): New parameter issueError. | |
| * gm2-compiler/SymbolTable.mod (PushString): New parameter issueError. | |
| * gm2-gcc/m2decl.cc (m2decl_DetermineSizeOfConstant): Pass | |
| location to interpret_m2_integer. | |
| (m2decl_BuildConstLiteralNumber): New parameter issueError. | |
| * gm2-gcc/m2expr.cc (m2expr_IsTrue): Replace int with bool. | |
| (m2expr_IsFalse): Replace int with bool. | |
| (m2expr_AreConstantsEqual): Replace int with bool. | |
| (m2expr_BuildBinaryForeachWordDo): Call m2linemap_internal_error_at. | |
| (append_digit): Ditto. | |
| (m2expr_interpret_integer): Add location parameter. | |
| (append_m2_digit): Call m2linemap_internal_error_at. | |
| (m2expr_interpret_m2_integer): Add location parameter. | |
| (m2expr_GetSizeOf): Replace sizeof with SIZE in error message. | |
| * gm2-gcc/m2expr.h (m2expr_AreRealOrComplexConstantsEqual): | |
| Replace int with bool. | |
| (m2expr_AreConstantsEqual): Ditto. | |
| (m2expr_IsFalse): Ditto. | |
| (m2expr_IsTrue): Ditto. | |
| (m2expr_interpret_integer): Add location parameter. | |
| (m2expr_interpret_m2_integer): Add location parameter. | |
| * gm2-gcc/m2linemap.cc (mformat_value): New function. | |
| (expand_format): New function. | |
| (expand_message): New function. | |
| (gm2_internal_error_at): New function. | |
| (m2linemap_internal_error_at): New function. | |
| * gm2-gcc/m2linemap.h (m2linemap_internal_error_at): New function. | |
| * gm2-gcc/m2options.h (M2Options_SetISO): Replace int with bool. | |
| (M2Options_SetPIM): Ditto. | |
| (M2Options_SetPIM2): Ditto. | |
| (M2Options_SetPIM3): Ditto. | |
| (M2Options_SetPIM4): Ditto. | |
| (M2Options_SetFloatValueCheck): Ditto. | |
| (M2Options_SetWholeValueCheck): Ditto. | |
| (M2Options_GetISO): Ditto. | |
| (M2Options_GetPIM): Ditto. | |
| (M2Options_GetPIM2): Ditto. | |
| (M2Options_GetPIM3): Ditto. | |
| (M2Options_GetPIM4): Ditto. | |
| (M2Options_GetPositiveModFloor): Ditto. | |
| (M2Options_GetFloatValueCheck): Ditto. | |
| (M2Options_GetWholeValueCheck): Ditto. | |
| (M2Options_Setc): Ditto. | |
| (M2Options_Getc): Ditto. | |
| (M2Options_SetPPOnly): Ditto. | |
| (M2Options_GetPPOnly): Ditto. | |
| (M2Options_SetUselist): Ditto. | |
| (M2Options_SetAutoInit): Ditto. | |
| (M2Options_SetPositiveModFloor): Ditto. | |
| (M2Options_SetNilCheck): Ditto. | |
| (M2Options_SetWholeDiv): Ditto. | |
| (M2Options_SetIndex): Ditto. | |
| (M2Options_SetRange): Ditto. | |
| (M2Options_SetReturnCheck): Ditto. | |
| (M2Options_SetCaseCheck): Ditto. | |
| (M2Options_SetCheckAll): Ditto. | |
| (M2Options_SetExceptions): Ditto. | |
| (M2Options_SetStyle): Ditto. | |
| (M2Options_SetPedantic): Ditto. | |
| (M2Options_SetPedanticParamNames): Ditto. | |
| (M2Options_SetPedanticCast): Ditto. | |
| (M2Options_SetExtendedOpaque): Ditto. | |
| (M2Options_SetVerboseUnbounded): Ditto. | |
| (M2Options_SetXCode): Ditto. | |
| (M2Options_SetCompilerDebugging): Ditto. | |
| (M2Options_SetQuadDebugging): Ditto. | |
| (M2Options_SetDebugTraceQuad): Ditto. | |
| (M2Options_SetDebugTraceAPI): Ditto. | |
| (M2Options_SetSources): Ditto. | |
| (M2Options_SetUnboundedByReference): Ditto. | |
| (M2Options_SetDumpSystemExports): Ditto. | |
| (M2Options_SetOptimizing): Ditto. | |
| (M2Options_SetQuiet): Ditto. | |
| (M2Options_SetCC1Quiet): Ditto. | |
| (M2Options_SetCpp): Ditto. | |
| (M2Options_SetSwig): Ditto. | |
| (M2Options_SetWholeProgram): Ditto. | |
| (M2Options_SetDebugFunctionLineNumbers): Ditto. | |
| (M2Options_SetGenerateStatementNote): Ditto. | |
| (M2Options_GetCpp): Ditto. | |
| (M2Options_GetM2g): Ditto. | |
| (M2Options_SetM2g): Ditto. | |
| (M2Options_SetLowerCaseKeywords): Ditto. | |
| (M2Options_SetVerbose): Ditto. | |
| (M2Options_SetUnusedVariableChecking): Ditto. | |
| (M2Options_SetUnusedParameterChecking): Ditto. | |
| (M2Options_SetStrictTypeChecking): Ditto. | |
| (M2Options_SetWall): Ditto. | |
| (M2Options_SetSaveTemps): Ditto. | |
| (M2Options_GetSaveTemps): Ditto. | |
| (M2Options_SetScaffoldStatic): Ditto. | |
| (M2Options_SetScaffoldDynamic): Ditto. | |
| (M2Options_SetScaffoldMain): Ditto. | |
| (M2Options_SetGenModuleList): Ditto. | |
| (M2Options_SetShared): Ditto. | |
| * gm2-libs-ch/M2LINK.c: Ditto. | |
| * gm2-libs-ch/m2rts.h (M2RTS_RequestDependant): Replace | |
| const char * with const void *. | |
| (M2RTS_RegisterModule): Ditto. | |
| (M2RTS_ConstructModules): Ditto. | |
| * gm2-gcc/m2decl.def (DetermineSizeOfConstant): New parameter | |
| issueError. | |
| * gm2-gcc/m2decl.h (DetermineSizeOfConstant): New parameter | |
| issueError. | |
| 2023-03-12 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/109089 | |
| * gm2-compiler/M2GCCDeclare.mod (DeclareKnownType): Import. | |
| * gm2-gcc/gcc-consolidation.h (stdbool.h): Include. | |
| * gm2-gcc/init.h (defined): Change block start. | |
| * gm2-gcc/m2block.cc: Change FALSE to false, change TRUE to true. | |
| * gm2-gcc/m2block.h: Change int to bool. | |
| * gm2-gcc/m2builtins.cc: Ditto. | |
| * gm2-gcc/m2builtins.h: Ditto. | |
| * gm2-gcc/m2convert.cc: Change FALSE to false, TRUE to true and | |
| int to bool. | |
| * gm2-gcc/m2convert.h: Change int to bool. | |
| * gm2-gcc/m2decl.cc: Change int to bool. | |
| * gm2-gcc/m2decl.h: Change int to bool. | |
| * gm2-gcc/m2expr.cc: Change FALSE to false, TRUE to true and | |
| int to bool. | |
| * gm2-gcc/m2expr.h: Change int to bool. | |
| * gm2-gcc/m2statement.cc: Change FALSE to false, TRUE to true and | |
| int to bool. | |
| * gm2-gcc/m2statement.h: Change int to bool. | |
| * gm2-gcc/m2top.cc: Change int to bool. | |
| * gm2-gcc/m2top.h: Change int to bool. | |
| * gm2-gcc/m2tree.cc: Change int to bool. | |
| * gm2-gcc/m2tree.h: Change int to bool. | |
| * gm2-gcc/m2type.cc: Change int to bool. | |
| * gm2-gcc/m2type.h: Change int to bool. | |
| * gm2-lang.cc (convert_loc): Call convert_to_integer for BOOLEAN_TYPE. | |
| * gm2-libs/Builtins.def (isfinitef): Change return value from | |
| BOOLEAN to INTEGER. | |
| (isfinite): Ditto. | |
| (isfinitel): Ditto. | |
| * gm2-libs/Builtins.mod (isfinitef): Change return value from | |
| BOOLEAN to INTEGER. | |
| (isfinite): Ditto. | |
| (isfinitel): Ditto. | |
| * mc-boot/GASCII.cc: Rebuild. | |
| * mc-boot/GASCII.h: Rebuild. | |
| * mc-boot/GArgs.cc: Rebuild. | |
| * mc-boot/GArgs.h: Rebuild. | |
| * mc-boot/GAssertion.cc: Rebuild. | |
| * mc-boot/GAssertion.h: Rebuild. | |
| * mc-boot/GBreak.cc: Rebuild. | |
| * mc-boot/GBreak.h: Rebuild. | |
| * mc-boot/GCOROUTINES.h: Rebuild. | |
| * mc-boot/GCmdArgs.cc: Rebuild. | |
| * mc-boot/GCmdArgs.h: Rebuild. | |
| * mc-boot/GDebug.cc: Rebuild. | |
| * mc-boot/GDebug.h: Rebuild. | |
| * mc-boot/GDynamicStrings.cc: Rebuild. | |
| * mc-boot/GDynamicStrings.h: Rebuild. | |
| * mc-boot/GEnvironment.cc: Rebuild. | |
| * mc-boot/GEnvironment.h: Rebuild. | |
| * mc-boot/GFIO.cc: Rebuild. | |
| * mc-boot/GFIO.h: Rebuild. | |
| * mc-boot/GFormatStrings.cc: Rebuild. | |
| * mc-boot/GFormatStrings.h: Rebuild. | |
| * mc-boot/GFpuIO.cc: Rebuild. | |
| * mc-boot/GFpuIO.h: Rebuild. | |
| * mc-boot/GIO.cc: Rebuild. | |
| * mc-boot/GIO.h: Rebuild. | |
| * mc-boot/GIndexing.cc: Rebuild. | |
| * mc-boot/GIndexing.h: Rebuild. | |
| * mc-boot/GM2Dependent.cc: Rebuild. | |
| * mc-boot/GM2Dependent.h: Rebuild. | |
| * mc-boot/GM2EXCEPTION.cc: Rebuild. | |
| * mc-boot/GM2EXCEPTION.h: Rebuild. | |
| * mc-boot/GM2LINK.h: Rebuild. | |
| * mc-boot/GM2RTS.cc: Rebuild. | |
| * mc-boot/GM2RTS.h: Rebuild. | |
| * mc-boot/GMemUtils.cc: Rebuild. | |
| * mc-boot/GMemUtils.h: Rebuild. | |
| * mc-boot/GNumberIO.cc: Rebuild. | |
| * mc-boot/GNumberIO.h: Rebuild. | |
| * mc-boot/GPushBackInput.cc: Rebuild. | |
| * mc-boot/GPushBackInput.h: Rebuild. | |
| * mc-boot/GRTExceptions.cc: Rebuild. | |
| * mc-boot/GRTExceptions.h: Rebuild. | |
| * mc-boot/GRTco.h: Rebuild. | |
| * mc-boot/GRTentity.h: Rebuild. | |
| * mc-boot/GRTint.cc: Rebuild. | |
| * mc-boot/GRTint.h: Rebuild. | |
| * mc-boot/GSArgs.cc: Rebuild. | |
| * mc-boot/GSArgs.h: Rebuild. | |
| * mc-boot/GSFIO.cc: Rebuild. | |
| * mc-boot/GSFIO.h: Rebuild. | |
| * mc-boot/GSYSTEM.h: Rebuild. | |
| * mc-boot/GSelective.h: Rebuild. | |
| * mc-boot/GStdIO.cc: Rebuild. | |
| * mc-boot/GStdIO.h: Rebuild. | |
| * mc-boot/GStorage.cc: Rebuild. | |
| * mc-boot/GStorage.h: Rebuild. | |
| * mc-boot/GStrCase.cc: Rebuild. | |
| * mc-boot/GStrCase.h: Rebuild. | |
| * mc-boot/GStrIO.cc: Rebuild. | |
| * mc-boot/GStrIO.h: Rebuild. | |
| * mc-boot/GStrLib.cc: Rebuild. | |
| * mc-boot/GStrLib.h: Rebuild. | |
| * mc-boot/GStringConvert.cc: Rebuild. | |
| * mc-boot/GStringConvert.h: Rebuild. | |
| * mc-boot/GSysExceptions.h: Rebuild. | |
| * mc-boot/GSysStorage.cc: Rebuild. | |
| * mc-boot/GSysStorage.h: Rebuild. | |
| * mc-boot/GTimeString.cc: Rebuild. | |
| * mc-boot/GTimeString.h: Rebuild. | |
| * mc-boot/GUnixArgs.h: Rebuild. | |
| * mc-boot/Galists.cc: Rebuild. | |
| * mc-boot/Galists.h: Rebuild. | |
| * mc-boot/Gdecl.cc: Rebuild. | |
| * mc-boot/Gdecl.h: Rebuild. | |
| * mc-boot/Gdtoa.h: Rebuild. | |
| * mc-boot/Gerrno.h: Rebuild. | |
| * mc-boot/Gkeyc.cc: Rebuild. | |
| * mc-boot/Gkeyc.h: Rebuild. | |
| * mc-boot/Gldtoa.h: Rebuild. | |
| * mc-boot/Glibc.h: Rebuild. | |
| * mc-boot/Glibm.h: Rebuild. | |
| * mc-boot/Glists.cc: Rebuild. | |
| * mc-boot/Glists.h: Rebuild. | |
| * mc-boot/GmcComment.cc: Rebuild. | |
| * mc-boot/GmcComment.h: Rebuild. | |
| * mc-boot/GmcComp.cc: Rebuild. | |
| * mc-boot/GmcComp.h: Rebuild. | |
| * mc-boot/GmcDebug.cc: Rebuild. | |
| * mc-boot/GmcDebug.h: Rebuild. | |
| * mc-boot/GmcError.cc: Rebuild. | |
| * mc-boot/GmcError.h: Rebuild. | |
| * mc-boot/GmcFileName.cc: Rebuild. | |
| * mc-boot/GmcFileName.h: Rebuild. | |
| * mc-boot/GmcLexBuf.cc: Rebuild. | |
| * mc-boot/GmcLexBuf.h: Rebuild. | |
| * mc-boot/GmcMetaError.cc: Rebuild. | |
| * mc-boot/GmcMetaError.h: Rebuild. | |
| * mc-boot/GmcOptions.cc: Rebuild. | |
| * mc-boot/GmcOptions.h: Rebuild. | |
| * mc-boot/GmcPreprocess.cc: Rebuild. | |
| * mc-boot/GmcPreprocess.h: Rebuild. | |
| * mc-boot/GmcPretty.cc: Rebuild. | |
| * mc-boot/GmcPretty.h: Rebuild. | |
| * mc-boot/GmcPrintf.cc: Rebuild. | |
| * mc-boot/GmcPrintf.h: Rebuild. | |
| * mc-boot/GmcQuiet.cc: Rebuild. | |
| * mc-boot/GmcQuiet.h: Rebuild. | |
| * mc-boot/GmcReserved.cc: Rebuild. | |
| * mc-boot/GmcReserved.h: Rebuild. | |
| * mc-boot/GmcSearch.cc: Rebuild. | |
| * mc-boot/GmcSearch.h: Rebuild. | |
| * mc-boot/GmcStack.cc: Rebuild. | |
| * mc-boot/GmcStack.h: Rebuild. | |
| * mc-boot/GmcStream.cc: Rebuild. | |
| * mc-boot/GmcStream.h: Rebuild. | |
| * mc-boot/Gmcflex.h: Rebuild. | |
| * mc-boot/Gmcp1.cc: Rebuild. | |
| * mc-boot/Gmcp1.h: Rebuild. | |
| * mc-boot/Gmcp2.cc: Rebuild. | |
| * mc-boot/Gmcp2.h: Rebuild. | |
| * mc-boot/Gmcp3.cc: Rebuild. | |
| * mc-boot/Gmcp3.h: Rebuild. | |
| * mc-boot/Gmcp4.cc: Rebuild. | |
| * mc-boot/Gmcp4.h: Rebuild. | |
| * mc-boot/Gmcp5.cc: Rebuild. | |
| * mc-boot/Gmcp5.h: Rebuild. | |
| * mc-boot/GnameKey.cc: Rebuild. | |
| * mc-boot/GnameKey.h: Rebuild. | |
| * mc-boot/GsymbolKey.cc: Rebuild. | |
| * mc-boot/GsymbolKey.h: Rebuild. | |
| * mc-boot/Gtermios.h: Rebuild. | |
| * mc-boot/Gtop.cc: Rebuild. | |
| * mc-boot/Gvarargs.cc: Rebuild. | |
| * mc-boot/Gvarargs.h: Rebuild. | |
| * mc-boot/Gwlists.cc: Rebuild. | |
| * mc-boot/Gwlists.h: Rebuild. | |
| * mc-boot/Gwrapc.h: Rebuild. | |
| * mc/decl.mod (doBoolC): New procedure. | |
| (doBaseC): Call doBoolC. | |
| * mc/keyc.mod: Import useBool. | |
| (genBool): New procedure. | |
| (genDefs): Call genBool. | |
| * mc/mcOptions.def (useBool): New procedure. | |
| * mc/mcOptions.mod (useBool): New procedure. | |
| (useBoolType): New variable. | |
| (optionIs): Assign useBoolType to TRUE. | |
| 2023-03-04 Gaius Mulley <gaiusmod2@gmail.com> | |
| * mc-boot-ch/GBuiltins.cc: New file. | |
| * mc-boot-ch/Gdtoa.cc: New file. | |
| * mc-boot-ch/Gerrno.cc: New file. | |
| * mc-boot-ch/Gldtoa.cc: New file. | |
| * mc-boot-ch/Gm2rtsdummy.cc: New file. | |
| * mc-boot/GASCII.cc: New file. | |
| * mc-boot/GArgs.cc: New file. | |
| * mc-boot/GAssertion.cc: New file. | |
| * mc-boot/GBreak.cc: New file. | |
| * mc-boot/GCmdArgs.cc: New file. | |
| * mc-boot/GDebug.cc: New file. | |
| * mc-boot/GDynamicStrings.cc: New file. | |
| * mc-boot/GEnvironment.cc: New file. | |
| * mc-boot/GFIO.cc: New file. | |
| * mc-boot/GFormatStrings.cc: New file. | |
| * mc-boot/GFpuIO.cc: New file. | |
| * mc-boot/GIO.cc: New file. | |
| * mc-boot/GIndexing.cc: New file. | |
| * mc-boot/GM2Dependent.cc: New file. | |
| * mc-boot/GM2EXCEPTION.cc: New file. | |
| * mc-boot/GM2RTS.cc: New file. | |
| * mc-boot/GMemUtils.cc: New file. | |
| * mc-boot/GNumberIO.cc: New file. | |
| * mc-boot/GPushBackInput.cc: New file. | |
| * mc-boot/GRTExceptions.cc: New file. | |
| * mc-boot/GRTint.cc: New file. | |
| * mc-boot/GSArgs.cc: New file. | |
| * mc-boot/GSFIO.cc: New file. | |
| * mc-boot/GStdIO.cc: New file. | |
| * mc-boot/GStorage.cc: New file. | |
| * mc-boot/GStrCase.cc: New file. | |
| * mc-boot/GStrIO.cc: New file. | |
| * mc-boot/GStrLib.cc: New file. | |
| * mc-boot/GStringConvert.cc: New file. | |
| * mc-boot/GSysStorage.cc: New file. | |
| * mc-boot/GTimeString.cc: New file. | |
| * mc-boot/Galists.cc: New file. | |
| * mc-boot/Gdecl.cc: New file. | |
| * mc-boot/Gkeyc.cc: New file. | |
| * mc-boot/Glists.cc: New file. | |
| * mc-boot/GmcComment.cc: New file. | |
| * mc-boot/GmcComp.cc: New file. | |
| * mc-boot/GmcDebug.cc: New file. | |
| * mc-boot/GmcError.cc: New file. | |
| * mc-boot/GmcFileName.cc: New file. | |
| * mc-boot/GmcLexBuf.cc: New file. | |
| * mc-boot/GmcMetaError.cc: New file. | |
| * mc-boot/GmcOptions.cc: New file. | |
| * mc-boot/GmcPreprocess.cc: New file. | |
| * mc-boot/GmcPretty.cc: New file. | |
| * mc-boot/GmcPrintf.cc: New file. | |
| * mc-boot/GmcQuiet.cc: New file. | |
| * mc-boot/GmcReserved.cc: New file. | |
| * mc-boot/GmcSearch.cc: New file. | |
| * mc-boot/GmcStack.cc: New file. | |
| * mc-boot/GmcStream.cc: New file. | |
| * mc-boot/Gmcp1.cc: New file. | |
| * mc-boot/Gmcp2.cc: New file. | |
| * mc-boot/Gmcp3.cc: New file. | |
| * mc-boot/Gmcp4.cc: New file. | |
| * mc-boot/Gmcp5.cc: New file. | |
| * mc-boot/GnameKey.cc: New file. | |
| * mc-boot/GsymbolKey.cc: New file. | |
| * mc-boot/Gtop.cc: New file. | |
| * mc-boot/Gvarargs.cc: New file. | |
| * mc-boot/Gwlists.cc: New file. | |
| * pge-boot/GASCII.cc: New file. | |
| * pge-boot/GArgs.cc: New file. | |
| * pge-boot/GAssertion.cc: New file. | |
| * pge-boot/GBuiltins.cc: New file. | |
| * pge-boot/GDebug.cc: New file. | |
| * pge-boot/GDynamicStrings.cc: New file. | |
| * pge-boot/GFIO.cc: New file. | |
| * pge-boot/GIO.cc: New file. | |
| * pge-boot/GIndexing.cc: New file. | |
| * pge-boot/GLists.cc: New file. | |
| * pge-boot/GM2Dependent.cc: New file. | |
| * pge-boot/GM2EXCEPTION.cc: New file. | |
| * pge-boot/GM2LINK.cc: New file. | |
| * pge-boot/GM2RTS.cc: New file. | |
| * pge-boot/GNameKey.cc: New file. | |
| * pge-boot/GNumberIO.cc: New file. | |
| * pge-boot/GOutput.cc: New file. | |
| * pge-boot/GPushBackInput.cc: New file. | |
| * pge-boot/GRTExceptions.cc: New file. | |
| * pge-boot/GRTco.cc: New file. | |
| * pge-boot/GSFIO.cc: New file. | |
| * pge-boot/GSYSTEM.cc: New file. | |
| * pge-boot/GSelective.cc: New file. | |
| * pge-boot/GStdIO.cc: New file. | |
| * pge-boot/GStorage.cc: New file. | |
| * pge-boot/GStrCase.cc: New file. | |
| * pge-boot/GStrIO.cc: New file. | |
| * pge-boot/GStrLib.cc: New file. | |
| * pge-boot/GSymbolKey.cc: New file. | |
| * pge-boot/GSysExceptions.cc: New file. | |
| * pge-boot/GSysStorage.cc: New file. | |
| * pge-boot/Gabort.cc: New file. | |
| * pge-boot/Gbnflex.cc: New file. | |
| * pge-boot/Gcbuiltin.cc: New file. | |
| * pge-boot/Gdtoa.cc: New file. | |
| * pge-boot/Gerrno.cc: New file. | |
| * pge-boot/Gldtoa.cc: New file. | |
| * pge-boot/Glibc.cc: New file. | |
| * pge-boot/Glibm.cc: New file. | |
| * pge-boot/Gmcrts.cc: New file. | |
| * pge-boot/Gpge.cc: New file. | |
| * pge-boot/Gwrapc.cc: New file. | |
| * pge-boot/main.cc: New file. | |
| * pge-boot/network.cc: New file. | |
| 2023-03-04 Gaius Mulley <gaiusmod2@gmail.com> | |
| * Make-lang.in (MC-LIB-BOOT-C): Rename to MC-LIB-BOOT-CC. | |
| (MC-BOOT-C): Rename to MC-BOOT-CC. | |
| (BUILD-MC-BOOT-C): Rename to BUILD-MC-BOOT-CC. | |
| (BUILD-MC-BOOT-AUTO-C): Rename to BUILD-MC-BOOT-AUTO-CC. | |
| (m2/mc-boot/$(SRC_PREFIX)%.o): Change source file extension to .cc. | |
| (m2/mc-boot-ch/$(SRC_PREFIX)%.o): Ditto. | |
| * Make-maintainer.in (m2/gm2-ppg-boot/$(SRC_PREFIX)%.o): Change | |
| source file extension to .cc. | |
| (m2/gm2-ppg-boot/main.o): Ditto. | |
| (m2/gm2-ppg-boot/$(SRC_PREFIX)%.o): Ditto. | |
| to .cc. | |
| (m2/gm2-pg-boot/main.o): Ditto. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)ldtoa.o): Ditto. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)dtoa.o): Ditto. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)errno.o): Ditto. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)M2RTS.o): Ditto. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)%.o): Ditto. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)%.o): Ditto. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)pge.o): Ditto. | |
| (m2/gm2-pge-boot/main.o): Ditto. | |
| (mc-push): Ditto. | |
| (mc-clean): Ditto. | |
| (mc-stage2): Ditto. | |
| ((objdir)/m2/mc-boot-gen): Ditto. | |
| (m2/mc-boot-gen/$(SRC_PREFIX)decl.c): Ditto. | |
| (m2/mc-boot-gen/$(SRC_PREFIX)%.c): Ditto. | |
| * mc-boot-ch/GBuiltins.c: Correct comment and rename. | |
| * mc-boot-ch/Gdtoa.c: Correct comment and rename. | |
| * mc-boot-ch/Gldtoa.c: Correct comment and rename | |
| * mc-boot-ch/Gtermios.cc: Rename from Gtermios.c. | |
| * mc-boot-ch/Gerrno.c: Rename. | |
| * mc-boot-ch/GRTco.c: Removed. | |
| * mc-boot/GASCII.c: Rename to mc-boot/GASCII.cc. | |
| * mc-boot/GArgs.c: Rename to mc-boot/GArgs.cc. | |
| * mc-boot/GAssertion.c: Rename to mc-boot/GAssertion.cc. | |
| * mc-boot/GBreak.c: Rename to mc-boot/GBreak.cc. | |
| * mc-boot/GCmdArgs.c: Rename to mc-boot/GCmdArgs.cc. | |
| * mc-boot/GDebug.c: Rename to mc-boot/GDebug.cc. | |
| * mc-boot/GDynamicStrings.c: Rename to mc-boot/GDynamicStrings.cc. | |
| * mc-boot/GEnvironment.c: Rename to mc-boot/GEnvironment.cc. | |
| * mc-boot/GFIO.c: Rename to mc-boot/GFIO.cc. | |
| * mc-boot/GFormatStrings.c: Rename to mc-boot/GFormatStrings.cc. | |
| * mc-boot/GFpuIO.c: Rename to mc-boot/GFpuIO.cc. | |
| * mc-boot/GIO.c: Rename to mc-boot/GIO.cc. | |
| * mc-boot/GIndexing.c: Rename to mc-boot/GIndexing.cc. | |
| * mc-boot/GM2Dependent.c: Rename to mc-boot/GM2Dependent.cc. | |
| * mc-boot/GM2EXCEPTION.c: Rename to mc-boot/GM2EXCEPTION.cc. | |
| * mc-boot/GM2RTS.c: Rename to mc-boot/GM2RTS.cc. | |
| * mc-boot/GMemUtils.c: Rename to mc-boot/GMemUtils.cc. | |
| * mc-boot/GNumberIO.c: Rename to mc-boot/GNumberIO.cc. | |
| * mc-boot/GPushBackInput.c: Rename to mc-boot/GPushBackInput.cc. | |
| * mc-boot/GRTExceptions.c: Rename to mc-boot/GRTExceptions.cc. | |
| * mc-boot/GRTint.c: Rename to mc-boot/GRTint.cc. | |
| * mc-boot/GSArgs.c: Rename to mc-boot/GSArgs.cc. | |
| * mc-boot/GSFIO.c: Rename to mc-boot/GSFIO.cc. | |
| * mc-boot/GStdIO.c: Rename to mc-boot/GStdIO.cc. | |
| * mc-boot/GStorage.c: Rename to mc-boot/GStorage.cc. | |
| * mc-boot/GStrCase.c: Rename to mc-boot/GStrCase.cc. | |
| * mc-boot/GStrIO.c: Rename to mc-boot/GStrIO.cc. | |
| * mc-boot/GStrLib.c: Rename to mc-boot/GStrLib.cc. | |
| * mc-boot/GStringConvert.c: Rename to mc-boot/GStringConvert.cc. | |
| * mc-boot/GSysStorage.c: Rename to mc-boot/GSysStorage.cc. | |
| * mc-boot/GTimeString.c: Rename to mc-boot/GTimeString.cc. | |
| * mc-boot/Galists.c: Rename to mc-boot/Galists.cc. | |
| * mc-boot/Gdecl.c: Rename to mc-boot/Gdecl.cc. | |
| * mc-boot/Gkeyc.c: Rename to mc-boot/Gkeyc.cc. | |
| * mc-boot/Glists.c: Rename to mc-boot/Glists.cc. | |
| * mc-boot/GmcComment.c: Rename to mc-boot/GmcComment.cc. | |
| * mc-boot/GmcComp.c: Rename to mc-boot/GmcComp.cc. | |
| * mc-boot/GmcDebug.c: Rename to mc-boot/GmcDebug.cc. | |
| * mc-boot/GmcError.c: Rename to mc-boot/GmcError.cc. | |
| * mc-boot/GmcFileName.c: Rename to mc-boot/GmcFileName.cc. | |
| * mc-boot/GmcLexBuf.c: Rename to mc-boot/GmcLexBuf.cc. | |
| * mc-boot/GmcMetaError.c: Rename to mc-boot/GmcMetaError.cc. | |
| * mc-boot/GmcOptions.c: Rename to mc-boot/GmcOptions.cc. | |
| * mc-boot/GmcPreprocess.c: Rename to mc-boot/GmcPreprocess.cc. | |
| * mc-boot/GmcPretty.c: Rename to mc-boot/GmcPretty.cc. | |
| * mc-boot/GmcPrintf.c: Rename to mc-boot/GmcPrintf.cc. | |
| * mc-boot/GmcQuiet.c: Rename to mc-boot/GmcQuiet.cc. | |
| * mc-boot/GmcReserved.c: Rename to mc-boot/GmcReserved.cc. | |
| * mc-boot/GmcSearch.c: Rename to mc-boot/GmcSearch.cc. | |
| * mc-boot/GmcStack.c: Rename to mc-boot/GmcStack.cc. | |
| * mc-boot/GmcStream.c: Rename to mc-boot/GmcStream.cc. | |
| * mc-boot/Gmcp1.c: Rename to mc-boot/Gmcp1.cc. | |
| * mc-boot/Gmcp2.c: Rename to mc-boot/Gmcp2.cc. | |
| * mc-boot/Gmcp3.c: Rename to mc-boot/Gmcp3.cc. | |
| * mc-boot/Gmcp4.c: Rename to mc-boot/Gmcp4.cc. | |
| * mc-boot/Gmcp5.c: Rename to mc-boot/Gmcp5.cc. | |
| * mc-boot/GnameKey.c: Rename to mc-boot/GnameKey.cc. | |
| * mc-boot/GsymbolKey.c: Rename to mc-boot/GsymbolKey.cc. | |
| * mc-boot/Gtop.c: Rename to mc-boot/Gtop.cc. | |
| * mc-boot/Gvarargs.c: Rename to mc-boot/Gvarargs.cc. | |
| * mc-boot/Gwlists.c: Rename to mc-boot/Gwlists.cc. | |
| * pge-boot/GASCII.c: Rename to pge-boot/GASCII.cc. | |
| * pge-boot/GArgs.c: Rename to pge-boot/GArgs.cc. | |
| * pge-boot/GAssertion.c: Rename to pge-boot/GAssertion.cc. | |
| * pge-boot/GBuiltins.c: Rename to pge-boot/GBuiltins.cc. | |
| * pge-boot/GDebug.c: Rename to pge-boot/GDebug.cc. | |
| * pge-boot/GDynamicStrings.c: Rename to pge-boot/GDynamicStrings.cc. | |
| * pge-boot/GFIO.c: Rename to pge-boot/GFIO.cc. | |
| * pge-boot/GIO.c: Rename to pge-boot/GIO.cc. | |
| * pge-boot/GIndexing.c: Rename to pge-boot/GIndexing.cc. | |
| * pge-boot/GLists.c: Rename to pge-boot/GLists.cc. | |
| * pge-boot/GM2Dependent.c: Rename to pge-boot/GM2Dependent.cc. | |
| * pge-boot/GM2EXCEPTION.c: Rename to pge-boot/GM2EXCEPTION.cc. | |
| * pge-boot/GM2LINK.c: Rename to pge-boot/GM2LINK.cc. | |
| * pge-boot/GM2RTS.c: Rename to pge-boot/GM2RTS.cc. | |
| * pge-boot/GNameKey.c: Rename to pge-boot/GNameKey.cc. | |
| * pge-boot/GNumberIO.c: Rename to pge-boot/GNumberIO.cc. | |
| * pge-boot/GOutput.c: Rename to pge-boot/GOutput.cc. | |
| * pge-boot/GPushBackInput.c: Rename to pge-boot/GPushBackInput.cc. | |
| * pge-boot/GRTExceptions.c: Rename to pge-boot/GRTExceptions.cc. | |
| * pge-boot/GRTco.c: Rename to pge-boot/GRTco.cc. | |
| * pge-boot/GSFIO.c: Rename to pge-boot/GSFIO.cc. | |
| * pge-boot/GSYSTEM.c: Rename to pge-boot/GSYSTEM.cc. | |
| * pge-boot/GSelective.c: Rename to pge-boot/GSelective.cc. | |
| * pge-boot/GStdIO.c: Rename to pge-boot/GStdIO.cc. | |
| * pge-boot/GStorage.c: Rename to pge-boot/GStorage.cc. | |
| * pge-boot/GStrCase.c: Rename to pge-boot/GStrCase.cc. | |
| * pge-boot/GStrIO.c: Rename to pge-boot/GStrIO.cc. | |
| * pge-boot/GStrLib.c: Rename to pge-boot/GStrLib.cc. | |
| * pge-boot/GSymbolKey.c: Rename to pge-boot/GSymbolKey.cc. | |
| * pge-boot/GSysExceptions.c: Rename to pge-boot/GSysExceptions.cc. | |
| * pge-boot/GSysStorage.c: Rename to pge-boot/GSysStorage.cc. | |
| * pge-boot/Gabort.c: Rename to pge-boot/Gabort.cc. | |
| * pge-boot/Gbnflex.c: Rename to pge-boot/Gbnflex.cc. | |
| * pge-boot/Gcbuiltin.c: Rename to pge-boot/Gcbuiltin.cc. | |
| * pge-boot/Gdtoa.c: Rename to pge-boot/Gdtoa.cc. | |
| * pge-boot/Gerrno.c: Rename to pge-boot/Gerrno.cc. | |
| * pge-boot/Gldtoa.c: Rename to pge-boot/Gldtoa.cc. | |
| * pge-boot/Glibc.c: Rename to pge-boot/Glibc.cc. | |
| * pge-boot/Glibm.c: Rename to pge-boot/Glibm.cc. | |
| * pge-boot/Gmcrts.c: Rename to pge-boot/Gmcrts.cc. | |
| * pge-boot/Gpge.c: Rename to pge-boot/Gpge.cc. | |
| * pge-boot/Gwrapc.c: Rename to pge-boot/Gwrapc.cc. | |
| * pge-boot/README: Correct description. | |
| * pge-boot/main.c: Rename to pge-boot/main.cc. | |
| * pge-boot/network.c: Rename to pge-boot/network.cc. | |
| 2023-02-28 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/108956 | |
| * Make-lang.in (m2/gm2-libs-boot/M2RTS.o): New specific rule to | |
| add the --suppress-noreturn option. | |
| * Make-maintainer.in (m2/gm2-ppg-boot/$(SRC_PREFIX)M2RTS.o): New | |
| specific rule to add the --suppress-noreturn option. | |
| (m2/gm2-pg-boot/$(SRC_PREFIX)M2RTS.o): New | |
| specific rule to add the --suppress-noreturn option. | |
| (m2/gm2-pg-boot/$(SRC_PREFIX)%.o): Add missing $(srcdir). | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)M2RTS.o): New | |
| specific rule to add the --suppress-noreturn option. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)%.o): Add missing $(srcdir). | |
| * gm2-libs-ch/UnixArgs.cc (LIBNAME): New define. | |
| (_M2_UnixArgs_ctor): Add LIBNAME parameter to RegisterModule. | |
| * gm2-libs-ch/dtoa.cc (LIBNAME): New define. | |
| (_M2_dtoa_ctor): Add LIBNAME parameter to RegisterModule. | |
| * gm2-libs-ch/ldtoa.cc (LIBNAME): New define. | |
| (_M2_ldtoa_ctor): Add LIBNAME parameter to RegisterModule. | |
| * pge-boot/m2rts.h (M2RTS_RegisterModule): Add libname | |
| parameter. | |
| * gm2-libs-ch/m2rts.h (M2RTS_RegisterModule): Add libname | |
| parameter. | |
| * mc-boot-ch/GUnixArgs.cc (_M2_UnixArgs_ctor): Remove. | |
| * pge-boot/GUnixArgs.cc (LIBNAME): New define. | |
| (_M2_UnixArgs_ctor): Add LIBNAME parameter to RegisterModule. | |
| * gm2-libs/RTint.def (AttachVector): Rename parameter. | |
| * mc-boot/GDynamicStrings.c: Rebuilt. | |
| * mc-boot/GFIO.c: Rebuilt. | |
| * mc-boot/GIndexing.c: Rebuilt. | |
| * mc-boot/GM2EXCEPTION.c: Rebuilt. | |
| * mc-boot/GPushBackInput.c: Rebuilt. | |
| * mc-boot/GRTExceptions.c: Rebuilt. | |
| * mc-boot/GRTint.c: Rebuilt. | |
| * mc-boot/GRTint.h: Rebuilt. | |
| * mc-boot/GStdIO.c: Rebuilt. | |
| * mc-boot/GStringConvert.c: Rebuilt. | |
| * mc-boot/GSysStorage.c: Rebuilt. | |
| * mc-boot/Gdecl.c: Rebuilt. | |
| * mc-boot/Gkeyc.c: Rebuilt. | |
| * mc-boot/GmcComment.c: Rebuilt. | |
| * mc-boot/GmcComp.c: Rebuilt. | |
| * mc-boot/GmcDebug.c: Rebuilt. | |
| * mc-boot/GmcMetaError.c: Rebuilt. | |
| * mc-boot/GmcOptions.c: Rebuilt. | |
| * mc-boot/GmcOptions.h: Rebuilt. | |
| * mc-boot/GmcStack.c: Rebuilt. | |
| * mc-boot/GnameKey.c: Rebuilt. | |
| * mc-boot/GsymbolKey.c: Rebuilt. | |
| * mc/decl.mod:: Rebuilt. | |
| * mc/mcOptions.def: Rebuilt. | |
| * mc/mcOptions.mod:: Rebuilt. | |
| * pge-boot/GDynamicStrings.c: Rebuilt. | |
| * pge-boot/GFIO.c: Rebuilt. | |
| * pge-boot/GIndexing.c: Rebuilt. | |
| * pge-boot/GM2EXCEPTION.c: Rebuilt. | |
| * pge-boot/GM2RTS.c: Rebuilt. | |
| * pge-boot/GNameKey.c: Rebuilt. | |
| * pge-boot/GPushBackInput.c: Rebuilt. | |
| * pge-boot/GRTExceptions.c: Rebuilt. | |
| * pge-boot/GStdIO.c: Rebuilt. | |
| * pge-boot/GSymbolKey.c: Rebuilt. | |
| * pge-boot/GSysStorage.c: Rebuilt. | |
| 2023-02-25 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/108261 | |
| * Make-lang.in (GM2-COMP-BOOT-DEFS): DynamicStringPath.def | |
| remove. DynamicPath.def add. | |
| (GM2-COMP-BOOT-MODS): DynamicStringPath.mod remove. | |
| DynamicPath.mod add. | |
| * Make-maintainer.in (BUILD-BOOT-PPG-H): New dependency. | |
| (m2/gm2-ppg-boot/$(SRC_PREFIX)%.o): $(BUILD-BOOT-PPG-H) Add | |
| dependency. | |
| (PGE-DEF): New definition. | |
| (BUILD-BOOT-PG-H): New dependency. | |
| (m2/gm2-pg-boot/$(SRC_PREFIX)%.o): $(BUILD-BOOT-PG-H) Add | |
| dependency. | |
| (BUILD-BOOT-PGE-H): New dependency. | |
| (m2/gm2-pge-boot/$(SRC_PREFIX)%.o): $(BUILD-BOOT-PGE-H) Add | |
| dependency. | |
| (GM2PATH): Add pathname entries. | |
| (m2/boot-bin/mc-devel$(exeext)): Add m2/mc-boot-ch/Gm2rtsdummy.o | |
| dependency. | |
| (m2/boot-bin/mc-opt$(exeext)): Fix -I path. | |
| * gm2-compiler/DynamicStringPath.def: Renamed module to | |
| DynamicPath. | |
| (GetUserPath): Remove. | |
| (GetSystemPath): Remove. | |
| (SetUserPath): Remove. | |
| (SetSystemPath): Remove. | |
| (DumpPath): New procedure definition. | |
| * gm2-compiler/DynamicStringPath.mod: Renamed module to | |
| DynamicPath. | |
| (GetUserPath): Remove. | |
| (GetSystemPath): Remove. | |
| (SetUserPath): Remove. | |
| (SetSystemPath): Remove. | |
| (DumpPath): Remove Debugging conditional. | |
| * gm2-compiler/M2AsmUtil.mod: Import EqualArray, NulName and | |
| GetLibName. | |
| (Debugging): New declaration. | |
| (GetFullSymName): Re-implemented to prefix (mange) libname | |
| to any extern variable/procedure which is IsExportQualified. | |
| * gm2-compiler/M2Comp.mod (qprintLibName): New procedure. | |
| * gm2-compiler/M2Graph.mod (resolveImports): Add libname. | |
| * gm2-compiler/M2Options.def (SetM2Prefix): New procedure. | |
| (GetM2Prefix): New procedure function. | |
| (SetM2PathName): New procedure. | |
| (GetM2PathName): New procedure function. | |
| * gm2-compiler/M2Options.mod: (SetM2Prefix): New procedure implemented. | |
| (GetM2Prefix): New procedure function implemented. | |
| (SetM2PathName): New procedure implemented. | |
| (GetM2PathName): New procedure function implemented. | |
| (RuntimeModuleOverride): Set to DefaultRuntimeModuleOverride. | |
| * gm2-compiler/M2Quads.mod: Import GetLibName. | |
| (SafeRequestSym) Pass result of GetLibName to RequestDependant. | |
| (callRequestDependant): Add libname as a parameter. | |
| (BuildM2InitFunction): Add libname as a parameter. | |
| (BuildM2FiniFunction): Add libname as a parameter. | |
| (BuildM2CtorFunction): Add libname as a parameter. | |
| * gm2-compiler/M2Scaffold.mod (LookupModuleSym): Set LibName | |
| if a definition source was found. | |
| * gm2-compiler/M2Search.def (FindSourceFile): Add named library parameter. | |
| (FindSourceDefFile): Add named library parameter. | |
| (FindSourceModFile): Add named library parameter. | |
| * gm2-compiler/M2Search.mod (FindSourceFile): Reimplement. | |
| (FindSourceDefFile): Add named library parameter. | |
| (FindSourceModFile): Add named library parameter. | |
| * gm2-compiler/SymbolTable.def (MakeProcedureCtorExtern): Add | |
| libname parameter. | |
| (PutLibName): New procedure. | |
| (GetLibName): New procedure function. | |
| * gm2-compiler/SymbolTable.mod (MakeProcedureCtorExtern): Add | |
| libname parameter. | |
| (GenName): Add libname parameter. | |
| (InitCtorFields): Add moduleSym as a parameter. | |
| (PutCtorExtern): Add libname parameter to GenName. | |
| * gm2-gcc/init.cc (_M2_DynamicStringPath_init): Rename function... | |
| (_M2_DynamicPath_init): ...to this. | |
| (_M2_PathName_init): Added. | |
| * gm2-gcc/m2decl.cc (m2decl_DeclareM2linkStaticInitialization): | |
| Add m2pim as the manged component of the exported symbol. | |
| (m2decl_DeclareM2linkForcedModuleInitOrder): Add m2pim mangle prefix. | |
| * gm2-gcc/m2options.h (M2Options_SetM2Prefix): New function. | |
| (M2Options_GetM2Prefix): New function. | |
| (M2Options_SetM2PathName): New function. | |
| (M2Options_GetM2PathName): New function. | |
| * gm2-lang.cc (push_back_Ipath): New function. | |
| (add_one_import_path): New function. | |
| (gm2_langhook_handle_option): Record -I component. Call | |
| SetM2PathName when -fm2-pathname= is seen. Record -fm2-pathnameI | |
| component. Call SetM2Prefix when -fm2-prefix= is seen. | |
| (gm2_langhook_post_options): Iterative over pathname entries | |
| and call SetM2PathName, SetSearchPath as appropriate. | |
| * gm2-libs-iso/M2RTS.def (ConstructModules): Add libname parameter. | |
| (DeconstructModules): Add libname parameter. | |
| (RegisterModule): Add libname parameter. | |
| (RequestDependant): Add libname parameter. | |
| * gm2-libs-iso/M2RTS.mod (ConstructModules): Add libname parameter. | |
| (DeconstructModules): Add libname parameter. | |
| (RegisterModule): Add libname parameter. | |
| (RequestDependant): Add libname parameter. | |
| * gm2-libs-min/M2RTS.def (ConstructModules): Add libname parameter. | |
| (DeconstructModules): Add libname parameter. | |
| (RegisterModule): Add libname parameter. | |
| (RequestDependant): Add libname parameter. | |
| * gm2-libs-min/M2RTS.mod (ConstructModules): Add libname parameter. | |
| (DeconstructModules): Add libname parameter. | |
| (RegisterModule): Add libname parameter. | |
| (RequestDependant): Add libname parameter. | |
| * gm2-libs/M2Dependent.def (ConstructModules): Add libname parameter. | |
| (DeconstructModules): Add libname parameter. | |
| (RegisterModule): Add libname parameter. | |
| (RequestDependant): Add libname parameter. | |
| * gm2-libs/M2Dependent.mod (ConstructModules): Add libname parameter. | |
| (DeconstructModules): Add libname parameter. | |
| (RegisterModule): Add libname parameter. | |
| (RequestDependant): Add libname parameter. | |
| * gm2-libs/M2RTS.def (ConstructModules): Add libname parameter. | |
| (DeconstructModules): Add libname parameter. | |
| (RegisterModule): Add libname parameter. | |
| (RequestDependant): Add libname parameter. | |
| * gm2-libs/M2RTS.mod (ConstructModules): Add libname parameter. | |
| (DeconstructModules): Add libname parameter. | |
| (RegisterModule): Add libname parameter. | |
| (RequestDependant): Add libname parameter. | |
| * gm2-libs/RTint.mod (FindVector): Rename variables. | |
| (initInputVector): Rename variables. | |
| (initOutputVector): Rename variables. | |
| (InitTimeVector): Rename variables. | |
| (FindVectorNo): Rename variables. | |
| (FindPendingVector): Rename variables. | |
| (ReArmTimeVector): Rename variables. | |
| (GetTimeVector): Rename variables. | |
| (AttachVector): Rename variables. | |
| (AttachVector): Rename variables. | |
| (IncludeVector): Rename variables. | |
| (ExcludeVector): Rename variables. | |
| (AddFd): Rename variables. | |
| (AddFd): Rename variables. | |
| (DumpPendingQueue): Rename variables. | |
| (stop): Remove. | |
| (activatePending): Rename variables. | |
| (Listen): Rename variables. | |
| * gm2-libs/libc.def (snprintf): New function. | |
| * gm2-libs/sckt.def: Change all exported identifiers to be | |
| export qualified. | |
| * gm2spec.cc (push_back_Ipath): New function. | |
| (add_m2_I_path): New function. | |
| (lang_specific_driver): Skip -fm2-pathname= and remember pathname. | |
| Skip -I and record the path and current pathname. Call add_m2_I_path. | |
| * lang-specs.h: Replace %{I*} with %{fm2-pathname*}. | |
| * lang.opt (-fm2-pathname=): New entry. | |
| (-fm2-pathname): New entry. | |
| (-fm2-prefix=): New entry. | |
| * mc-boot-ch/GUnixArgs.cc (_M2_UnixArgs_dep): New function. | |
| (_M2_UnixArgs_ctor::_M2_UnixArgs_ctor): New method. | |
| * mc-boot-ch/Glibc.c (libc_snprintf): New function. | |
| * mc-boot-ch/m2rts.h (M2RTS_RequestDependant): Changed prototype. | |
| (M2RTS_RegisterModule): Changed prototype. | |
| * mc-boot/GDynamicStrings.c: Rebuild. | |
| * mc-boot/GFIO.c: Rebuild. | |
| * mc-boot/GIndexing.c: Rebuild. | |
| * mc-boot/GM2Dependent.c: Rebuild. | |
| * mc-boot/GM2Dependent.h: Rebuild. | |
| * mc-boot/GM2EXCEPTION.c: Rebuild. | |
| * mc-boot/GM2RTS.c: Rebuild. | |
| * mc-boot/GM2RTS.h: Rebuild. | |
| * mc-boot/GPushBackInput.c: Rebuild. | |
| * mc-boot/GRTExceptions.c: Rebuild. | |
| * mc-boot/GRTint.c: Rebuild. | |
| * mc-boot/GStdIO.c: Rebuild. | |
| * mc-boot/GStringConvert.c: Rebuild. | |
| * mc-boot/GSysStorage.c: Rebuild. | |
| * mc-boot/Gdecl.c: Rebuild. | |
| * mc-boot/Gkeyc.c: Rebuild. | |
| * mc-boot/Glibc.h: Rebuild. | |
| * mc-boot/GmcComment.c: Rebuild. | |
| * mc-boot/GmcComp.c: Rebuild. | |
| * mc-boot/GmcDebug.c: Rebuild. | |
| * mc-boot/GmcMetaError.c: Rebuild. | |
| * mc-boot/GmcStack.c: Rebuild. | |
| * mc-boot/GnameKey.c: Rebuild. | |
| * mc-boot/GsymbolKey.c: Rebuild. | |
| * pge-boot/GASCII.c: Rebuild. | |
| * pge-boot/GArgs.c: Rebuild. | |
| * pge-boot/GAssertion.c: Rebuild. | |
| * pge-boot/GDebug.c: Rebuild. | |
| * pge-boot/GDynamicStrings.c: Rebuild. | |
| * pge-boot/GFIO.c: Rebuild. | |
| * pge-boot/GIO.c: Rebuild. | |
| * pge-boot/GIndexing.c: Rebuild. | |
| * pge-boot/GLists.c: Rebuild. | |
| * pge-boot/GM2Dependent.c: Rebuild. | |
| * pge-boot/GM2Dependent.h: Rebuild. | |
| * pge-boot/GM2EXCEPTION.c: Rebuild. | |
| * pge-boot/GM2RTS.c: Rebuild. | |
| * pge-boot/GM2RTS.h: Rebuild. | |
| * pge-boot/GNameKey.c: Rebuild. | |
| * pge-boot/GNumberIO.c: Rebuild. | |
| * pge-boot/GOutput.c: Rebuild. | |
| * pge-boot/GPushBackInput.c: Rebuild. | |
| * pge-boot/GRTExceptions.c: Rebuild. | |
| * pge-boot/GSFIO.c: Rebuild. | |
| * pge-boot/GStdIO.c: Rebuild. | |
| * pge-boot/GStorage.c: Rebuild. | |
| * pge-boot/GStrCase.c: Rebuild. | |
| * pge-boot/GStrIO.c: Rebuild. | |
| * pge-boot/GStrLib.c: Rebuild. | |
| * pge-boot/GSymbolKey.c: Rebuild. | |
| * pge-boot/GSysExceptions.c (_M2_SysExceptions_finish): Rename this... | |
| (_M2_SysExceptions_fini): ... to this. | |
| * pge-boot/GSysStorage.c: Rebuild. | |
| (_M2_SysStorage_finish): Rename this... | |
| (_M2_SysStorage_fini): ... to this. | |
| * pge-boot/GUnixArgs.cc: New file. | |
| * pge-boot/Gbnflex.c (_M2_bnflex_finish): Rename this... | |
| (_M2_bnflex_fini): ... to this. | |
| * pge-boot/Gerrno.c (_M2_errno_finish): Rename this... | |
| (_M2_errno_fini): ... to this. | |
| * pge-boot/Glibc.c (libc_snprintf): New function. | |
| * pge-boot/Glibc.h (libc_snprintf): New prototype. | |
| * pge-boot/Gpge.c (_M2_pge_finish): Rename this... | |
| (_M2_pge_fini): ... to this. | |
| * pge-boot/Gtermios.cc (_M2_termios_finish): Rename this... | |
| (_M2_termios_fini): ... to this. | |
| * pge-boot/main.c (_M2_RTExceptions_finish): Rename this... | |
| (_M2_RTExceptions_fini): ... to this. | |
| (_M2_M2EXCEPTION_finish): Rename this... | |
| (_M2_M2EXCEPTION_fini): ... to this. | |
| (_M2_M2RTS_finish): Rename this... | |
| (_M2_M2RTS_fini): ... to this. | |
| (_M2_SysExceptions_finish): Rename this... | |
| (_M2_SysExceptions_fini): ... to this. | |
| (_M2_StrLib_finish): Rename this... | |
| (_M2_StrLib_fini): ... to this. | |
| (_M2_errno_finish): Rename this... | |
| (_M2_errno_fini): ... to this. | |
| (_M2_termios_finish): Rename this... | |
| (_M2_termios_fini): ... to this. | |
| (_M2_IO_finish): Rename this... | |
| (_M2_IO_fini): ... to this. | |
| (_M2_StdIO_finish): Rename this... | |
| (_M2_StdIO_fini): ... to this. | |
| (_M2_Debug_finish): Rename this... | |
| (_M2_Debug_fini): ... to this. | |
| (_M2_SysStorage_finish): Rename this... | |
| (_M2_SysStorage_fini): ... to this. | |
| (_M2_Storage_finish): Rename this... | |
| (_M2_Storage_fini): ... to this. | |
| (_M2_StrIO_finish): Rename this... | |
| (_M2_StrIO_fini): ... to this. | |
| (_M2_DynamicStrings_finish): Rename this... | |
| (_M2_DynamicStrings_fini): ... to this. | |
| (_M2_Assertion_finish): Rename this... | |
| (_M2_Assertion_fini): ... to this. | |
| (_M2_Indexing_finish): Rename this... | |
| (_M2_Indexing_fini): ... to this. | |
| (_M2_NameKey_finish): Rename this... | |
| (_M2_NameKey_fini): ... to this. | |
| (_M2_NumberIO_finish): Rename this... | |
| (_M2_NumberIO_fini): ... to this. | |
| (_M2_PushBackInput_finish): Rename this... | |
| (_M2_PushBackInput_fini): ... to this. | |
| (_M2_SymbolKey_finish): Rename this... | |
| (_M2_SymbolKey_fini): ... to this. | |
| (_M2_UnixArgs_finish): Rename this... | |
| (_M2_UnixArgs_fini): ... to this. | |
| (_M2_FIO_finish): Rename this... | |
| (_M2_FIO_fini): ... to this. | |
| (_M2_SFIO_finish): Rename this... | |
| (_M2_SFIO_fini): ... to this. | |
| (_M2_StrCase_finish): Rename this... | |
| (_M2_StrCase_fini): ... to this. | |
| (_M2_bnflex_finish): Rename this... | |
| (_M2_bnflex_fini): ... to this. | |
| (_M2_Lists_finish): Rename this... | |
| (_M2_Lists_fini): ... to this. | |
| (_M2_Args_finish): Rename this... | |
| (_M2_Args_fini): ... to this. | |
| (_M2_Output_finish): Rename this... | |
| (_M2_Output_fini): ... to this. | |
| (_M2_pge_finish): Rename this... | |
| (_M2_pge_fini): ... to this. | |
| * plugin/m2rte.cc (m2_runtime_error_calls): Change all runtime | |
| procedure names to their name mangled counterparts. | |
| * gm2-libs-iso/wrapsock.c: Removed. | |
| * gm2-libs-iso/wraptime.c: Removed. | |
| * mc-boot/Gpth.h: Removed. | |
| * gm2-compiler/PathName.def: New file. | |
| * gm2-compiler/PathName.mod: New file. | |
| * gm2-compiler/DynamicPath.def: New file. | |
| * gm2-compiler/DynamicPath.mod: New file. | |
| 2023-02-06 Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/108135 | |
| * gm2-compiler/M2Search.mod (DSdbEnter): Comment out. | |
| (DSdbExit): Comment out. | |
| 2023-02-06 Co-Authored by: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
| PR modula2/107234 | |
| * m2pp.cc (m2pp_integer_cst): Use | |
| HOST_WIDE_INT_PRINT_UNSIGNED as the format specifier. | |
| 2023-02-06 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-compiler/M2Preprocess.mod (BaseName): Comment out. | |
| * gm2-lang.cc (opt): Remove. | |
| * gm2spec.cc (add_include): Remove. | |
| (full_libraries): Remove. | |
| (concat_option): Remove. | |
| 2023-02-03 Gaius Mulley <gaiusmod2@gmail.com> | |
| * Make-lang.in (TEXISRC): Remove m2/images/gnu.eps. | |
| (RSTSRC): Remove m2/images/gnu.eps. | |
| (doc/m2.dvi): Add $(objdir)/m2/images/gnu.eps. | |
| (doc/m2.pdf): Add $(objdir)/m2/images/gnu.eps. | |
| (M2_PDFFILES): New definition. | |
| (m2.install-pdf): New rule. | |
| (m2.pod): Add $(objdir)/m2/images/gnu.eps. | |
| (m2.info): Add $(objdir)/m2/images/gnu.eps. | |
| (m2.html): New rule. | |
| (m2/gpl_v3_without_node.texi): New rule. | |
| (plugin/m2rte$(soext)): Simplify mkinstalldirs. | |
| (cc1gm2$(exeext)): Ditto. | |
| (m2/stage1/cc1gm2$(exeext)): Ditto. | |
| (m2/gm2-gcc/%.o): Ditto. | |
| (m2/gm2-gcc/rtegraph.o): Ditto. | |
| (m2/gm2-gcc/$(SRC_PREFIX)%.h): Ditto. | |
| (m2/mc-boot/$(SRC_PREFIX)%.o):Ditto. | |
| (m2/mc-boot-ch/$(SRC_PREFIX)%.o): Ditto. | |
| (m2/mc-boot/main.o): Ditto. | |
| (m2/gm2-libs-boot/%.o): Ditto. | |
| (m2/gm2-libs-boot/$(SRC_PREFIX)%.h): Ditto. | |
| (m2/gm2-libs-boot/RTcodummy.o): Ditto. | |
| (m2/gm2-libs-boot/wrapc.o): Ditto. | |
| (m2/gm2-libs-boot/M2LINK.o): Ditto. | |
| (m2/gm2-libs-boot/UnixArgs.o): Ditto. | |
| (m2/gm2-libs-boot/choosetemp.o): Ditto. | |
| (m2/gm2-libs-boot/errno.o): Ditto. | |
| (m2/gm2-libs-boot/dtoa.o): Ditto. | |
| (m2/gm2-libs-boot/ldtoa.o): Ditto. | |
| (m2/gm2-libs-boot/termios.o): Ditto. | |
| (m2/gm2-libs-boot/SysExceptions.o): Ditto. | |
| (m2/gm2-libs-boot/SysStorage.o): Ditto. | |
| (m2/gm2-compiler-boot/M2GCCDeclare.o): Ditto. | |
| (m2/gm2-compiler-boot/M2Error.o): Ditto. | |
| (m2/gm2-compiler-boot/%.o): Ditto. | |
| (m2/gm2-compiler-boot/$(SRC_PREFIX)%.h): Ditto. | |
| (m2/gm2-compiler-boot/m2flex.o): Ditto. | |
| (m2/gm2-compiler/m2flex.c): Ditto. | |
| (m2/gm2-libiberty/$(SRC_PREFIX)%.h): Ditto. | |
| (m2/gm2-compiler/%.o): Ditto. | |
| (m2/gm2-compiler/m2flex.o): Ditto. | |
| (m2/gm2-compiler/%.o): Ditto. | |
| (m2/gm2-libs-iso/%.o): Ditto. | |
| (m2/gm2-libs/gm2-libs-host.h): Ditto. | |
| ($(objdir)/m2/gm2-libs-min/SYSTEM.def): Ditto. | |
| ($(objdir)/m2/gm2-libs/SYSTEM.def): Ditto. | |
| ($(objdir)/m2/gm2-libs-iso/SYSTEM.def): Ditto. | |
| ($(objdir)/m2/gm2-libs-coroutines/SYSTEM.def): Ditto. | |
| (m2/gm2-compiler/gm2.a): Ditto. | |
| (m2/gm2-libs-boot/libgm2.a): Ditto. | |
| (m2/gm2-compiler-boot/gm2.a): Ditto. | |
| (m2/boot-bin/mklink$(exeext)): Ditto. | |
| (m2/gm2-compiler-boot/$(SRC_PREFIX)%.h): Ditto. | |
| (m2/gm2-compiler/%.mod): Ditto. | |
| (m2/gm2-compiler-boot/%.mod): Ditto. | |
| (m2/pge-boot/%.o): Ditto. | |
| 2023-02-01 Gaius Mulley <gaiusmod2@gmail.com> | |
| * Make-lang.in (GM2_FLAGS): Add -fno-return -Wreturn-type. | |
| (GM2_ISO_FLAGS): Add -fno-return -Wreturn-type. | |
| * Make-maintainer.in (GM2PATH): Split into separate -I components. | |
| (MC-LIB-DEFS): Add RTentity.def. | |
| (m2/boot-bin/mc-devel$(exeext)): Changed -I$(GM2PATH) to | |
| $(GM2PATH). | |
| (m2/boot-bin/mc-opt$(exeext)): Separate -I paths. | |
| (m2/mc/decl.o): Separate -I paths. | |
| (gm2-bootstrap): Separate -I paths. | |
| (m2/mc-boot-gen/$(SRC_PREFIX)%.h): Separate -I paths. | |
| (m2/mc-boot-gen/$(SRC_PREFIX)decl.c): Separate -I paths. | |
| (m2/mc-boot-gen/$(SRC_PREFIX)%.c): Separate -I paths. | |
| (gm2.verifyparanoid): Separate -I paths. | |
| (gm2.verifystage12): Separate -I paths. | |
| * gm2-compiler/M2ALU.mod (GetConstructorElement): Add default | |
| Return NulSym. Remove return from the error case. | |
| * gm2-compiler/M2Base.mod (ComplexToScalar): Return RType | |
| from the error case. | |
| (MixMetaTypes): Return MakeError as a default. | |
| * gm2-compiler/M2GCCDeclare.mod (GetTypeMin): Return NulSym | |
| from the error case. | |
| (GetTypeMax): Return NulSym from the error case. | |
| * gm2-compiler/M2GenGCC.mod (IsExportedGcc): Replace Assert | |
| by InternalError. | |
| * gm2-compiler/M2Quads.mod (GetItemPointedTo): Add InternalError. | |
| (GetTypeMin): Add InternalError. | |
| (GetTypeMax): Add InternalError. | |
| * gm2-compiler/M2System.mod (InitSystem): Call | |
| PutProcedureNoReturn on Throw. | |
| * gm2-gcc/m2except.cc (m2except_InitExceptions): fn_throw_tree | |
| declare as noreturn. fn_rethrow_tree declare as noreturn. | |
| * gm2-libs-coroutines/Debug.def (Halt): Add noreturn attribute. | |
| * gm2-libs-coroutines/SYSTEM.def (THROW): Add noreturn attribute. | |
| * gm2-libs-iso/ClientSocket.mod (dorbytes): Add return FALSE. | |
| * gm2-libs-iso/EXCEPTIONS.def (RAISE): Add noreturn attribute. | |
| * gm2-libs-iso/IOLink.def (RAISEdevException): Add noreturn attribute. | |
| * gm2-libs-iso/M2RTS.def (HALT): Add noreturn attribute. | |
| (Halt): Ditto. | |
| (HaltC): Ditto. | |
| (ErrorMessage): Ditto. | |
| (AssignmentException): Ditto. | |
| (ReturnException): Ditto. | |
| (IncException): Ditto. | |
| (DecException): Ditto. | |
| (InclException): Ditto. | |
| (ExclException): Ditto. | |
| (ShiftException): Ditto. | |
| (RotateException): Ditto. | |
| (StaticArraySubscriptException): Ditto. | |
| (DynamicArraySubscriptException): Ditto. | |
| (ForLoopBeginException): Ditto. | |
| (ForLoopToException): Ditto. | |
| (ForLoopEndException): Ditto. | |
| (PointerNilException): Ditto. | |
| (NoReturnException): Ditto. | |
| (CaseException): Ditto. | |
| (WholeNonPosDivException): Ditto. | |
| (WholeNonPosModException): Ditto. | |
| (WholeZeroDivException): Ditto. | |
| (WholeZeroRemException): Ditto. | |
| (WholeValueException): Ditto. | |
| (RealValueException): Ditto. | |
| (ParameterException): Ditto. | |
| (NoException): Ditto. | |
| * gm2-libs-iso/SYSTEM.def (THROW): Ditto. | |
| * gm2-libs-iso/TermFile.mod (dorbytes): Add default return FALSE. | |
| * gm2-libs-min/M2RTS.def: Add noreturn attribute. | |
| * gm2-libs/FIO.mod (BufferedRead): Return -1. | |
| (getFileName): Return NIL. | |
| (getFileNameLength): Return 0. | |
| * gm2-libs/M2RTS.def (HaltC): Add noreturn attribute. | |
| (AssignmentException): Ditto. | |
| (ReturnException): Ditto. | |
| (IncException): Ditto. | |
| (DecException): Ditto. | |
| (InclException): Ditto. | |
| (ExclException): Ditto. | |
| (ShiftException): Ditto. | |
| (RotateException): Ditto. | |
| (StaticArraySubscriptException): Ditto. | |
| (DynamicArraySubscriptException): Ditto. | |
| (ForLoopBeginException): Ditto. | |
| (ForLoopToException): Ditto. | |
| (ForLoopEndException): Ditto. | |
| (PointerNilException): Ditto. | |
| (NoReturnException): Ditto. | |
| (CaseException): Ditto. | |
| (WholeNonPosDivException): Ditto. | |
| (WholeNonPosModException): Ditto. | |
| (WholeZeroDivException): Ditto. | |
| (WholeZeroRemException): Ditto. | |
| (WholeValueException): Ditto. | |
| (RealValueException): Ditto. | |
| (ParameterException): Ditto. | |
| (NoException): Ditto. | |
| * gm2-libs/RTExceptions.def (Raise): Ditto. | |
| * gm2-libs/RTExceptions.mod (InvokeHandler): Ditto. | |
| * gm2-libs/SYSTEM.def (THROW): Ditto. | |
| * m2.flex (_M2_m2flex_fini): Remamed to... | |
| (_M2_m2flex_finish): ...here. | |
| * mc-boot-ch/GBuiltins.c (_M2_Builtins_finish): Remamed to... | |
| (_M2_Builtins_fini): ...this. | |
| * mc-boot-ch/GRTco.c (_M2_RTco_finish): Remamed to... | |
| (_M2_RTco_fini): ...this. | |
| * mc-boot-ch/GSYSTEM.c (_M2_SYSTEM_finish): Remamed to... | |
| (_M2_SYSTEM_fini): ...this. | |
| * mc-boot-ch/GSelective.c (_M2_Selective_finish): Remamed to... | |
| (_M2_Selective_fini): ...this. | |
| * mc-boot-ch/GSysExceptions.c (_M2_SysExceptions_init): Add | |
| parameters. | |
| (_M2_SysExceptions_finish): Remamed to... | |
| (_M2_SysExceptions_fini): ...this. | |
| * mc-boot-ch/GUnixArgs.cc (_M2_UnixArgs_finish): Remamed to... | |
| (_M2_UnixArgs_fini): ...this. | |
| (_M2_UnixArgs_ctor::_M2_UnixArgs_ctor): Change parameter | |
| to _M2_UnixArgs_fini. | |
| * mc-boot-ch/Gdtoa.c (_M2_dtoa_finish): Remamed to... | |
| (_M2_dtoa_fini): ...this. | |
| * mc-boot-ch/Gerrno.c (_M2_errno_finish): Remamed to... | |
| (_M2_errno_fini): ...this. | |
| * mc-boot-ch/Gldtoa.c (_M2_ldtoa_finish): Remamed to... | |
| (_M2_ldtoa_fini): ...this. | |
| * mc-boot-ch/Gtermios.cc (_M2_termios_init): Add parameters. | |
| (_M2_termios_finish): Remamed to... | |
| (_M2_termios_fini): ...this. | |
| * mc-boot-ch/Gwrapc.c (_M2_wrapc_init): Add parameters. | |
| (_M2_wrapc_finish): Remamed to... | |
| (_M2_wrapc_fini): ...this. | |
| * mc-boot/GASCII.c: Rebuild. | |
| * mc-boot/GArgs.c: Rebuild. | |
| * mc-boot/GAssertion.c: Rebuild. | |
| * mc-boot/GBreak.c: Rebuild. | |
| * mc-boot/GCmdArgs.c: Rebuild. | |
| * mc-boot/GDebug.c: Rebuild. | |
| * mc-boot/GDynamicStrings.c: Rebuild. | |
| * mc-boot/GEnvironment.c: Rebuild. | |
| * mc-boot/GFIO.c: Rebuild. | |
| * mc-boot/GFormatStrings.c: Rebuild. | |
| * mc-boot/GFpuIO.c: Rebuild. | |
| * mc-boot/GIO.c: Rebuild. | |
| * mc-boot/GIndexing.c: Rebuild. | |
| * mc-boot/GM2Dependent.c: Rebuild. | |
| * mc-boot/GM2EXCEPTION.c: Rebuild. | |
| * mc-boot/GM2RTS.c: Rebuild. | |
| * mc-boot/GM2RTS.h: Rebuild. | |
| * mc-boot/GMemUtils.c: Rebuild. | |
| * mc-boot/GNumberIO.c: Rebuild. | |
| * mc-boot/GPushBackInput.c: Rebuild. | |
| * mc-boot/GRTExceptions.c: Rebuild. | |
| * mc-boot/GRTExceptions.h: Rebuild. | |
| * mc-boot/GRTco.h: Rebuild. | |
| * mc-boot/GRTint.c: Rebuild. | |
| * mc-boot/GSArgs.c: Rebuild. | |
| * mc-boot/GSFIO.c: Rebuild. | |
| * mc-boot/GStdIO.c: Rebuild. | |
| * mc-boot/GStorage.c: Rebuild. | |
| * mc-boot/GStrCase.c: Rebuild. | |
| * mc-boot/GStrIO.c: Rebuild. | |
| * mc-boot/GStrLib.c: Rebuild. | |
| * mc-boot/GStringConvert.c: Rebuild. | |
| * mc-boot/GSysStorage.c: Rebuild. | |
| * mc-boot/GTimeString.c: Rebuild. | |
| * mc-boot/Galists.c: Rebuild. | |
| * mc-boot/Gdecl.c: Rebuild. | |
| * mc-boot/Gkeyc.c: Rebuild. | |
| * mc-boot/Glists.c: Rebuild. | |
| * mc-boot/GmcComment.c: Rebuild. | |
| * mc-boot/GmcComp.c: Rebuild. | |
| * mc-boot/GmcDebug.c: Rebuild. | |
| * mc-boot/GmcError.c: Rebuild. | |
| * mc-boot/GmcFileName.c: Rebuild. | |
| * mc-boot/GmcLexBuf.c: Rebuild. | |
| * mc-boot/GmcMetaError.c: Rebuild. | |
| * mc-boot/GmcOptions.c: Rebuild. | |
| * mc-boot/GmcPreprocess.c: Rebuild. | |
| * mc-boot/GmcPretty.c: Rebuild. | |
| * mc-boot/GmcPrintf.c: Rebuild. | |
| * mc-boot/GmcQuiet.c: Rebuild. | |
| * mc-boot/GmcReserved.c: Rebuild. | |
| * mc-boot/GmcSearch.c: Rebuild. | |
| * mc-boot/GmcStack.c: Rebuild. | |
| * mc-boot/GmcStream.c: Rebuild. | |
| * mc-boot/Gmcp1.c: Rebuild. | |
| * mc-boot/Gmcp2.c: Rebuild. | |
| * mc-boot/Gmcp3.c: Rebuild. | |
| * mc-boot/Gmcp4.c: Rebuild. | |
| * mc-boot/Gmcp5.c: Rebuild. | |
| * mc-boot/GnameKey.c: Rebuild. | |
| * mc-boot/GsymbolKey.c: Rebuild. | |
| * mc-boot/Gtop.c: Rebuild. | |
| * mc-boot/Gvarargs.c: Rebuild. | |
| * mc-boot/Gwlists.c: Rebuild. | |
| * mc-boot/GRTentity.h: New file. | |
| * mc/decl.mod (scaffoldStatic): Change _finish to _fini. | |
| * mc/mc.flex (_M2_mcflex_fini): New function. | |
| (_M2_mcflex_finish): Remove function. | |
| * tools-src/mklink.c (GenerateFinishCalls): Change | |
| _finish to _fini. | |
| (GeneratePrototypes): Change _finish to _fini. | |
| 2023-01-31 Gaius Mulley <gaiusmod2@gmail.com> | |
| * Make-lang.in (gm2-libs.texi-check): Rename | |
| m2/gm2-libs-pim to m2/gm2-libs-log. | |
| * gm2-libs-pim/BitBlockOps.def: Moved to... | |
| * gm2-libs-log/BitBlockOps.def: ...here. | |
| * gm2-libs-pim/BitBlockOps.mod: Moved to... | |
| * gm2-libs-log/BitBlockOps.mod: ...here. | |
| * gm2-libs-pim/BitByteOps.def: Moved to... | |
| * gm2-libs-log/BitByteOps.def: ...here. | |
| * gm2-libs-pim/BitByteOps.mod: Moved to... | |
| * gm2-libs-log/BitByteOps.mod: ...here. | |
| * gm2-libs-pim/BitWordOps.def: Moved to... | |
| * gm2-libs-log/BitWordOps.def: ...here. | |
| * gm2-libs-pim/BitWordOps.mod: Moved to... | |
| * gm2-libs-log/BitWordOps.mod: ...here. | |
| * gm2-libs-pim/BlockOps.def: Moved to... | |
| * gm2-libs-log/BlockOps.def: ...here. | |
| * gm2-libs-pim/BlockOps.mod: Moved to... | |
| * gm2-libs-log/BlockOps.mod: ...here. | |
| * gm2-libs-pim/Break.c: Moved to... | |
| * gm2-libs-log/Break.c: ...here. | |
| * gm2-libs-pim/Break.def: Moved to... | |
| * gm2-libs-log/Break.def: ...here. | |
| * gm2-libs-pim/CardinalIO.def: Moved to... | |
| * gm2-libs-log/CardinalIO.def: ...here. | |
| * gm2-libs-pim/CardinalIO.mod: Moved to... | |
| * gm2-libs-log/CardinalIO.mod: ...here. | |
| * gm2-libs-pim/Conversions.def: Moved to... | |
| * gm2-libs-log/Conversions.def: ...here. | |
| * gm2-libs-pim/Conversions.mod: Moved to... | |
| * gm2-libs-log/Conversions.mod: ...here. | |
| * gm2-libs-pim/DebugPMD.def: Moved to... | |
| * gm2-libs-log/DebugPMD.def: ...here. | |
| * gm2-libs-pim/DebugPMD.mod: Moved to... | |
| * gm2-libs-log/DebugPMD.mod: ...here. | |
| * gm2-libs-pim/DebugTrace.def: Moved to... | |
| * gm2-libs-log/DebugTrace.def: ...here. | |
| * gm2-libs-pim/DebugTrace.mod: Moved to... | |
| * gm2-libs-log/DebugTrace.mod: ...here. | |
| * gm2-libs-pim/Delay.def: Moved to... | |
| * gm2-libs-log/Delay.def: ...here. | |
| * gm2-libs-pim/Delay.mod: Moved to... | |
| * gm2-libs-log/Delay.mod: ...here. | |
| * gm2-libs-pim/Display.def: Moved to... | |
| * gm2-libs-log/Display.def: ...here. | |
| * gm2-libs-pim/Display.mod: Moved to... | |
| * gm2-libs-log/Display.mod: ...here. | |
| * gm2-libs-pim/ErrorCode.def: Moved to... | |
| * gm2-libs-log/ErrorCode.def: ...here. | |
| * gm2-libs-pim/ErrorCode.mod: Moved to... | |
| * gm2-libs-log/ErrorCode.mod: ...here. | |
| * gm2-libs-pim/FileSystem.def: Moved to... | |
| * gm2-libs-log/FileSystem.def: ...here. | |
| * gm2-libs-pim/FileSystem.mod: Moved to... | |
| * gm2-libs-log/FileSystem.mod: ...here. | |
| * gm2-libs-pim/FloatingUtilities.def: Moved to... | |
| * gm2-libs-log/FloatingUtilities.def: ...here. | |
| * gm2-libs-pim/FloatingUtilities.mod: Moved to... | |
| * gm2-libs-log/FloatingUtilities.mod: ...here. | |
| * gm2-libs-pim/InOut.def: Moved to... | |
| * gm2-libs-log/InOut.def: ...here. | |
| * gm2-libs-pim/InOut.mod: Moved to... | |
| * gm2-libs-log/InOut.mod: ...here. | |
| * gm2-libs-pim/Keyboard.def: Moved to... | |
| * gm2-libs-log/Keyboard.def: ...here. | |
| * gm2-libs-pim/Keyboard.mod: Moved to... | |
| * gm2-libs-log/Keyboard.mod: ...here. | |
| * gm2-libs-pim/LongIO.def: Moved to... | |
| * gm2-libs-log/LongIO.def: ...here. | |
| * gm2-libs-pim/LongIO.mod: Moved to... | |
| * gm2-libs-log/LongIO.mod: ...here. | |
| * gm2-libs-pim/NumberConversion.def: Moved to... | |
| * gm2-libs-log/NumberConversion.def: ...here. | |
| * gm2-libs-pim/NumberConversion.mod: Moved to... | |
| * gm2-libs-log/NumberConversion.mod: ...here. | |
| * gm2-libs-pim/README.texi: Moved to... | |
| * gm2-libs-log/README.texi: ...here. | |
| * gm2-libs-pim/Random.def: Moved to... | |
| * gm2-libs-log/Random.def: ...here. | |
| * gm2-libs-pim/Random.mod: Moved to... | |
| * gm2-libs-log/Random.mod: ...here. | |
| * gm2-libs-pim/RealConversions.def: Moved to... | |
| * gm2-libs-log/RealConversions.def: ...here. | |
| * gm2-libs-pim/RealConversions.mod: Moved to... | |
| * gm2-libs-log/RealConversions.mod: ...here. | |
| * gm2-libs-pim/RealInOut.def: Moved to... | |
| * gm2-libs-log/RealInOut.def: ...here. | |
| * gm2-libs-pim/RealInOut.mod: Moved to... | |
| * gm2-libs-log/RealInOut.mod: ...here. | |
| * gm2-libs-pim/Strings.def: Moved to... | |
| * gm2-libs-log/Strings.def: ...here. | |
| * gm2-libs-pim/Strings.mod: Moved to... | |
| * gm2-libs-log/Strings.mod: ...here. | |
| * gm2-libs-pim/Termbase.def: Moved to... | |
| * gm2-libs-log/Termbase.def: ...here. | |
| * gm2-libs-pim/Termbase.mod: Moved to... | |
| * gm2-libs-log/Termbase.mod: ...here. | |
| * gm2-libs-pim/Terminal.def: Moved to... | |
| * gm2-libs-log/Terminal.def: ...here. | |
| * gm2-libs-pim/Terminal.mod: Moved to... | |
| * gm2-libs-log/Terminal.mod: ...here. | |
| * gm2-libs-pim/TimeDate.def: Moved to... | |
| * gm2-libs-log/TimeDate.def: ...here. | |
| * gm2-libs-pim/TimeDate.mod: Moved to... | |
| * gm2-libs-log/TimeDate.mod: ...here. | |
| 2023-01-28 Iain Sandoe <iain@sandoe.co.uk> | |
| * lang.opt: Claim Wreturn-type. | |
| 2023-01-27 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-compiler/M2Comp.mod: Import MetaString0. | |
| (ExamineCompilationUnit): New variable Message. | |
| Create and format error string. | |
| * gm2-compiler/M2LexBuf.mod: New variable SeenEof. | |
| (GetNonEofToken): New procedure. | |
| (Init): Set SeenEof to FALSE. | |
| (GetToken): Use GetNonEofToken instead of calls to | |
| m2flex.GetToken and GetToken. | |
| (AddTok): Detect eoftok and set SeenEof. | |
| 2023-01-27 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-compiler/M2Options.def: Export GetMQ, SetMQ. | |
| * gm2-compiler/M2Preprocess.mod: (MakeSaveTempsFileName): | |
| Test NewDir against NIL. Test Dumpdir against NIL. | |
| Test GetMD () against NIL. Test GetMMD () against NIL. | |
| Test GetMQ () against NIL. Test GetObj () against NIL. | |
| Test tempfile against NIL. | |
| * gm2-compiler/P2SymBuild.def: Export | |
| BuildNoReturnAttribute. | |
| 2023-01-27 Iain Sandoe <iain@sandoe.co.uk> | |
| PR modula2/108555 | |
| PR modula2/108182 | |
| PR modula2/102343 | |
| * gm2-lang.cc (gm2_langhook_option_lang_mask): Do not claim CL_C | |
| or CL_DRIVER. | |
| (gm2_langhook_init_options): Handle options that we want to pass | |
| to the preprocessor. | |
| * lang-specs.h: Pass -B and -save-temps to regular compile lines. | |
| * lang.opt: Add C and Driver options that Modula-2 intercepts for | |
| internal use. Reorder options into two sections and to collate. | |
| 2023-01-26 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-compiler/M2GCCDeclare.mod: Import IsProcedureNoReturn. | |
| (DeclareProcedureToGccWholeProgram): New variable declared and set | |
| returnType. Pass returnType to BuildEndFunctionDeclaration. | |
| Extra parameter IsProcedureNoReturn passed to | |
| BuildEndFunctionDeclaration. | |
| * gm2-compiler/M2Quads.mod (BuildM2MainFunction): Correct | |
| scaffold comment and add extra return 0. | |
| * gm2-compiler/P2Build.bnf: Import BuildNoReturnAttribute. | |
| (ProcedureHeading): Process EndBuildFormalParameters before | |
| parsing AttributeNoReturn. | |
| (DefProcedureHeading): Process EndBuildFormalParameters before | |
| parsing AttributeNoReturn. | |
| (AttributeNoReturn): Call BuildNoReturnAttribute. | |
| * gm2-compiler/P2SymBuild.def (BuildNoReturnAttribute): New | |
| procedure. | |
| * gm2-compiler/P2SymBuild.mod (BuildNoReturnAttribute): New | |
| procedure. | |
| * gm2-compiler/SymbolTable.def (PutProcedureInline): Corrected | |
| comment. | |
| (PutProcedureNoReturn): New procedure. | |
| (IsProcedureNoReturn): New procedure function. | |
| * gm2-compiler/SymbolTable.mod (SymProcedure): IsNoReturn | |
| new field. | |
| (MakeProcedure): Initialize IsNoReturn to FALSE. | |
| (PutProcedureNoReturn): New procedure. | |
| (IsProcedureNoReturn): New procedure function. | |
| * gm2-gcc/m2decl.cc (m2decl_BuildEndFunctionDeclaration): | |
| Add extra parameter isnoreturn. Set TREE_THIS_VOLATILE | |
| to isnoreturn. | |
| * gm2-gcc/m2decl.def (BuildEndFunctionDeclaration): Add | |
| extra parameter isnoreturn. | |
| * gm2-gcc/m2decl.h (m2decl_BuildEndFunctionDeclaration): Add | |
| extra parameter isnoreturn. | |
| * gm2-gcc/m2except.cc (m2except_InitExceptions): Change all | |
| function decl to pass an extra parameter isnoreturn. | |
| 2023-01-26 Gaius Mulley <gaiusmod2@gmail.com> | |
| * m2.flex (splitSlashStar): Fix comment so that /* does not | |
| appear inside the comment. | |
| 2023-01-26 Iain Sandoe <iain@sandoe.co.uk> | |
| PR modula2/108553 | |
| * gm2-lang.cc (gm2_langhook_init_options): Remove debug code. | |
| 2023-01-26 Gaius Mulley <gaiusmod2@gmail.com> | |
| * Make-lang.in (m2/gm2config.h): Rewrite rule to be | |
| dependent upon m2/gm2config.aci. | |
| (m2/gm2config.aci): Newrule. | |
| * configure.ac (AC_CONFIG_HEADERS): Change destination | |
| to gm2config.aci. | |
| * configure: Regenerate. | |
| * gm2-libs/config-host: Regenerate. | |
| * gm2-compiler/M2GCCDeclare.mod (AddSymToWatch): Comment | |
| out. | |
| * gm2-compiler/M2Quads.mod (BuildConstHighFromSym): Remove | |
| Dim. | |
| (StartBuildWith): Call BuildStmtNoteTok. | |
| (BuildStmtNoteTok): New procedure. | |
| (BuildStmtNote): Re-implement re-factor into two | |
| procedures and call BuildStmtNoteTok. | |
| * gm2config.h.in: Remove. | |
| * gm2config.aci.in: New file. | |
| 2023-01-25 Iain Sandoe <iain@sandoe.co.uk> | |
| PR modula2/102343 | |
| PR modula2/108182 | |
| * gm2-compiler/M2Comp.mod: Early exit for pre-processor-only jobs. | |
| * gm2-compiler/M2Options.def (SetPPOnly, GetPPOnly, SetMD, GetMD, | |
| SetMMD, GetMMD, SetMQ, GetMQ, SetObj, GetObj, SetDumpDir, | |
| GetDumpDir):New. | |
| * gm2-compiler/M2Options.mod:(SetPPOnly, GetPPOnly, SetMD, GetMD, | |
| SetMMD, GetMMD, SetMQ, GetMQ, SetObj, GetObj, SetDumpDir, | |
| GetDumpDir):New. | |
| * gm2-compiler/M2Preprocess.def (PreprocessModule): Add flag to | |
| indicate the main file. | |
| * gm2-compiler/M2Preprocess.mod: Handle Preprocess-only jobs, | |
| handle MD, MMD and MQ options. | |
| * gm2-gcc/m2options.h (M2Options_SetPPOnly, M2Options_GetPPOnly, | |
| M2Options_SetDumpDir, M2Options_SetMD, M2Options_GetMD, | |
| M2Options_SetMMD, M2Options_GetMMD, M2Options_SetMQ, M2Options_GetMQ, | |
| M2Options_SetObj, M2Options_GetObj): New. | |
| * gm2-gcc/m2type.cc (m2type_InitBaseTypes): Early exit for pre- | |
| processor-only jobs. | |
| * gm2-lang.cc (gm2_langhook_init): Handle preprocess-only commands. | |
| (gm2_langhook_option_lang_mask): Claim C and Driver options so that | |
| we can intercept them for building pre-processor commands. | |
| (gm2_langhook_init_options): Collect the preprocessor line here. | |
| Save options that have different actions for preprocessor and compile | |
| commands. | |
| (gm2_langhook_handle_option): Only handle the modula-2 options here. | |
| (gm2_langhook_post_options): Do not create a back-end for pre- | |
| processor-only jobs. | |
| * gm2spec.cc (lang_specific_driver): Ignore PCH options, append a | |
| scaffold-main for cases where we are building a main module with | |
| -c. | |
| * lang-specs.h: Revise to handle preprocessor-only jobs and to | |
| consume pre-processed files. | |
| * lang.opt: Remove Driver and C options copies (we claim these | |
| separately). | |
| 2023-01-24 Co-Authored by: Iain Sandoe <iain@sandoe.co.uk> | |
| * Make-lang.in (GM2-COMP-BOOT-DEFS): Add | |
| DynamicStringPath.def. | |
| (GM2-COMP-BOOT-MODS): Add DynamicStringPath.mod. | |
| (GM2-COMP-DEFS): Add DynamicStringPath.def. | |
| (GM2-COMP-MODS): Add DynamicStringPath.mod. | |
| ($(objdir)/m2/gm2-libs-min/SYSTEM.def): Split path into | |
| multiple -I components. | |
| ($(objdir)/m2/gm2-libs/SYSTEM.def): Ditto. | |
| ($(objdir)/m2/gm2-libs-coroutines/SYSTEM.def): Ditto. | |
| * gm2-compiler/M2Options.mod: Import DynamicStringPath. | |
| (SetSearchPath): Reimplement using DynamicStringPath | |
| procedures. | |
| * gm2-compiler/M2Search.def (InitSearchPath): Remove. | |
| (PrependSearchPath): Remove. | |
| * gm2-compiler/M2Search.mod (SFIO): Remove import. | |
| (DynamicStringPath): Add import. | |
| (Directory): Remove. | |
| (UserPath): Remove. | |
| (InitialPath): Remove. | |
| (InitSearchPath): Remove. | |
| (PrependSearchPath): Remove. | |
| (FindSourceFile): Re-implement. | |
| (FindSourceDefFile): Re-implement. | |
| (FindSourceModFile): Re-implement. | |
| * gm2-gcc/init.cc (_M2_DynamicStringPath_init): | |
| New prototype. | |
| (init_FrontEndInit): Call _M2_DynamicStringPath_init. | |
| * tools-src/makeSystem: Allow multiple -I paths. | |
| * gm2-compiler/DynamicStringPath.def: New file. | |
| * gm2-compiler/DynamicStringPath.mod: New file. | |
| * gm2-gcc/m2options.h (M2Options_SetMakeIncludePath): Add | |
| prototype. | |
| 2023-01-24 Gaius Mulley <gaiusmod2@gmail.com> | |
| * m2.flex (cpreprocessor): Add temporary variable | |
| which is initialized to 0. | |
| (commentCLevel): New variable. | |
| (endOfCComment): New function. | |
| (splitSlashStar): New function to split /* into / and * | |
| tokens. | |
| (COMMENTC): New flex state. | |
| ("/*"): New rule to test whether we should treat /* | |
| as a single token or as two tokens. | |
| (<COMMENTC>.): New rule to skip a character. | |
| (<COMMENTC>\n.*): New rule to consume the line. | |
| (<COMMENTC>"*/"): New rule to call endOfCComment. | |
| 2023-01-24 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-libs-iso/RTco.def: Import RTentity. | |
| Declare RTco as a definition for C module. | |
| 2023-01-23 Iain Sandoe <iain@sandoe.co.uk> | |
| PR modula2/108182 | |
| PR modula2/108480 | |
| * Make-lang.in: Pass libsubdir to the language init | |
| build. | |
| * gm2-lang.cc (INCLUDE_VECTOR): Define. | |
| (add_one_import_path): New. | |
| (add_m2_import_paths): New. | |
| (gm2_langhook_post_options): Arrange to add the include | |
| paths (and add the system ones) in the same order as C | |
| uses. | |
| * gm2spec.cc (build_archive_path): Remove. | |
| (add_default_combination): Remove. | |
| (add_default_archives): Remove. | |
| (add_default_libs): We no longer need a '-L' option, just | |
| emit the -l and each library in use. | |
| (build_include_path): Remove. | |
| (add_include): Remove. | |
| (add_default_includes): Remove. | |
| (library_installed): Remove. | |
| (check_valid_library): Remove. | |
| (check_valid_list): Remove. | |
| (convert_abbreviation): Diagnose unhandled cases. | |
| (lang_specific_driver): Skip options where we will add back | |
| a validated version. | |
| * lang-specs.h (M2CPP): Reformat, append %I when -fcpp is not | |
| in use. Revise the cc1gm2 spec to omit mentioning options that | |
| are handled in the c pre-processor line. | |
| * lang.opt: Allow preprocessing and path options as input to the | |
| cc1gm2 invocation, so that they can be passed to the preprocessor | |
| invocation. | |
| 2023-01-23 Iain Sandoe <iain@sandoe.co.uk> | |
| PR modula2/108405 | |
| * gm2-libs-iso/Preemptive.mod (initPreemptive): Use a value for | |
| extra space that is divisible by common OS pagesizes. | |
| 2023-01-20 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-libs/Args.mod (GetArg): Check index before | |
| accessing array. | |
| * gm2-libs/M2Dependent.mod (toCString): Check index | |
| before accessing array. | |
| * mc-boot/GArgs.c: Rebuilt. | |
| * mc-boot/GM2Dependent.c: Rebuilt. | |
| * mc-boot/Gkeyc.c: Rebuilt. | |
| * mc/keyc.mod (seenUIntMin): Initialize once. | |
| (seenUIntMax): Initialize once. | |
| (checkLimits): Only test seenUIntMin and seenUIntMax | |
| once. | |
| * pge-boot/GArgs.c: Rebuilt. | |
| * pge-boot/GM2Dependent.c: Rebuilt. | |
| 2023-01-20 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-gcc/m2statement.cc (gm2_gimplify_function_node): | |
| Remove. | |
| * gm2-libs/DynamicStrings.mod (Equal): Remove dead code. | |
| * m2.flex (<COMMENT>"<*"): Add {} for else statement. | |
| * m2pp.cc (hextree): Add conditional #ifdef DEBUGGING. | |
| * mc-boot/GDynamicStrings.c: Rebuild. | |
| * pge-boot/GDynamicStrings.c: Rebuild. | |
| * pge-boot/GFIO.c: Rebuild. | |
| * pge-boot/GIndexing.c: Rebuild. | |
| * pge-boot/GM2EXCEPTION.c: Rebuild. | |
| * pge-boot/GM2RTS.c: Rebuild. | |
| * pge-boot/GNameKey.c: Rebuild. | |
| * pge-boot/GPushBackInput.c: Rebuild. | |
| * pge-boot/GRTExceptions.c: Rebuild. | |
| * pge-boot/GStdIO.c: Rebuild. | |
| * pge-boot/GSymbolKey.c: Rebuild. | |
| * pge-boot/GSysStorage.c: Rebuild. | |
| 2023-01-17 Gaius Mulley <gaiusmod2@gmail.com> | |
| * mc-boot/GM2RTS.c: Rebuilt. | |
| * mc-boot/GM2RTS.h: Rebuilt. | |
| * mc-boot/Gdecl.c: Rebuilt. | |
| * mc-boot/GmcOptions.c: Rebuilt. | |
| * mc/mcOptions.mod (displayVersion): | |
| Split first printf into three components | |
| 2023-01-17 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-libs-iso/M2RTS.def (Halt): Parameter file renamed to filename. | |
| (HaltC): New procedure declaration. | |
| (ErrorMessage): Parameter file renamed to filename. | |
| * gm2-libs-iso/M2RTS.mod (Halt): Parameter file renamed to | |
| filename. | |
| (HaltC): New procedure implementation. | |
| (ErrorStringC): New procedure implementation. | |
| (ErrorMessageC): New procedure implementation. | |
| * gm2-libs/M2RTS.def (Halt): Parameter file renamed to filename. | |
| (HaltC): New procedure declaration. | |
| (ErrorMessage): Parameter file renamed to filename. | |
| * gm2-libs/M2RTS.mod (Halt): Parameter file renamed to filename. | |
| (HaltC): New procedure implementation. | |
| (ErrorStringC): New procedure implementation. | |
| (ErrorMessageC): New procedure implementation. | |
| 2023-01-16 Gaius Mulley <gaiusmod2@gmail.com> | |
| * mc-boot-ch/Glibc.c (libc_time): New function. | |
| (libc_localtime): New function. | |
| * mc-boot/GDynamicStrings.c: Regenerate. | |
| * mc-boot/GFIO.c: Regenerate. | |
| * mc-boot/GFormatStrings.c: Regenerate. | |
| * mc-boot/GIndexing.c: Regenerate. | |
| * mc-boot/GM2Dependent.c: Regenerate. | |
| * mc-boot/GM2EXCEPTION.c: Regenerate. | |
| * mc-boot/GPushBackInput.c: Regenerate. | |
| * mc-boot/GRTExceptions.c: Regenerate. | |
| * mc-boot/GRTint.c: Regenerate. | |
| * mc-boot/GStdIO.c: Regenerate. | |
| * mc-boot/GStringConvert.c: Regenerate. | |
| * mc-boot/GSysStorage.c: Regenerate. | |
| * mc-boot/Gdecl.c: Regenerate. | |
| * mc-boot/GmcComment.c: Regenerate. | |
| * mc-boot/GmcComp.c: Regenerate. | |
| * mc-boot/GmcDebug.c: Regenerate. | |
| * mc-boot/GmcMetaError.c: Regenerate. | |
| * mc-boot/GmcOptions.c: Regenerate. | |
| * mc-boot/GmcStack.c: Regenerate. | |
| * mc-boot/GnameKey.c: Regenerate. | |
| * mc-boot/GsymbolKey.c: Regenerate. | |
| * mc-boot/Gkeyc.c: Regenerate. | |
| * mc/decl.mod (putFieldRecord): Change NulName to NulKey | |
| and fix type comparision. | |
| * mc/mcOptions.mod (YEAR): Remove. | |
| (getYear): New procedure function. | |
| (displayVersion): Use result from getYear instead of YEAR. | |
| Emit boilerplate for GPL v3. | |
| (gplBody): Use result from getYear instead of YEAR. | |
| (glplBody): Use result from getYear instead of YEAR. | |
| 2023-01-16 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-compiler/M2Quads.mod (AssignUnboundedVar): Check Type | |
| against NulSym and call MetaErrorT1 if necessary. | |
| (AssignUnboundedNonVar): Check Type against NulSym and | |
| call MetaErrorT1 if necessary. | |
| (BuildDesignatorPointer): Check Type1 against NulSym and | |
| call MetaErrorT1 if necessary. | |
| 2023-01-16 Gaius Mulley <gaiusmod2@gmail.com> | |
| * mc/mcOptions.mod (displayVersion): Change GPLv2 to GPLv3. | |
| (YEAR) set to 2023. | |
| 2023-01-15 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-compiler/M2LexBuf.mod (isSrcToken): Add block comment. | |
| Remove dead code. | |
| * gm2-compiler/M2Quads.def (BuildNot): Add notTokPos parameter. | |
| * gm2-compiler/M2Quads.mod (BuildNot): Add notTokPos parameter. | |
| Create and push virtual token. | |
| (PopBooltok): New procedure. | |
| (PushBooltok): New procedure. | |
| (PushBool): Re-implement using PushBooltok. | |
| (PopBool): Re-implement using PopBooltok. | |
| * gm2-compiler/P3Build.bnf (ConstFactor): Record token | |
| position of NOT. | |
| (Factor): Record token position of NOT. | |
| * gm2-compiler/PHBuild.bnf (ConstFactor): Record token | |
| position of NOT. | |
| (Relation): Push token position. | |
| (UnaryOrConstTerm): Push token position. | |
| (AddOperator): Push token position. | |
| (MulOperator): Push token position. | |
| 2023-01-13 Iain Sandoe <iain@sandoe.co.uk> | |
| * gm2-gcc/m2options.h (M2Options_SetVerbose): Export the | |
| function. | |
| * gm2-lang.cc: Handle OPT_v, passing it to the compiler. | |
| * lang-specs.h: Pass -v to cc1gm2. | |
| 2023-01-13 Gaius Mulley <gaiusmod2@gmail.com> | |
| * mc-boot-ch/GRTco.c (RTco_select): Add return 0. | |
| * pge-boot/GRTco.c (RTco_select): Add return 0. | |
| 2023-01-10 Gaius Mulley <gaiusmod2@gmail.com> | |
| * Make-lang.in (m2/mc-boot/$(SRC_PREFIX)%.o): Add | |
| m2/gm2-libs/gm2-libs-host.h dependency. | |
| (m2/mc-boot-ch/$(SRC_PREFIX)%.o): Add | |
| m2/gm2-libs/gm2-libs-host.h dependency. | |
| 2023-01-10 Gaius Mulley <gaiusmod2@gmail.com> | |
| * Make-lang.in (GM2_1): Change -B path to m2/stage1. | |
| ($(objdir)/m2/images/gnu.eps): Check and create dest dir | |
| if necessary. | |
| (gm2-libs.texi-check): Check and create dir m2/gm2-libs-pim, | |
| m2/gm2-libs-iso and m2/gm2-libs if necessary. | |
| ($(objdir)/m2/gm2-compiler-boot): Remove. | |
| ($(objdir)/m2/gm2-libs-boot): Remove. | |
| ($(objdir)/m2/gm2-libs-libiberty): Remove. | |
| ($(objdir)/m2/gm2-libiberty): Remove. | |
| ($(objdir)/m2/gm2-gcc): Remove. | |
| ($(objdir)/m2/gm2-compiler): Remove. | |
| ($(objdir)/m2/gm2-libs): Remove. | |
| ($(objdir)/m2/gm2-libs-iso): Remove. | |
| ($(objdir)/m2/gm2-libs-min): Remove. | |
| ($(objdir)/m2/gm2-compiler-paranoid): Remove. | |
| ($(objdir)/m2/gm2-libs-paranoid): Remove. | |
| ($(objdir)/m2/gm2-compiler-verify): Remove. | |
| ($(objdir)/m2/boot-bin): Remove. | |
| ($(objdir)/m2/gm2-libs-pim): Remove. | |
| ($(objdir)/m2/gm2-libs-coroutines): Remove. | |
| (stage1/m2): Remove. | |
| (stage2/m2): Remove. | |
| (stage3/m2): Remove. | |
| (m2.stageprofile): New rule. | |
| (m2.stagefeedback): New rule. | |
| (cc1gm2$(exeext)): Change dependent name. | |
| (m2/stage2/cc1gm2$(exeext)): Change dependent name. | |
| Check and create dest dir. | |
| (m2/stage1/cc1gm2$(exeext)): Check and create dest dir | |
| if necessary. | |
| (m2/gm2-gcc/%.o): Ditto. | |
| (m2/gm2-gcc/rtegraph.o): Ditto. | |
| (m2/gm2-gcc/$(SRC_PREFIX)%.h): Ditto. | |
| (m2/gm2-gcc/$(SRC_PREFIX)%.h): Ditto. | |
| (m2/mc-boot): Ditto. | |
| (m2/mc-boot-ch): Ditto. | |
| (m2/gm2-libs-boot): Ditto. | |
| (m2/gm2-compiler-boot): Ditto. | |
| (m2/gm2-compiler): Ditto. | |
| (m2/gm2-libiberty): Ditto. | |
| (m2/gm2-compiler): Ditto. | |
| (m2/gm2-libs-iso): Ditto. | |
| (m2/gm2-libs): Ditto. | |
| (m2/gm2-libs-min): Ditto. | |
| (m2/gm2-libs-coroutines): Ditto. | |
| (m2/boot-bin): Ditto. | |
| (m2/pge-boot): Ditto. | |
| (m2/pge-boot): Ditto. | |
| * Make-maintainer.in (m2/gm2-ppg-boot): Check and create | |
| dest dir if necessary. | |
| (m2): Ditto. | |
| (m2/gm2-ppg-boot): Ditto. | |
| (m2/gm2-pg-boot): Ditto. | |
| (m2/gm2-auto): Ditto. | |
| (m2/gm2-pg-boot): Ditto. | |
| (m2/gm2-pge-boot): Ditto. | |
| ($(objdir)/plugin): Ditto. | |
| ($(objdir)/m2/mc-boot-ch): Ditto. | |
| ($(objdir)/m2/mc-boot-gen): Ditto. | |
| (m2/boot-bin): Ditto. | |
| (m2/mc): Ditto. | |
| (m2/mc-obj): Ditto. | |
| ($(objdir)/m2/gm2-ppg-boot): Ditto. | |
| ($(objdir)/m2/gm2-pg-boot): Ditto. | |
| ($(objdir)/m2/gm2-pge-boot): Ditto. | |
| (m2/mc-boot-gen): Ditto. | |
| (m2/m2obj3): Ditto. | |
| (m2/gm2-libs-paranoid): Ditto. | |
| (m2/gm2-compiler-paranoid): Ditto. | |
| (m2/gm2-libs-paranoid): Ditto. | |
| (m2/gm2-compiler-paranoid): Ditto. | |
| (m2/gm2-libs-paranoid): Ditto. | |
| (m2/gm2-compiler-paranoid): Ditto. | |
| * config-lang.in (m2/gm2-compiler-boot): Remove mkdir. | |
| (m2/gm2-libs-boot): Ditto. | |
| (m2/gm2-ici-boot): Ditto. | |
| (m2/gm2-libiberty): Ditto. | |
| (m2/gm2-gcc): Ditto. | |
| (m2/gm2-compiler): Ditto. | |
| (m2/gm2-libs): Ditto. | |
| (m2/gm2-libs-iso): Ditto. | |
| (m2/gm2-compiler-paranoid): Ditto. | |
| (m2/gm2-libs-paranoid): Ditto. | |
| (m2/gm2-compiler-verify): Ditto. | |
| (m2/boot-bin): Ditto. | |
| (m2/gm2-libs-pim): Ditto. | |
| (m2/gm2-libs-coroutines): Ditto. | |
| (m2/gm2-libs-min): Ditto. | |
| (m2/pge-boot): Ditto. | |
| (plugin): Ditto. | |
| (stage1/m2): Ditto. | |
| (stage2/m2): Ditto. | |
| (stage3/m2): Ditto. | |
| (stage4/m2): Ditto. | |
| (m2/gm2-auto): Ditto. | |
| (m2/gm2-pg-boot): Ditto. | |
| (m2/gm2-pge-boot): Ditto. | |
| (m2/gm2-ppg-boot): Ditto. | |
| (m2/mc-boot): Ditto. | |
| (m2/mc-boot-ch): Ditto. | |
| (m2/mc-boot-gen): Ditto. | |
| 2023-01-09 Gaius Mulley <gaiusmod2@gmail.com> | |
| * Make-lang.in (m2/pge-boot/%.o): Add m2/gm2config.h. | |
| * gm2-libs/config-host: Regenerate. | |
| 2023-01-07 Iain Sandoe <iain@sandoe.co.uk> | |
| * gm2-libs-min/libc.c (abort): Update declaration to match the | |
| expected form, add no-return attribute. | |
| (exit): Add no-return attribute. | |
| 2023-01-05 Iain Sandoe <iain@sandoe.co.uk> | |
| PR modula2/107631 | |
| * gm2-gcc/m2builtins.cc: Remove scalb, scalbf, scalbl, | |
| significand, significandf, significandl. | |
| * gm2-libs/Builtins.def (significand): Likewise. | |
| * gm2-libs/Builtins.mod: Likewise. | |
| * target-independent/Builtins.texi: Likewise. | |
| * gm2-libs-iso/LowLong.mod: Implement fraction with scalbn*() and | |
| ilogb*(). | |
| * gm2-libs-iso/LowReal.mod: Likewise. | |
| * gm2-libs-iso/LowShort.mod: Likewise. | |
| 2023-01-05 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2-libs-min/M2RTS.def (ConstructModules): New procedure | |
| declaration. | |
| (DeconstructModules): New procedure declaration. | |
| * gm2-libs-min/M2RTS.mod (ConstructModules): New procedure | |
| dummy implementation. | |
| (DeconstructModules): New procedure dummy implementation. | |
| 2023-01-05 Iain Sandoe <iain@sandoe.co.uk> | |
| * gm2spec.cc (lang_specific_driver): Handle static-libgm2. | |
| * lang.opt: Add static-libgm2. | |
| 2023-01-05 Iain Sandoe <iain@sandoe.co.uk> | |
| * gm2spec.cc (lang_specific_driver): Pass -static-libstdc++ on to | |
| the target driver if the linker does not support Bstatic/dynamic. | |
| 2023-01-04 Iain Sandoe <iain@sandoe.co.uk> | |
| PR modula2/108183 | |
| * gm2-libs-ch/UnixArgs.cc (_M2_UnixArgs_ctor): Rework to use | |
| an extern "C" function with 'constructor' attribute. | |
| * gm2-libs-ch/dtoa.cc (_M2_dtoa_ctor): Likewise. | |
| * gm2-libs-ch/ldtoa.cc (_M2_ldtoa_ctor): Likewise. | |
| 2023-01-04 Iain Sandoe <iain@sandoe.co.uk> | |
| PR modula2/108259 | |
| * gm2-gcc/m2decl.cc (m2decl_DeclareModuleCtor): Make module | |
| registration constructors visible. | |
| 2023-01-04 Iain Sandoe <iain@sandoe.co.uk> | |
| * Make-lang.in (dvi, ps, pdf): Build in the gcc/doc directory, also | |
| use the configured tools for texi -> dvi and texi -> pdf. | |
| 2023-01-01 Iain Sandoe <iain@sandoe.co.uk> | |
| Gaius Mulley <gaiusmod2@gmail.com> | |
| PR modula2/108183 | |
| * gm2-compiler/M2GCCDeclare.mod: Module registration constructors are | |
| externs to the builder of m2_link. | |
| 2022-12-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
| Iain Sandoe <iain@sandoe.co.uk> | |
| PR modula2/107612 | |
| * Make-lang.in (soext): Use .dylib for Darwin. | |
| (PLUGINLDFLAGS): Use dynmic lookup, set the plugin name, and append | |
| -nodefaultlibs to suppress the linking of libstdc++. | |
| Use INCINTL in compile lines for the plugin. | |
| 2022-12-21 Jakub Jelinek <jakub@redhat.com> | |
| PR modula2/108153 | |
| * gm2-gcc/m2linemap.def (location_t): Use CARDINAL instead of INTEGER. | |
| 2022-12-19 Jakub Jelinek <jakub@redhat.com> | |
| * gm2-gcc/m2linemap.cc (m2linemap_ErrorAt, m2linemap_ErrorAtf, | |
| m2linemap_WarningAtf, m2linemap_NoteAtf, m2linemap_internal_error): | |
| Call functions with "%s", message rather than just message, so that | |
| % chars in message aren't treated as format specifiers. | |
| 2022-12-19 Jakub Jelinek <jakub@redhat.com> | |
| PR modula2/108147 | |
| * gm2-gcc/m2linemap.def (ErrorAtf, WarningAtf, NoteAtf): | |
| Comment out prototypes with varargs. | |
| * gm2-gcc/m2linemap.h (m2linemap_ErrorAtf, m2linemap_WarningAtf, | |
| m2linemap_NoteAtf): No longer varargs. | |
| * gm2-gcc/m2linemap.cc (m2linemap_ErrorAtf): Turned into a | |
| non-varargs wrapper around ... | |
| (m2linemap_ErrorAtf_1): ... this. New static function. | |
| (m2linemap_WarningAtf): Turned into a non-varargs wrapper around ... | |
| (m2linemap_WarningAtf_1): ... this. New static function. | |
| (m2linemap_NoteAtf): Turned into a non-varargs wrapper around ... | |
| (m2linemap_NoteAtf_1): ... this. New static function. | |
| 2022-12-15 Gaius Mulley <gaiusmod2@gmail.com> | |
| * configure.ac: Stop probing for realpath. | |
| * tools-src/calcpath: Break dependency on realpath, cut | |
| and echo. | |
| * configure: Rebuilt. | |
| 2022-12-15 Gaius Mulley <gaiusmod2@gmail.com> | |
| * gm2config.h.in: Rebuilt. | |
| 2022-12-14 Gaius Mulley <gaiusmod2@gmail.com> | |
| * COPYING.FDL: New file. | |
| * COPYING.RUNTIME: New file. | |
| * COPYING3: New file. | |
| * COPYING3.LIB: New file. | |
| * Make-lang.in: New file. | |
| * Make-maintainer.in: New file. | |
| * NEWS: New file. | |
| * README: New file. | |
| * config-lang.in: New file. | |
| * config-make.in: New file. | |
| * configure.ac: New file. | |
| * gm2-compiler/CLexBuf.def: New file. | |
| * gm2-compiler/CLexBuf.mod: New file. | |
| * gm2-compiler/FifoQueue.def: New file. | |
| * gm2-compiler/FifoQueue.mod: New file. | |
| * gm2-compiler/Lists.def: New file. | |
| * gm2-compiler/Lists.mod: New file. | |
| * gm2-compiler/M2ALU.def: New file. | |
| * gm2-compiler/M2ALU.mod: New file. | |
| * gm2-compiler/M2AsmUtil.def: New file. | |
| * gm2-compiler/M2AsmUtil.mod: New file. | |
| * gm2-compiler/M2Base.def: New file. | |
| * gm2-compiler/M2Base.mod: New file. | |
| * gm2-compiler/M2BasicBlock.def: New file. | |
| * gm2-compiler/M2BasicBlock.mod: New file. | |
| * gm2-compiler/M2Batch.def: New file. | |
| * gm2-compiler/M2Batch.mod: New file. | |
| * gm2-compiler/M2Bitset.def: New file. | |
| * gm2-compiler/M2Bitset.mod: New file. | |
| * gm2-compiler/M2CaseList.def: New file. | |
| * gm2-compiler/M2CaseList.mod: New file. | |
| * gm2-compiler/M2Check.def: New file. | |
| * gm2-compiler/M2Check.mod: New file. | |
| * gm2-compiler/M2Code.def: New file. | |
| * gm2-compiler/M2Code.mod: New file. | |
| * gm2-compiler/M2ColorString.def: New file. | |
| * gm2-compiler/M2ColorString.mod: New file. | |
| * gm2-compiler/M2Comp.def: New file. | |
| * gm2-compiler/M2Comp.mod: New file. | |
| * gm2-compiler/M2Const.def: New file. | |
| * gm2-compiler/M2Const.mod: New file. | |
| * gm2-compiler/M2Debug.def: New file. | |
| * gm2-compiler/M2Debug.mod: New file. | |
| * gm2-compiler/M2DebugStack.def: New file. | |
| * gm2-compiler/M2DebugStack.mod: New file. | |
| * gm2-compiler/M2Defaults.def: New file. | |
| * gm2-compiler/M2Defaults.mod: New file. | |
| * gm2-compiler/M2DriverOptions.def: New file. | |
| * gm2-compiler/M2DriverOptions.mod: New file. | |
| * gm2-compiler/M2Emit.def: New file. | |
| * gm2-compiler/M2Emit.mod: New file. | |
| * gm2-compiler/M2Error.def: New file. | |
| * gm2-compiler/M2Error.mod: New file. | |
| * gm2-compiler/M2EvalSym.def: New file. | |
| * gm2-compiler/M2FileName.def: New file. | |
| * gm2-compiler/M2FileName.mod: New file. | |
| * gm2-compiler/M2GCCDeclare.def: New file. | |
| * gm2-compiler/M2GCCDeclare.mod: New file. | |
| * gm2-compiler/M2GenGCC.def: New file. | |
| * gm2-compiler/M2GenGCC.mod: New file. | |
| * gm2-compiler/M2Graph.def: New file. | |
| * gm2-compiler/M2Graph.mod: New file. | |
| * gm2-compiler/M2Lex.def: New file. | |
| * gm2-compiler/M2Lex.mod: New file. | |
| * gm2-compiler/M2LexBuf.def: New file. | |
| * gm2-compiler/M2LexBuf.mod: New file. | |
| * gm2-compiler/M2MetaError.def: New file. | |
| * gm2-compiler/M2MetaError.mod: New file. | |
| * gm2-compiler/M2Optimize.def: New file. | |
| * gm2-compiler/M2Optimize.mod: New file. | |
| * gm2-compiler/M2Options.def: New file. | |
| * gm2-compiler/M2Options.mod: New file. | |
| * gm2-compiler/M2Pass.def: New file. | |
| * gm2-compiler/M2Pass.mod: New file. | |
| * gm2-compiler/M2Preprocess.def: New file. | |
| * gm2-compiler/M2Preprocess.mod: New file. | |
| * gm2-compiler/M2Printf.def: New file. | |
| * gm2-compiler/M2Printf.mod: New file. | |
| * gm2-compiler/M2Quads.def: New file. | |
| * gm2-compiler/M2Quads.mod: New file. | |
| * gm2-compiler/M2Quiet.def: New file. | |
| * gm2-compiler/M2Quiet.mod: New file. | |
| * gm2-compiler/M2Range.def: New file. | |
| * gm2-compiler/M2Range.mod: New file. | |
| * gm2-compiler/M2Reserved.def: New file. | |
| * gm2-compiler/M2Reserved.mod: New file. | |
| * gm2-compiler/M2SSA.def: New file. | |
| * gm2-compiler/M2SSA.mod: New file. | |
| * gm2-compiler/M2Scaffold.def: New file. | |
| * gm2-compiler/M2Scaffold.mod: New file. | |
| * gm2-compiler/M2Scope.def: New file. | |
| * gm2-compiler/M2Scope.mod: New file. | |
| * gm2-compiler/M2Search.def: New file. | |
| * gm2-compiler/M2Search.mod: New file. | |
| * gm2-compiler/M2Size.def: New file. | |
| * gm2-compiler/M2Size.mod: New file. | |
| * gm2-compiler/M2StackAddress.def: New file. | |
| * gm2-compiler/M2StackAddress.mod: New file. | |
| * gm2-compiler/M2StackWord.def: New file. | |
| * gm2-compiler/M2StackWord.mod: New file. | |
| * gm2-compiler/M2Students.def: New file. | |
| * gm2-compiler/M2Students.mod: New file. | |
| * gm2-compiler/M2Swig.def: New file. | |
| * gm2-compiler/M2Swig.mod: New file. | |
| * gm2-compiler/M2System.def: New file. | |
| * gm2-compiler/M2System.mod: New file. | |
| * gm2-compiler/M2Version.def: New file. | |
| * gm2-compiler/NameKey.def: New file. | |
| * gm2-compiler/NameKey.mod: New file. | |
| * gm2-compiler/ObjectFiles.def: New file. | |
| * gm2-compiler/ObjectFiles.mod: New file. | |
| * gm2-compiler/Output.def: New file. | |
| * gm2-compiler/Output.mod: New file. | |
| * gm2-compiler/P0SymBuild.def: New file. | |
| * gm2-compiler/P0SymBuild.mod: New file. | |
| * gm2-compiler/P0SyntaxCheck.bnf: New file. | |
| * gm2-compiler/P0SyntaxCheck.def: New file. | |
| * gm2-compiler/P1Build.bnf: New file. | |
| * gm2-compiler/P1Build.def: New file. | |
| * gm2-compiler/P1SymBuild.def: New file. | |
| * gm2-compiler/P1SymBuild.mod: New file. | |
| * gm2-compiler/P2Build.bnf: New file. | |
| * gm2-compiler/P2Build.def: New file. | |
| * gm2-compiler/P2SymBuild.def: New file. | |
| * gm2-compiler/P2SymBuild.mod: New file. | |
| * gm2-compiler/P3Build.bnf: New file. | |
| * gm2-compiler/P3Build.def: New file. | |
| * gm2-compiler/P3SymBuild.def: New file. | |
| * gm2-compiler/P3SymBuild.mod: New file. | |
| * gm2-compiler/PCBuild.bnf: New file. | |
| * gm2-compiler/PCBuild.def: New file. | |
| * gm2-compiler/PCSymBuild.def: New file. | |
| * gm2-compiler/PCSymBuild.mod: New file. | |
| * gm2-compiler/PHBuild.bnf: New file. | |
| * gm2-compiler/PHBuild.def: New file. | |
| * gm2-compiler/README: New file. | |
| * gm2-compiler/Sets.def: New file. | |
| * gm2-compiler/Sets.mod: New file. | |
| * gm2-compiler/SymbolConversion.def: New file. | |
| * gm2-compiler/SymbolConversion.mod: New file. | |
| * gm2-compiler/SymbolKey.def: New file. | |
| * gm2-compiler/SymbolKey.mod: New file. | |
| * gm2-compiler/SymbolTable.def: New file. | |
| * gm2-compiler/SymbolTable.mod: New file. | |
| * gm2-compiler/bnflex.def: New file. | |
| * gm2-compiler/bnflex.mod: New file. | |
| * gm2-compiler/cflex.def: New file. | |
| * gm2-compiler/gm2.mod: New file. | |
| * gm2-compiler/gm2lcc.mod: New file. | |
| * gm2-compiler/gm2lgen.mod: New file. | |
| * gm2-compiler/gm2lorder.mod: New file. | |
| * gm2-compiler/m2flex.def: New file. | |
| * gm2-compiler/ppg.mod: New file. | |
| * gm2-gcc/README: New file. | |
| * gm2-gcc/dynamicstrings.h: New file. | |
| * gm2-gcc/gcc-consolidation.h: New file. | |
| * gm2-gcc/init.cc: New file. | |
| * gm2-gcc/init.def: New file. | |
| * gm2-gcc/init.h: New file. | |
| * gm2-gcc/m2assert.cc: New file. | |
| * gm2-gcc/m2assert.h: New file. | |
| * gm2-gcc/m2block.cc: New file. | |
| * gm2-gcc/m2block.def: New file. | |
| * gm2-gcc/m2block.h: New file. | |
| * gm2-gcc/m2builtins.cc: New file. | |
| * gm2-gcc/m2builtins.def: New file. | |
| * gm2-gcc/m2builtins.h: New file. | |
| * gm2-gcc/m2color.cc: New file. | |
| * gm2-gcc/m2color.def: New file. | |
| * gm2-gcc/m2color.h: New file. | |
| * gm2-gcc/m2configure.cc: New file. | |
| * gm2-gcc/m2configure.def: New file. | |
| * gm2-gcc/m2configure.h: New file. | |
| * gm2-gcc/m2convert.cc: New file. | |
| * gm2-gcc/m2convert.def: New file. | |
| * gm2-gcc/m2convert.h: New file. | |
| * gm2-gcc/m2decl.cc: New file. | |
| * gm2-gcc/m2decl.def: New file. | |
| * gm2-gcc/m2decl.h: New file. | |
| * gm2-gcc/m2except.cc: New file. | |
| * gm2-gcc/m2except.def: New file. | |
| * gm2-gcc/m2except.h: New file. | |
| * gm2-gcc/m2expr.cc: New file. | |
| * gm2-gcc/m2expr.def: New file. | |
| * gm2-gcc/m2expr.h: New file. | |
| * gm2-gcc/m2linemap.cc: New file. | |
| * gm2-gcc/m2linemap.def: New file. | |
| * gm2-gcc/m2linemap.h: New file. | |
| * gm2-gcc/m2misc.cc: New file. | |
| * gm2-gcc/m2misc.def: New file. | |
| * gm2-gcc/m2misc.h: New file. | |
| * gm2-gcc/m2options.h: New file. | |
| * gm2-gcc/m2range.h: New file. | |
| * gm2-gcc/m2search.h: New file. | |
| * gm2-gcc/m2statement.cc: New file. | |
| * gm2-gcc/m2statement.def: New file. | |
| * gm2-gcc/m2statement.h: New file. | |
| * gm2-gcc/m2top.cc: New file. | |
| * gm2-gcc/m2top.def: New file. | |
| * gm2-gcc/m2top.h: New file. | |
| * gm2-gcc/m2tree.cc: New file. | |
| * gm2-gcc/m2tree.def: New file. | |
| * gm2-gcc/m2tree.h: New file. | |
| * gm2-gcc/m2treelib.cc: New file. | |
| * gm2-gcc/m2treelib.def: New file. | |
| * gm2-gcc/m2treelib.h: New file. | |
| * gm2-gcc/m2type.cc: New file. | |
| * gm2-gcc/m2type.def: New file. | |
| * gm2-gcc/m2type.h: New file. | |
| * gm2-gcc/rtegraph.cc: New file. | |
| * gm2-gcc/rtegraph.h: New file. | |
| * gm2-ici/M2Emit.mod: New file. | |
| * gm2-ici/README: New file. | |
| * gm2-ici/m2linemap.c: New file. | |
| * gm2-internals.texi: New file. | |
| * gm2-lang.cc: New file. | |
| * gm2-lang.h: New file. | |
| * gm2-libiberty/README: New file. | |
| * gm2-libiberty/choosetemp.def: New file. | |
| * gm2-libiberty/pexecute.def: New file. | |
| * gm2-libs-ch/M2LINK.c: New file. | |
| * gm2-libs-ch/README: New file. | |
| * gm2-libs-ch/RTcodummy.c: New file. | |
| * gm2-libs-ch/RTintdummy.c: New file. | |
| * gm2-libs-ch/Selective.c: New file. | |
| * gm2-libs-ch/SysExceptions.c: New file. | |
| * gm2-libs-ch/UnixArgs.cc: New file. | |
| * gm2-libs-ch/cgetopt.c: New file. | |
| * gm2-libs-ch/choosetemp.c: New file. | |
| * gm2-libs-ch/dtoa.cc: New file. | |
| * gm2-libs-ch/errno.c: New file. | |
| * gm2-libs-ch/host.c: New file. | |
| * gm2-libs-ch/ldtoa.cc: New file. | |
| * gm2-libs-ch/m2rts.h: New file. | |
| * gm2-libs-ch/termios.c: New file. | |
| * gm2-libs-ch/tools.c: New file. | |
| * gm2-libs-ch/wrapc.c: New file. | |
| * gm2-libs-ch/xlibc.c: New file. | |
| * gm2-libs-coroutines/Debug.def: New file. | |
| * gm2-libs-coroutines/Debug.mod: New file. | |
| * gm2-libs-coroutines/Executive.def: New file. | |
| * gm2-libs-coroutines/Executive.mod: New file. | |
| * gm2-libs-coroutines/KeyBoardLEDs.def: New file. | |
| * gm2-libs-coroutines/README.texi: New file. | |
| * gm2-libs-coroutines/SYSTEM.def: New file. | |
| * gm2-libs-coroutines/SYSTEM.mod: New file. | |
| * gm2-libs-coroutines/TimerHandler.def: New file. | |
| * gm2-libs-coroutines/TimerHandler.mod: New file. | |
| * gm2-libs-iso/COROUTINES.def: New file. | |
| * gm2-libs-iso/COROUTINES.mod: New file. | |
| * gm2-libs-iso/ChanConsts.def: New file. | |
| * gm2-libs-iso/ChanConsts.h: New file. | |
| * gm2-libs-iso/ChanConsts.mod: New file. | |
| * gm2-libs-iso/CharClass.def: New file. | |
| * gm2-libs-iso/CharClass.mod: New file. | |
| * gm2-libs-iso/ClientSocket.def: New file. | |
| * gm2-libs-iso/ClientSocket.mod: New file. | |
| * gm2-libs-iso/ComplexMath.def: New file. | |
| * gm2-libs-iso/ComplexMath.mod: New file. | |
| * gm2-libs-iso/ConvStringLong.def: New file. | |
| * gm2-libs-iso/ConvStringLong.mod: New file. | |
| * gm2-libs-iso/ConvStringReal.def: New file. | |
| * gm2-libs-iso/ConvStringReal.mod: New file. | |
| * gm2-libs-iso/ConvTypes.def: New file. | |
| * gm2-libs-iso/ConvTypes.mod: New file. | |
| * gm2-libs-iso/EXCEPTIONS.def: New file. | |
| * gm2-libs-iso/EXCEPTIONS.mod: New file. | |
| * gm2-libs-iso/ErrnoCategory.def: New file. | |
| * gm2-libs-iso/GeneralUserExceptions.def: New file. | |
| * gm2-libs-iso/GeneralUserExceptions.mod: New file. | |
| * gm2-libs-iso/IOChan.def: New file. | |
| * gm2-libs-iso/IOChan.mod: New file. | |
| * gm2-libs-iso/IOConsts.def: New file. | |
| * gm2-libs-iso/IOConsts.mod: New file. | |
| * gm2-libs-iso/IOLink.def: New file. | |
| * gm2-libs-iso/IOLink.mod: New file. | |
| * gm2-libs-iso/IOResult.def: New file. | |
| * gm2-libs-iso/IOResult.mod: New file. | |
| * gm2-libs-iso/LongComplexMath.def: New file. | |
| * gm2-libs-iso/LongComplexMath.mod: New file. | |
| * gm2-libs-iso/LongConv.def: New file. | |
| * gm2-libs-iso/LongConv.mod: New file. | |
| * gm2-libs-iso/LongIO.def: New file. | |
| * gm2-libs-iso/LongIO.mod: New file. | |
| * gm2-libs-iso/LongMath.def: New file. | |
| * gm2-libs-iso/LongMath.mod: New file. | |
| * gm2-libs-iso/LongStr.def: New file. | |
| * gm2-libs-iso/LongStr.mod: New file. | |
| * gm2-libs-iso/LongWholeIO.def: New file. | |
| * gm2-libs-iso/LongWholeIO.mod: New file. | |
| * gm2-libs-iso/LowLong.def: New file. | |
| * gm2-libs-iso/LowLong.mod: New file. | |
| * gm2-libs-iso/LowReal.def: New file. | |
| * gm2-libs-iso/LowReal.mod: New file. | |
| * gm2-libs-iso/LowShort.def: New file. | |
| * gm2-libs-iso/LowShort.mod: New file. | |
| * gm2-libs-iso/M2EXCEPTION.def: New file. | |
| * gm2-libs-iso/M2EXCEPTION.mod: New file. | |
| * gm2-libs-iso/M2RTS.def: New file. | |
| * gm2-libs-iso/M2RTS.mod: New file. | |
| * gm2-libs-iso/MemStream.def: New file. | |
| * gm2-libs-iso/MemStream.mod: New file. | |
| * gm2-libs-iso/Preemptive.def: New file. | |
| * gm2-libs-iso/Preemptive.mod: New file. | |
| * gm2-libs-iso/Processes.def: New file. | |
| * gm2-libs-iso/Processes.mod: New file. | |
| * gm2-libs-iso/ProgramArgs.def: New file. | |
| * gm2-libs-iso/ProgramArgs.mod: New file. | |
| * gm2-libs-iso/README.texi: New file. | |
| * gm2-libs-iso/RTco.def: New file. | |
| * gm2-libs-iso/RTdata.def: New file. | |
| * gm2-libs-iso/RTdata.mod: New file. | |
| * gm2-libs-iso/RTentity.def: New file. | |
| * gm2-libs-iso/RTentity.mod: New file. | |
| * gm2-libs-iso/RTfio.def: New file. | |
| * gm2-libs-iso/RTfio.mod: New file. | |
| * gm2-libs-iso/RTgen.def: New file. | |
| * gm2-libs-iso/RTgen.mod: New file. | |
| * gm2-libs-iso/RTgenif.def: New file. | |
| * gm2-libs-iso/RTgenif.mod: New file. | |
| * gm2-libs-iso/RTio.def: New file. | |
| * gm2-libs-iso/RTio.mod: New file. | |
| * gm2-libs-iso/RandomNumber.def: New file. | |
| * gm2-libs-iso/RandomNumber.mod: New file. | |
| * gm2-libs-iso/RawIO.def: New file. | |
| * gm2-libs-iso/RawIO.mod: New file. | |
| * gm2-libs-iso/RealConv.def: New file. | |
| * gm2-libs-iso/RealConv.mod: New file. | |
| * gm2-libs-iso/RealIO.def: New file. | |
| * gm2-libs-iso/RealIO.mod: New file. | |
| * gm2-libs-iso/RealMath.def: New file. | |
| * gm2-libs-iso/RealMath.mod: New file. | |
| * gm2-libs-iso/RealStr.def: New file. | |
| * gm2-libs-iso/RealStr.mod: New file. | |
| * gm2-libs-iso/RndFile.def: New file. | |
| * gm2-libs-iso/RndFile.mod: New file. | |
| * gm2-libs-iso/SIOResult.def: New file. | |
| * gm2-libs-iso/SIOResult.mod: New file. | |
| * gm2-libs-iso/SLongIO.def: New file. | |
| * gm2-libs-iso/SLongIO.mod: New file. | |
| * gm2-libs-iso/SLongWholeIO.def: New file. | |
| * gm2-libs-iso/SLongWholeIO.mod: New file. | |
| * gm2-libs-iso/SRawIO.def: New file. | |
| * gm2-libs-iso/SRawIO.mod: New file. | |
| * gm2-libs-iso/SRealIO.def: New file. | |
| * gm2-libs-iso/SRealIO.mod: New file. | |
| * gm2-libs-iso/SShortIO.def: New file. | |
| * gm2-libs-iso/SShortIO.mod: New file. | |
| * gm2-libs-iso/SShortWholeIO.def: New file. | |
| * gm2-libs-iso/SShortWholeIO.mod: New file. | |
| * gm2-libs-iso/STextIO.def: New file. | |
| * gm2-libs-iso/STextIO.mod: New file. | |
| * gm2-libs-iso/SWholeIO.def: New file. | |
| * gm2-libs-iso/SWholeIO.mod: New file. | |
| * gm2-libs-iso/SYSTEM.def: New file. | |
| * gm2-libs-iso/SYSTEM.mod: New file. | |
| * gm2-libs-iso/Semaphores.def: New file. | |
| * gm2-libs-iso/Semaphores.mod: New file. | |
| * gm2-libs-iso/SeqFile.def: New file. | |
| * gm2-libs-iso/SeqFile.mod: New file. | |
| * gm2-libs-iso/ShortComplexMath.def: New file. | |
| * gm2-libs-iso/ShortComplexMath.mod: New file. | |
| * gm2-libs-iso/ShortIO.def: New file. | |
| * gm2-libs-iso/ShortIO.mod: New file. | |
| * gm2-libs-iso/ShortWholeIO.def: New file. | |
| * gm2-libs-iso/ShortWholeIO.mod: New file. | |
| * gm2-libs-iso/SimpleCipher.def: New file. | |
| * gm2-libs-iso/SimpleCipher.mod: New file. | |
| * gm2-libs-iso/StdChans.def: New file. | |
| * gm2-libs-iso/StdChans.mod: New file. | |
| * gm2-libs-iso/Storage.def: New file. | |
| * gm2-libs-iso/Storage.mod: New file. | |
| * gm2-libs-iso/StreamFile.def: New file. | |
| * gm2-libs-iso/StreamFile.mod: New file. | |
| * gm2-libs-iso/StringChan.def: New file. | |
| * gm2-libs-iso/StringChan.mod: New file. | |
| * gm2-libs-iso/Strings.def: New file. | |
| * gm2-libs-iso/Strings.mod: New file. | |
| * gm2-libs-iso/SysClock.def: New file. | |
| * gm2-libs-iso/SysClock.mod: New file. | |
| * gm2-libs-iso/TERMINATION.def: New file. | |
| * gm2-libs-iso/TERMINATION.mod: New file. | |
| * gm2-libs-iso/TermFile.def: New file. | |
| * gm2-libs-iso/TermFile.mod: New file. | |
| * gm2-libs-iso/TextIO.def: New file. | |
| * gm2-libs-iso/TextIO.mod: New file. | |
| * gm2-libs-iso/WholeConv.def: New file. | |
| * gm2-libs-iso/WholeConv.mod: New file. | |
| * gm2-libs-iso/WholeIO.def: New file. | |
| * gm2-libs-iso/WholeIO.mod: New file. | |
| * gm2-libs-iso/WholeStr.def: New file. | |
| * gm2-libs-iso/WholeStr.mod: New file. | |
| * gm2-libs-iso/wrapsock.c: New file. | |
| * gm2-libs-iso/wrapsock.def: New file. | |
| * gm2-libs-iso/wraptime.c: New file. | |
| * gm2-libs-iso/wraptime.def: New file. | |
| * gm2-libs-min/M2RTS.def: New file. | |
| * gm2-libs-min/M2RTS.mod: New file. | |
| * gm2-libs-min/SYSTEM.def: New file. | |
| * gm2-libs-min/SYSTEM.mod: New file. | |
| * gm2-libs-min/libc.c: New file. | |
| * gm2-libs-min/libc.def: New file. | |
| * gm2-libs-pim/BitBlockOps.def: New file. | |
| * gm2-libs-pim/BitBlockOps.mod: New file. | |
| * gm2-libs-pim/BitByteOps.def: New file. | |
| * gm2-libs-pim/BitByteOps.mod: New file. | |
| * gm2-libs-pim/BitWordOps.def: New file. | |
| * gm2-libs-pim/BitWordOps.mod: New file. | |
| * gm2-libs-pim/BlockOps.def: New file. | |
| * gm2-libs-pim/BlockOps.mod: New file. | |
| * gm2-libs-pim/Break.c: New file. | |
| * gm2-libs-pim/Break.def: New file. | |
| * gm2-libs-pim/CardinalIO.def: New file. | |
| * gm2-libs-pim/CardinalIO.mod: New file. | |
| * gm2-libs-pim/Conversions.def: New file. | |
| * gm2-libs-pim/Conversions.mod: New file. | |
| * gm2-libs-pim/DebugPMD.def: New file. | |
| * gm2-libs-pim/DebugPMD.mod: New file. | |
| * gm2-libs-pim/DebugTrace.def: New file. | |
| * gm2-libs-pim/DebugTrace.mod: New file. | |
| * gm2-libs-pim/Delay.def: New file. | |
| * gm2-libs-pim/Delay.mod: New file. | |
| * gm2-libs-pim/Display.def: New file. | |
| * gm2-libs-pim/Display.mod: New file. | |
| * gm2-libs-pim/ErrorCode.def: New file. | |
| * gm2-libs-pim/ErrorCode.mod: New file. | |
| * gm2-libs-pim/FileSystem.def: New file. | |
| * gm2-libs-pim/FileSystem.mod: New file. | |
| * gm2-libs-pim/FloatingUtilities.def: New file. | |
| * gm2-libs-pim/FloatingUtilities.mod: New file. | |
| * gm2-libs-pim/InOut.def: New file. | |
| * gm2-libs-pim/InOut.mod: New file. | |
| * gm2-libs-pim/Keyboard.def: New file. | |
| * gm2-libs-pim/Keyboard.mod: New file. | |
| * gm2-libs-pim/LongIO.def: New file. | |
| * gm2-libs-pim/LongIO.mod: New file. | |
| * gm2-libs-pim/NumberConversion.def: New file. | |
| * gm2-libs-pim/NumberConversion.mod: New file. | |
| * gm2-libs-pim/README.texi: New file. | |
| * gm2-libs-pim/Random.def: New file. | |
| * gm2-libs-pim/Random.mod: New file. | |
| * gm2-libs-pim/RealConversions.def: New file. | |
| * gm2-libs-pim/RealConversions.mod: New file. | |
| * gm2-libs-pim/RealInOut.def: New file. | |
| * gm2-libs-pim/RealInOut.mod: New file. | |
| * gm2-libs-pim/Strings.def: New file. | |
| * gm2-libs-pim/Strings.mod: New file. | |
| * gm2-libs-pim/Termbase.def: New file. | |
| * gm2-libs-pim/Termbase.mod: New file. | |
| * gm2-libs-pim/Terminal.def: New file. | |
| * gm2-libs-pim/Terminal.mod: New file. | |
| * gm2-libs-pim/TimeDate.def: New file. | |
| * gm2-libs-pim/TimeDate.mod: New file. | |
| * gm2-libs/ASCII.def: New file. | |
| * gm2-libs/ASCII.mod: New file. | |
| * gm2-libs/Args.def: New file. | |
| * gm2-libs/Args.mod: New file. | |
| * gm2-libs/Assertion.def: New file. | |
| * gm2-libs/Assertion.mod: New file. | |
| * gm2-libs/Break.def: New file. | |
| * gm2-libs/Break.mod: New file. | |
| * gm2-libs/Builtins.def: New file. | |
| * gm2-libs/Builtins.mod: New file. | |
| * gm2-libs/COROUTINES.def: New file. | |
| * gm2-libs/COROUTINES.mod: New file. | |
| * gm2-libs/CmdArgs.def: New file. | |
| * gm2-libs/CmdArgs.mod: New file. | |
| * gm2-libs/Debug.def: New file. | |
| * gm2-libs/Debug.mod: New file. | |
| * gm2-libs/DynamicStrings.def: New file. | |
| * gm2-libs/DynamicStrings.mod: New file. | |
| * gm2-libs/Environment.def: New file. | |
| * gm2-libs/Environment.mod: New file. | |
| * gm2-libs/FIO.def: New file. | |
| * gm2-libs/FIO.mod: New file. | |
| * gm2-libs/FormatStrings.def: New file. | |
| * gm2-libs/FormatStrings.mod: New file. | |
| * gm2-libs/FpuIO.def: New file. | |
| * gm2-libs/FpuIO.mod: New file. | |
| * gm2-libs/GetOpt.def: New file. | |
| * gm2-libs/GetOpt.mod: New file. | |
| * gm2-libs/IO.def: New file. | |
| * gm2-libs/IO.mod: New file. | |
| * gm2-libs/Indexing.def: New file. | |
| * gm2-libs/Indexing.mod: New file. | |
| * gm2-libs/LMathLib0.def: New file. | |
| * gm2-libs/LMathLib0.mod: New file. | |
| * gm2-libs/LegacyReal.def: New file. | |
| * gm2-libs/LegacyReal.mod: New file. | |
| * gm2-libs/M2Dependent.def: New file. | |
| * gm2-libs/M2Dependent.mod: New file. | |
| * gm2-libs/M2EXCEPTION.def: New file. | |
| * gm2-libs/M2EXCEPTION.mod: New file. | |
| * gm2-libs/M2LINK.def: New file. | |
| * gm2-libs/M2RTS.def: New file. | |
| * gm2-libs/M2RTS.mod: New file. | |
| * gm2-libs/MathLib0.def: New file. | |
| * gm2-libs/MathLib0.mod: New file. | |
| * gm2-libs/MemUtils.def: New file. | |
| * gm2-libs/MemUtils.mod: New file. | |
| * gm2-libs/NumberIO.def: New file. | |
| * gm2-libs/NumberIO.mod: New file. | |
| * gm2-libs/OptLib.def: New file. | |
| * gm2-libs/OptLib.mod: New file. | |
| * gm2-libs/PushBackInput.def: New file. | |
| * gm2-libs/PushBackInput.mod: New file. | |
| * gm2-libs/README.texi: New file. | |
| * gm2-libs/RTExceptions.def: New file. | |
| * gm2-libs/RTExceptions.mod: New file. | |
| * gm2-libs/RTint.def: New file. | |
| * gm2-libs/RTint.mod: New file. | |
| * gm2-libs/SArgs.def: New file. | |
| * gm2-libs/SArgs.mod: New file. | |
| * gm2-libs/SCmdArgs.def: New file. | |
| * gm2-libs/SCmdArgs.mod: New file. | |
| * gm2-libs/SEnvironment.def: New file. | |
| * gm2-libs/SEnvironment.mod: New file. | |
| * gm2-libs/SFIO.def: New file. | |
| * gm2-libs/SFIO.mod: New file. | |
| * gm2-libs/SMathLib0.def: New file. | |
| * gm2-libs/SMathLib0.mod: New file. | |
| * gm2-libs/SYSTEM.def: New file. | |
| * gm2-libs/SYSTEM.mod: New file. | |
| * gm2-libs/Scan.def: New file. | |
| * gm2-libs/Scan.mod: New file. | |
| * gm2-libs/Selective.def: New file. | |
| * gm2-libs/StdIO.def: New file. | |
| * gm2-libs/StdIO.mod: New file. | |
| * gm2-libs/Storage.def: New file. | |
| * gm2-libs/Storage.mod: New file. | |
| * gm2-libs/StrCase.def: New file. | |
| * gm2-libs/StrCase.mod: New file. | |
| * gm2-libs/StrIO.def: New file. | |
| * gm2-libs/StrIO.mod: New file. | |
| * gm2-libs/StrLib.def: New file. | |
| * gm2-libs/StrLib.mod: New file. | |
| * gm2-libs/StringConvert.def: New file. | |
| * gm2-libs/StringConvert.mod: New file. | |
| * gm2-libs/SysExceptions.def: New file. | |
| * gm2-libs/SysStorage.def: New file. | |
| * gm2-libs/SysStorage.mod: New file. | |
| * gm2-libs/TimeString.def: New file. | |
| * gm2-libs/TimeString.mod: New file. | |
| * gm2-libs/UnixArgs.def: New file. | |
| * gm2-libs/cbuiltin.def: New file. | |
| * gm2-libs/cgetopt.def: New file. | |
| * gm2-libs/config-host: New file. | |
| * gm2-libs/config-host.in: New file. | |
| * gm2-libs/cxxabi.def: New file. | |
| * gm2-libs/dtoa.def: New file. | |
| * gm2-libs/errno.def: New file. | |
| * gm2-libs/gdbif.def: New file. | |
| * gm2-libs/gdbif.mod: New file. | |
| * gm2-libs/gm2-libs-host.h.in: New file. | |
| * gm2-libs/ldtoa.def: New file. | |
| * gm2-libs/libc.def: New file. | |
| * gm2-libs/libm.def: New file. | |
| * gm2-libs/sckt.def: New file. | |
| * gm2-libs/termios.def: New file. | |
| * gm2-libs/wrapc.def: New file. | |
| * gm2config.h.in: New file. | |
| * gm2spec.cc: New file. | |
| * gm2version.h: New file. | |
| * init/README: New file. | |
| * init/mcinit: New file. | |
| * init/ppginit: New file. | |
| * lang-specs.h: New file. | |
| * lang.opt: New file. | |
| * m2-tree.def: New file. | |
| * m2-tree.h: New file. | |
| * m2.flex: New file. | |
| * m2pp.cc: New file. | |
| * m2pp.h: New file. | |
| * mc-boot-ch/GBuiltins.c: New file. | |
| * mc-boot-ch/GM2LINK.c: New file. | |
| * mc-boot-ch/GRTco.c: New file. | |
| * mc-boot-ch/GSYSTEM.c: New file. | |
| * mc-boot-ch/GSelective.c: New file. | |
| * mc-boot-ch/GSysExceptions.c: New file. | |
| * mc-boot-ch/GUnixArgs.cc: New file. | |
| * mc-boot-ch/Gabort.c: New file. | |
| * mc-boot-ch/Gcbuiltin.c: New file. | |
| * mc-boot-ch/Gdtoa.c: New file. | |
| * mc-boot-ch/Gerrno.c: New file. | |
| * mc-boot-ch/Gldtoa.c: New file. | |
| * mc-boot-ch/Glibc.c: New file. | |
| * mc-boot-ch/Glibm.c: New file. | |
| * mc-boot-ch/Gmcrts.c: New file. | |
| * mc-boot-ch/Gmcrts.h: New file. | |
| * mc-boot-ch/Gnetwork.h: New file. | |
| * mc-boot-ch/Gtermios.cc: New file. | |
| * mc-boot-ch/Gwrapc.c: New file. | |
| * mc-boot-ch/README: New file. | |
| * mc-boot-ch/m2rts.h: New file. | |
| * mc-boot-ch/network.c: New file. | |
| * mc-boot/GASCII.c: New file. | |
| * mc-boot/GASCII.h: New file. | |
| * mc-boot/GArgs.c: New file. | |
| * mc-boot/GArgs.h: New file. | |
| * mc-boot/GAssertion.c: New file. | |
| * mc-boot/GAssertion.h: New file. | |
| * mc-boot/GBreak.c: New file. | |
| * mc-boot/GBreak.h: New file. | |
| * mc-boot/GCOROUTINES.h: New file. | |
| * mc-boot/GCmdArgs.c: New file. | |
| * mc-boot/GCmdArgs.h: New file. | |
| * mc-boot/GDebug.c: New file. | |
| * mc-boot/GDebug.h: New file. | |
| * mc-boot/GDynamicStrings.c: New file. | |
| * mc-boot/GDynamicStrings.h: New file. | |
| * mc-boot/GEnvironment.c: New file. | |
| * mc-boot/GEnvironment.h: New file. | |
| * mc-boot/GFIO.c: New file. | |
| * mc-boot/GFIO.h: New file. | |
| * mc-boot/GFormatStrings.c: New file. | |
| * mc-boot/GFormatStrings.h: New file. | |
| * mc-boot/GFpuIO.c: New file. | |
| * mc-boot/GFpuIO.h: New file. | |
| * mc-boot/GIO.c: New file. | |
| * mc-boot/GIO.h: New file. | |
| * mc-boot/GIndexing.c: New file. | |
| * mc-boot/GIndexing.h: New file. | |
| * mc-boot/GM2Dependent.c: New file. | |
| * mc-boot/GM2Dependent.h: New file. | |
| * mc-boot/GM2EXCEPTION.c: New file. | |
| * mc-boot/GM2EXCEPTION.h: New file. | |
| * mc-boot/GM2LINK.h: New file. | |
| * mc-boot/GM2RTS.c: New file. | |
| * mc-boot/GM2RTS.h: New file. | |
| * mc-boot/GMemUtils.c: New file. | |
| * mc-boot/GMemUtils.h: New file. | |
| * mc-boot/GNumberIO.c: New file. | |
| * mc-boot/GNumberIO.h: New file. | |
| * mc-boot/GPushBackInput.c: New file. | |
| * mc-boot/GPushBackInput.h: New file. | |
| * mc-boot/GRTExceptions.c: New file. | |
| * mc-boot/GRTExceptions.h: New file. | |
| * mc-boot/GRTco.h: New file. | |
| * mc-boot/GRTint.c: New file. | |
| * mc-boot/GRTint.h: New file. | |
| * mc-boot/GSArgs.c: New file. | |
| * mc-boot/GSArgs.h: New file. | |
| * mc-boot/GSFIO.c: New file. | |
| * mc-boot/GSFIO.h: New file. | |
| * mc-boot/GSYSTEM.h: New file. | |
| * mc-boot/GSelective.h: New file. | |
| * mc-boot/GStdIO.c: New file. | |
| * mc-boot/GStdIO.h: New file. | |
| * mc-boot/GStorage.c: New file. | |
| * mc-boot/GStorage.h: New file. | |
| * mc-boot/GStrCase.c: New file. | |
| * mc-boot/GStrCase.h: New file. | |
| * mc-boot/GStrIO.c: New file. | |
| * mc-boot/GStrIO.h: New file. | |
| * mc-boot/GStrLib.c: New file. | |
| * mc-boot/GStrLib.h: New file. | |
| * mc-boot/GStringConvert.c: New file. | |
| * mc-boot/GStringConvert.h: New file. | |
| * mc-boot/GSysExceptions.h: New file. | |
| * mc-boot/GSysStorage.c: New file. | |
| * mc-boot/GSysStorage.h: New file. | |
| * mc-boot/GTimeString.c: New file. | |
| * mc-boot/GTimeString.h: New file. | |
| * mc-boot/GUnixArgs.h: New file. | |
| * mc-boot/Galists.c: New file. | |
| * mc-boot/Galists.h: New file. | |
| * mc-boot/Gdecl.c: New file. | |
| * mc-boot/Gdecl.h: New file. | |
| * mc-boot/Gdtoa.h: New file. | |
| * mc-boot/Gerrno.h: New file. | |
| * mc-boot/Gkeyc.c: New file. | |
| * mc-boot/Gkeyc.h: New file. | |
| * mc-boot/Gldtoa.h: New file. | |
| * mc-boot/Glibc.h: New file. | |
| * mc-boot/Glibm.h: New file. | |
| * mc-boot/Glists.c: New file. | |
| * mc-boot/Glists.h: New file. | |
| * mc-boot/GmcComment.c: New file. | |
| * mc-boot/GmcComment.h: New file. | |
| * mc-boot/GmcComp.c: New file. | |
| * mc-boot/GmcComp.h: New file. | |
| * mc-boot/GmcDebug.c: New file. | |
| * mc-boot/GmcDebug.h: New file. | |
| * mc-boot/GmcError.c: New file. | |
| * mc-boot/GmcError.h: New file. | |
| * mc-boot/GmcFileName.c: New file. | |
| * mc-boot/GmcFileName.h: New file. | |
| * mc-boot/GmcLexBuf.c: New file. | |
| * mc-boot/GmcLexBuf.h: New file. | |
| * mc-boot/GmcMetaError.c: New file. | |
| * mc-boot/GmcMetaError.h: New file. | |
| * mc-boot/GmcOptions.c: New file. | |
| * mc-boot/GmcOptions.h: New file. | |
| * mc-boot/GmcPreprocess.c: New file. | |
| * mc-boot/GmcPreprocess.h: New file. | |
| * mc-boot/GmcPretty.c: New file. | |
| * mc-boot/GmcPretty.h: New file. | |
| * mc-boot/GmcPrintf.c: New file. | |
| * mc-boot/GmcPrintf.h: New file. | |
| * mc-boot/GmcQuiet.c: New file. | |
| * mc-boot/GmcQuiet.h: New file. | |
| * mc-boot/GmcReserved.c: New file. | |
| * mc-boot/GmcReserved.h: New file. | |
| * mc-boot/GmcSearch.c: New file. | |
| * mc-boot/GmcSearch.h: New file. | |
| * mc-boot/GmcStack.c: New file. | |
| * mc-boot/GmcStack.h: New file. | |
| * mc-boot/GmcStream.c: New file. | |
| * mc-boot/GmcStream.h: New file. | |
| * mc-boot/Gmcflex.h: New file. | |
| * mc-boot/Gmcp1.c: New file. | |
| * mc-boot/Gmcp1.h: New file. | |
| * mc-boot/Gmcp2.c: New file. | |
| * mc-boot/Gmcp2.h: New file. | |
| * mc-boot/Gmcp3.c: New file. | |
| * mc-boot/Gmcp3.h: New file. | |
| * mc-boot/Gmcp4.c: New file. | |
| * mc-boot/Gmcp4.h: New file. | |
| * mc-boot/Gmcp5.c: New file. | |
| * mc-boot/Gmcp5.h: New file. | |
| * mc-boot/GnameKey.c: New file. | |
| * mc-boot/GnameKey.h: New file. | |
| * mc-boot/Gpth.h: New file. | |
| * mc-boot/GsymbolKey.c: New file. | |
| * mc-boot/GsymbolKey.h: New file. | |
| * mc-boot/Gtermios.h: New file. | |
| * mc-boot/Gtop.c: New file. | |
| * mc-boot/Gvarargs.c: New file. | |
| * mc-boot/Gvarargs.h: New file. | |
| * mc-boot/Gwlists.c: New file. | |
| * mc-boot/Gwlists.h: New file. | |
| * mc-boot/Gwrapc.h: New file. | |
| * mc-boot/README: New file. | |
| * mc/Indexing.def: New file. | |
| * mc/Indexing.mod: New file. | |
| * mc/README: New file. | |
| * mc/alists.def: New file. | |
| * mc/alists.mod: New file. | |
| * mc/decl.def: New file. | |
| * mc/decl.mod: New file. | |
| * mc/decl.mod-extra: New file. | |
| * mc/keyc.def: New file. | |
| * mc/keyc.mod: New file. | |
| * mc/lists.def: New file. | |
| * mc/lists.mod: New file. | |
| * mc/m2flex.def: New file. | |
| * mc/mc.flex: New file. | |
| * mc/mcComment.def: New file. | |
| * mc/mcComment.h: New file. | |
| * mc/mcComment.mod: New file. | |
| * mc/mcComp.def: New file. | |
| * mc/mcComp.mod: New file. | |
| * mc/mcDebug.def: New file. | |
| * mc/mcDebug.mod: New file. | |
| * mc/mcError.def: New file. | |
| * mc/mcError.mod: New file. | |
| * mc/mcFileName.def: New file. | |
| * mc/mcFileName.mod: New file. | |
| * mc/mcLexBuf.def: New file. | |
| * mc/mcLexBuf.h: New file. | |
| * mc/mcLexBuf.mod: New file. | |
| * mc/mcMetaError.def: New file. | |
| * mc/mcMetaError.mod: New file. | |
| * mc/mcOptions.def: New file. | |
| * mc/mcOptions.mod: New file. | |
| * mc/mcPreprocess.def: New file. | |
| * mc/mcPreprocess.mod: New file. | |
| * mc/mcPretty.def: New file. | |
| * mc/mcPretty.mod: New file. | |
| * mc/mcPrintf.def: New file. | |
| * mc/mcPrintf.mod: New file. | |
| * mc/mcQuiet.def: New file. | |
| * mc/mcQuiet.mod: New file. | |
| * mc/mcReserved.def: New file. | |
| * mc/mcReserved.h: New file. | |
| * mc/mcReserved.mod: New file. | |
| * mc/mcSearch.def: New file. | |
| * mc/mcSearch.mod: New file. | |
| * mc/mcStack.def: New file. | |
| * mc/mcStack.mod: New file. | |
| * mc/mcStream.def: New file. | |
| * mc/mcStream.mod: New file. | |
| * mc/mcflex.def: New file. | |
| * mc/mcp1.bnf: New file. | |
| * mc/mcp1.def: New file. | |
| * mc/mcp2.bnf: New file. | |
| * mc/mcp2.def: New file. | |
| * mc/mcp3.bnf: New file. | |
| * mc/mcp3.def: New file. | |
| * mc/mcp4.bnf: New file. | |
| * mc/mcp4.def: New file. | |
| * mc/mcp5.bnf: New file. | |
| * mc/mcp5.def: New file. | |
| * mc/nameKey.def: New file. | |
| * mc/nameKey.mod: New file. | |
| * mc/symbolKey.def: New file. | |
| * mc/symbolKey.mod: New file. | |
| * mc/top.mod: New file. | |
| * mc/varargs.def: New file. | |
| * mc/varargs.mod: New file. | |
| * mc/wlists.def: New file. | |
| * mc/wlists.mod: New file. | |
| * pge-boot/GASCII.c: New file. | |
| * pge-boot/GASCII.h: New file. | |
| * pge-boot/GArgs.c: New file. | |
| * pge-boot/GArgs.h: New file. | |
| * pge-boot/GAssertion.c: New file. | |
| * pge-boot/GAssertion.h: New file. | |
| * pge-boot/GBreak.h: New file. | |
| * pge-boot/GBuiltins.c: New file. | |
| * pge-boot/GCmdArgs.h: New file. | |
| * pge-boot/GDebug.c: New file. | |
| * pge-boot/GDebug.h: New file. | |
| * pge-boot/GDynamicStrings.c: New file. | |
| * pge-boot/GDynamicStrings.h: New file. | |
| * pge-boot/GEnvironment.h: New file. | |
| * pge-boot/GFIO.c: New file. | |
| * pge-boot/GFIO.h: New file. | |
| * pge-boot/GFormatStrings.h: New file. | |
| * pge-boot/GFpuIO.h: New file. | |
| * pge-boot/GIO.c: New file. | |
| * pge-boot/GIO.h: New file. | |
| * pge-boot/GIndexing.c: New file. | |
| * pge-boot/GIndexing.h: New file. | |
| * pge-boot/GLists.c: New file. | |
| * pge-boot/GLists.h: New file. | |
| * pge-boot/GM2Dependent.c: New file. | |
| * pge-boot/GM2Dependent.h: New file. | |
| * pge-boot/GM2EXCEPTION.c: New file. | |
| * pge-boot/GM2EXCEPTION.h: New file. | |
| * pge-boot/GM2LINK.c: New file. | |
| * pge-boot/GM2LINK.h: New file. | |
| * pge-boot/GM2RTS.c: New file. | |
| * pge-boot/GM2RTS.h: New file. | |
| * pge-boot/GNameKey.c: New file. | |
| * pge-boot/GNameKey.h: New file. | |
| * pge-boot/GNumberIO.c: New file. | |
| * pge-boot/GNumberIO.h: New file. | |
| * pge-boot/GOutput.c: New file. | |
| * pge-boot/GOutput.h: New file. | |
| * pge-boot/GPushBackInput.c: New file. | |
| * pge-boot/GPushBackInput.h: New file. | |
| * pge-boot/GRTExceptions.c: New file. | |
| * pge-boot/GRTExceptions.h: New file. | |
| * pge-boot/GRTco.c: New file. | |
| * pge-boot/GSArgs.h: New file. | |
| * pge-boot/GSEnvironment.h: New file. | |
| * pge-boot/GSFIO.c: New file. | |
| * pge-boot/GSFIO.h: New file. | |
| * pge-boot/GSYSTEM.c: New file. | |
| * pge-boot/GSYSTEM.h: New file. | |
| * pge-boot/GScan.h: New file. | |
| * pge-boot/GSelective.c: New file. | |
| * pge-boot/GStdIO.c: New file. | |
| * pge-boot/GStdIO.h: New file. | |
| * pge-boot/GStorage.c: New file. | |
| * pge-boot/GStorage.h: New file. | |
| * pge-boot/GStrCase.c: New file. | |
| * pge-boot/GStrCase.h: New file. | |
| * pge-boot/GStrIO.c: New file. | |
| * pge-boot/GStrIO.h: New file. | |
| * pge-boot/GStrLib.c: New file. | |
| * pge-boot/GStrLib.h: New file. | |
| * pge-boot/GStringConvert.h: New file. | |
| * pge-boot/GSymbolKey.c: New file. | |
| * pge-boot/GSymbolKey.h: New file. | |
| * pge-boot/GSysExceptions.c: New file. | |
| * pge-boot/GSysExceptions.h: New file. | |
| * pge-boot/GSysStorage.c: New file. | |
| * pge-boot/GSysStorage.h: New file. | |
| * pge-boot/GTimeString.h: New file. | |
| * pge-boot/GUnixArgs.cc: New file. | |
| * pge-boot/GUnixArgs.h: New file. | |
| * pge-boot/Gabort.c: New file. | |
| * pge-boot/Gbnflex.c: New file. | |
| * pge-boot/Gbnflex.h: New file. | |
| * pge-boot/Gcbuiltin.c: New file. | |
| * pge-boot/Gdtoa.c: New file. | |
| * pge-boot/Gdtoa.h: New file. | |
| * pge-boot/Gerrno.c: New file. | |
| * pge-boot/Gerrno.h: New file. | |
| * pge-boot/Gldtoa.c: New file. | |
| * pge-boot/Gldtoa.h: New file. | |
| * pge-boot/Glibc.c: New file. | |
| * pge-boot/Glibc.h: New file. | |
| * pge-boot/Glibm.c: New file. | |
| * pge-boot/Glibm.h: New file. | |
| * pge-boot/Gmcrts.c: New file. | |
| * pge-boot/Gmcrts.h: New file. | |
| * pge-boot/Gnetwork.h: New file. | |
| * pge-boot/Gpge.c: New file. | |
| * pge-boot/Gtermios.cc: New file. | |
| * pge-boot/Gtermios.h: New file. | |
| * pge-boot/Gwrapc.c: New file. | |
| * pge-boot/Gwrapc.h: New file. | |
| * pge-boot/README: New file. | |
| * pge-boot/m2rts.h: New file. | |
| * pge-boot/main.c: New file. | |
| * pge-boot/network.c: New file. | |
| * plugin/README: New file. | |
| * plugin/m2rte.cc: New file. | |
| * tools-src/README: New file. | |
| * tools-src/boilerplate.py: New file. | |
| * tools-src/buildpg: New file. | |
| * tools-src/calcpath: New file. | |
| * tools-src/def2doc.py: New file. | |
| * tools-src/makeSystem: New file. | |
| * tools-src/mklink.c: New file. | |
| * tools-src/tidydates.py: New file. | |
| * images/LICENSE.IMG: New file. | |
| * images/gnupng: New file. | |
| * images/gnu.eps: New file. | |
| * version.c: New file. | |
| * configure: Rebuilt. | |
| * target-independent/Builtins.texi: New file. | |
| * target-independent/SYSTEM-iso.texi: New file. | |
| * target-independent/SYSTEM-pim.texi: New file. | |
| * target-independent/gm2-libs.texi: New file. | |
| * target-independent/readme.txt: New file. |