2025-04-25  Release Manager

	* GCC 15.1.0 released.

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.
