diff --git a/gcc/m2/gm2-compiler/M2Base.def b/gcc/m2/gm2-compiler/M2Base.def index 3cc11551ecd..14e79e7ae00 100644 --- a/gcc/m2/gm2-compiler/M2Base.def +++ b/gcc/m2/gm2-compiler/M2Base.def @@ -126,7 +126,6 @@ VAR LongReal, ShortReal, Complex, LongComplex, ShortComplex, - Unbounded, High, LengthS, Cap, Abs, Odd, Convert, Val, diff --git a/gcc/m2/gm2-compiler/M2Error.def b/gcc/m2/gm2-compiler/M2Error.def index efb808e95cb..8a9d4d12741 100644 --- a/gcc/m2/gm2-compiler/M2Error.def +++ b/gcc/m2/gm2-compiler/M2Error.def @@ -226,7 +226,7 @@ PROCEDURE FlushWarnings ; ErrorAbort0 - aborts compiling, it flushes all warnings and errors before aborting. *) -PROCEDURE ErrorAbort0 (a: ARRAY OF CHAR) ; +PROCEDURE ErrorAbort0 (a: ARRAY OF CHAR) <* noreturn *> ; (* diff --git a/gcc/m2/gm2-compiler/M2Quads.mod b/gcc/m2/gm2-compiler/M2Quads.mod index a44c5c7e71b..df3e23ff157 100644 --- a/gcc/m2/gm2-compiler/M2Quads.mod +++ b/gcc/m2/gm2-compiler/M2Quads.mod @@ -7232,12 +7232,12 @@ BEGIN GenQuadO (proctok, InclOp, VarSym, NulSym, DerefSym, FALSE) ELSE MetaErrorT1 (proctok, - 'the first parameter to {%EkINCL} must be a set variable but is {%E1d}', + 'the first parameter to {%EkINCL} must be a set variable but is {%1Ed}', VarSym) END ELSE MetaErrorT1 (proctok, - 'base procedure {%EkINCL} expects a variable as a parameter but is {%E1d}', + 'base procedure {%EkINCL} expects a variable as a parameter but is {%1Ed}', VarSym) END ELSE @@ -7298,12 +7298,12 @@ BEGIN GenQuadO (proctok, ExclOp, VarSym, NulSym, DerefSym, FALSE) ELSE MetaErrorT1 (proctok, - 'the first parameter to {%EkEXCL} must be a set variable but is {%E1d}', + 'the first parameter to {%EkEXCL} must be a set variable but is {%1Ed}', VarSym) END ELSE MetaErrorT1 (proctok, - 'base procedure {%EkEXCL} expects a variable as a parameter but is {%E1d}', + 'base procedure {%EkEXCL} expects a variable as a parameter but is {%1Ed}', VarSym) END ELSE @@ -9996,6 +9996,7 @@ BEGIN ELSE GenQuadO (combinedTok, AddrOp, returnVar, NulSym, OperandT (1), FALSE) END ; + PutWriteQuad (OperandT (1), GetMode (OperandT (1)), NextQuad-1) ; rw := OperandMergeRW (1) ; Assert (IsLegal (rw)) END ; diff --git a/gcc/m2/gm2-libs-ch/SysExceptions.c b/gcc/m2/gm2-libs-ch/SysExceptions.c index b6befbbbfbe..5b92c4cc5c0 100644 --- a/gcc/m2/gm2-libs-ch/SysExceptions.c +++ b/gcc/m2/gm2-libs-ch/SysExceptions.c @@ -230,7 +230,7 @@ SysExceptions_InitExceptionHandlers (void *indexf, void *range, void *casef, /* GNU Modula-2 linking fodder. */ void -_M2_SysExceptions_init (void) +_M2_SysExceptions_init (int argc, char *argv[], char *envp[]) { } diff --git a/gcc/m2/gm2-libs-ch/wrapc.c b/gcc/m2/gm2-libs-ch/wrapc.c index f24a472098a..51cbbf79e0b 100644 --- a/gcc/m2/gm2-libs-ch/wrapc.c +++ b/gcc/m2/gm2-libs-ch/wrapc.c @@ -228,7 +228,7 @@ wrapc_isfinitef (float x) /* init - init/finish functions for the module */ void -_M2_wrapc_init () +_M2_wrapc_init (int argc, char *argv[], char *envp[]) { } diff --git a/gcc/m2/gm2-libs/DynamicStrings.mod b/gcc/m2/gm2-libs/DynamicStrings.mod index 68e9320fb5d..37a7ed8c205 100644 --- a/gcc/m2/gm2-libs/DynamicStrings.mod +++ b/gcc/m2/gm2-libs/DynamicStrings.mod @@ -129,8 +129,6 @@ END writeNspace ; *) PROCEDURE DumpStringInfo (s: String; i: CARDINAL) ; -VAR - t: String ; BEGIN IF s # NIL THEN @@ -164,7 +162,6 @@ END stop ; PROCEDURE PopAllocationExemption (halt: BOOLEAN; e: String) : String ; VAR s: String ; - f: frame ; b: BOOLEAN ; BEGIN Init ; diff --git a/gcc/m2/gm2-libs/FIO.mod b/gcc/m2/gm2-libs/FIO.mod index 94a183301c3..1f3e22ed6c5 100644 --- a/gcc/m2/gm2-libs/FIO.mod +++ b/gcc/m2/gm2-libs/FIO.mod @@ -667,7 +667,6 @@ END ReadNBytes ; PROCEDURE BufferedRead (f: File; nBytes: CARDINAL; a: ADDRESS) : INTEGER ; VAR t : ADDRESS ; - result: INTEGER ; total, n : INTEGER ; p : POINTER TO BYTE ; @@ -1236,7 +1235,6 @@ END WriteNBytes ; PROCEDURE BufferedWrite (f: File; nBytes: CARDINAL; a: ADDRESS) : INTEGER ; VAR t : ADDRESS ; - result: INTEGER ; total, n : INTEGER ; p : POINTER TO BYTE ; diff --git a/gcc/m2/gm2-libs/FormatStrings.mod b/gcc/m2/gm2-libs/FormatStrings.mod index 38e4d2196c6..9c3a56228f9 100644 --- a/gcc/m2/gm2-libs/FormatStrings.mod +++ b/gcc/m2/gm2-libs/FormatStrings.mod @@ -301,8 +301,7 @@ VAR c, width, nextperc, - afterperc, - endpos : INTEGER ; + afterperc: INTEGER ; leader, ch, ch2 : CHAR ; p : String ; @@ -444,7 +443,6 @@ END Copy ; PROCEDURE HandlePercent (fmt, s: String; startpos: INTEGER) : String ; VAR prevpos: INTEGER ; - result : String ; BEGIN IF (startpos = VAL (INTEGER, Length (fmt))) OR (startpos < 0) THEN diff --git a/gcc/m2/gm2-libs/Indexing.mod b/gcc/m2/gm2-libs/Indexing.mod index e152158d64d..65c293cf26d 100644 --- a/gcc/m2/gm2-libs/Indexing.mod +++ b/gcc/m2/gm2-libs/Indexing.mod @@ -261,9 +261,9 @@ END IsIndiceInIndex ; PROCEDURE RemoveIndiceFromIndex (i: Index; a: ADDRESS) ; VAR - j, k: CARDINAL ; - p : PtrToAddress ; - b : PtrToByte ; + j: CARDINAL ; + p: PtrToAddress ; + b: PtrToByte ; BEGIN WITH i^ DO j := Low ; diff --git a/gcc/m2/gm2-libs/M2Dependent.mod b/gcc/m2/gm2-libs/M2Dependent.mod index d3d2c50d064..052d2ceef8e 100644 --- a/gcc/m2/gm2-libs/M2Dependent.mod +++ b/gcc/m2/gm2-libs/M2Dependent.mod @@ -85,8 +85,7 @@ PROCEDURE CreateModule (name, libname: ADDRESS; init, fini: ArgCVEnvP; dependencies: PROC) : ModuleChain ; VAR - mptr : ModuleChain ; - p0, p1: ADDRESS ; + mptr: ModuleChain ; BEGIN NEW (mptr) ; mptr^.name := name ; @@ -595,8 +594,6 @@ END DisplayModuleInfo ; *) PROCEDURE DumpModuleData (flag: BOOLEAN) ; -VAR - mptr: ModuleChain ; BEGIN IF flag THEN @@ -767,7 +764,6 @@ PROCEDURE ConstructModules (applicationmodule, libname, argc: INTEGER; argv, envp: ADDRESS) ; VAR mptr: ModuleChain ; - nulp: ArgCVEnvP ; BEGIN CheckInitialized ; DynamicInitialization := TRUE ; (* This procedure is only called if we desire dynamic initialization. *) diff --git a/gcc/m2/gm2-libs/RTExceptions.mod b/gcc/m2/gm2-libs/RTExceptions.mod index f28e4d879ed..7f3445c3de2 100644 --- a/gcc/m2/gm2-libs/RTExceptions.mod +++ b/gcc/m2/gm2-libs/RTExceptions.mod @@ -531,7 +531,7 @@ END PushHandler ; PROCEDURE PopHandler (e: EHBlock; number: CARDINAL) ; VAR - h, i: Handler ; + h: Handler ; BEGIN h := findHandler(e, number) ; IF h#NIL diff --git a/gcc/m2/gm2-libs/RTint.mod b/gcc/m2/gm2-libs/RTint.mod index aec5a82db17..b3b8737a9f5 100644 --- a/gcc/m2/gm2-libs/RTint.mod +++ b/gcc/m2/gm2-libs/RTint.mod @@ -673,10 +673,6 @@ VAR vec : Vector ; inSet, outSet : SetOfFd ; - b4s, - b4m, - afs, - afm, sec, micro : CARDINAL ; maxFd : INTEGER ; diff --git a/gcc/m2/gm2-libs/SFIO.mod b/gcc/m2/gm2-libs/SFIO.mod index 3cc294e6541..5e26f0fa69a 100644 --- a/gcc/m2/gm2-libs/SFIO.mod +++ b/gcc/m2/gm2-libs/SFIO.mod @@ -128,7 +128,6 @@ END WriteS ; PROCEDURE ReadS (file: File) : String ; VAR s: String ; - c: CARDINAL ; BEGIN s := InitString ('') ; WHILE (NOT EOLN (file)) AND (NOT EOF (file)) AND IsNoError (file) DO diff --git a/gcc/m2/gm2-libs/StringConvert.mod b/gcc/m2/gm2-libs/StringConvert.mod index 93e2ece7786..e2208ca6ad0 100644 --- a/gcc/m2/gm2-libs/StringConvert.mod +++ b/gcc/m2/gm2-libs/StringConvert.mod @@ -1099,8 +1099,6 @@ VAR i, l, point : INTEGER ; t, - whole, - fraction, tenths, hundreths: String ; BEGIN diff --git a/gcc/testsuite/gm2/pim/fail/setunknown.mod b/gcc/testsuite/gm2/pim/fail/setunknown.mod new file mode 100644 index 00000000000..112ebac2b08 --- /dev/null +++ b/gcc/testsuite/gm2/pim/fail/setunknown.mod @@ -0,0 +1,8 @@ +MODULE setunknown ; + + +VAR + set: SET OF [0..7] ; +BEGIN + INCL (set, unknownVariable) +END setunknown. diff --git a/gcc/testsuite/gm2/pim/fail/setunknown2.mod b/gcc/testsuite/gm2/pim/fail/setunknown2.mod new file mode 100644 index 00000000000..f08a1ae4981 --- /dev/null +++ b/gcc/testsuite/gm2/pim/fail/setunknown2.mod @@ -0,0 +1,5 @@ +MODULE setunknown2 ; + +BEGIN + INCL (unknownSet, unknownVariable) +END setunknown2.