+2024-11-26 Gaius Mulley <gaiusmod2@gmail.com>
+
+ Backported from master:
+ 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-11-26 Gaius Mulley <gaiusmod2@gmail.com>
+
+ Backported from master:
+ 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-11-26 Gaius Mulley <gaiusmod2@gmail.com>
+
+ Backported from master:
+ 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-11-26 Gaius Mulley <gaiusmod2@gmail.com>
+
+ Backported from master:
+ 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-11-26 Gaius Mulley <gaiusmod2@gmail.com>
+
+ Backported from master:
+ 2024-07-24 Gaius Mulley <gaiusmod2@gmail.com>
+
+ * gm2-compiler/M2StateCheck.mod (GenerateError): Add
+ symbol name to the error message.
+
+2024-11-26 Gaius Mulley <gaiusmod2@gmail.com>
+
+ Backported from master:
+ 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-11-26 Gaius Mulley <gaiusmod2@gmail.com>
+
+ Backported from master:
+ 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-11-23 Gaius Mulley <gaiusmod2@gmail.com>
Backported from master:
+2024-11-26 Gaius Mulley <gaiusmod2@gmail.com>
+
+ Backported from master:
+ 2024-08-16 Gaius Mulley <gaiusmod2@gmail.com>
+
+ PR modula2/116378
+ * gm2/extensions/run/pass/testopen.mod: Add third argument
+ for open.
+ * gm2/isolib/run/pass/openlibc.mod: Ditto.
+ * gm2/pim/run/pass/testaddr3.mod: Ditto.
+
+2024-11-26 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
+
+ * gcc.target/arm/epilog-1.c: Corrected armv8.1.m-main asm.
+
+2024-11-26 Gaius Mulley <gaiusmod2@gmail.com>
+
+ Backported from master:
+ 2024-07-28 Gaius Mulley <gaiusmod2@gmail.com>
+
+ PR modula2/115823
+ * gm2/builtins/run/pass/testisnormal.mod: Change to an
+ implementation module.
+ * gm2/builtins/run/pass/testisnormal.def: New test.
+ * gm2/builtins/run/pass/testsinl.def: New test.
+ * gm2/builtins/run/pass/testsinl.mod: New test.
+
+2024-11-26 Gaius Mulley <gaiusmod2@gmail.com>
+
+ Backported from master:
+ 2024-07-23 Gaius Mulley <gaiusmod2@gmail.com>
+
+ PR modula2/116048
+ * gm2/errors/fail/errors-fail.exp: Remove -Wstudents
+ and add -Wuninit-variable-checking=all.
+ Replace gm2_init_pim with gm2_init_iso.
+ * gm2/errors/fail/testfio.mod: Modify test code to
+ provoke an error in the first basic block.
+ * gm2/errors/fail/testparam.mod: Ditto.
+ * gm2/errors/fail/array1.mod: Ditto.
+ * gm2/errors/fail/badtype.mod: New test.
+ * gm2/errors/fail/badvar.mod: New test.
+
+2024-11-26 Gaius Mulley <gaiusmod2@gmail.com>
+
+ Backported from master:
+ 2024-07-16 Gaius Mulley <gaiusmod2@gmail.com>
+
+ PR modula2/115957
+ * gm2/errors/fail/badconst.mod: New test.
+ * gm2/pim/fail/tinyadr.mod: New test.
+
2024-11-25 Lewis Hyatt <lhyatt@gmail.com>
PR preprocessor/117118