This small patch fixes -Wodr warnings and also corrects a prototype. gcc/m2/ChangeLog:
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. Signed-off-by: Gaius Mulley <gaiusm...@gmail.com> --- gcc/m2/gm2-compiler/M2GenGCC.mod | 5 +++-- gcc/m2/gm2-compiler/M2Quads.mod | 4 ++-- gcc/m2/gm2-gcc/m2expr.def | 2 +- gcc/m2/gm2-gcc/m2statement.def | 2 +- gcc/m2/gm2-gcc/m2type.cc | 2 +- gcc/m2/gm2-gcc/m2type.h | 2 +- 6 files changed, 9 insertions(+), 8 deletions(-) diff --git a/gcc/m2/gm2-compiler/M2GenGCC.mod b/gcc/m2/gm2-compiler/M2GenGCC.mod index 14a4d5d780b..ca1c60316be 100644 --- a/gcc/m2/gm2-compiler/M2GenGCC.mod +++ b/gcc/m2/gm2-compiler/M2GenGCC.mod @@ -2455,7 +2455,7 @@ BEGIN tmp := BuildLSL (location, tmp, bits, FALSE) END ; bits := BuildAdd (location, bits, GetSizeOfInBits (Mod2Gcc (type)), FALSE) ; - val := BuildLogicalOrAddress (location, val, tmp, FALSE) + val := BuildLogicalOrAddress (location, val, tmp) END END ; SubQuad (n) ; @@ -2548,7 +2548,7 @@ BEGIN tmp := BuildLSL (location, tmp, bits, FALSE) END ; bits := BuildAdd (location, bits, GetSizeOfInBits (Mod2Gcc (type)), FALSE) ; - val := BuildLogicalOrAddress (location, val, tmp, FALSE) + val := BuildLogicalOrAddress (location, val, tmp) END END ; SubQuad (n) ; @@ -5762,6 +5762,7 @@ PROCEDURE FromM2WIDESETImport (tokenno: CARDINAL; name: Name) : CARDINAL ; VAR sym, module: CARDINAL ; BEGIN + sym := NulSym ; IF GetWideset () THEN module := MakeDefinitionSource (tokenno, MakeKey ("M2WIDESET")) ; diff --git a/gcc/m2/gm2-compiler/M2Quads.mod b/gcc/m2/gm2-compiler/M2Quads.mod index 9489bd8d114..ae7dde0f9b2 100644 --- a/gcc/m2/gm2-compiler/M2Quads.mod +++ b/gcc/m2/gm2-compiler/M2Quads.mod @@ -3836,7 +3836,7 @@ END BuildAssignConstant ; A variable maybe an L value so it will require dereferencing. *) -PROCEDURE BuildAssignmentBoolean (becomesTokNo: CARDINAL; checkTypes, checkOverflow: BOOLEAN; +PROCEDURE BuildAssignmentBoolean (becomesTokNo: CARDINAL; checkOverflow: BOOLEAN; t, f: CARDINAL; Des: CARDINAL; destok: CARDINAL) ; BEGIN PutVarConditional (Des, TRUE) ; (* Des will contain the result of a boolean relop. *) @@ -3885,7 +3885,7 @@ BEGIN PopTtok (Des, destok) ; IF IsVar (Des) OR IsConstVar (Des) THEN - BuildAssignmentBoolean (becomesTokNo, checkTypes, checkOverflow, + BuildAssignmentBoolean (becomesTokNo, checkOverflow, t, f, Des, destok) ELSE MetaErrorT1 (destok, 'expecting the designator {%1Ead} to be a constant or a variable and not a {%1dv}', Des) diff --git a/gcc/m2/gm2-gcc/m2expr.def b/gcc/m2/gm2-gcc/m2expr.def index 6842724ef8c..722a3c9ef7e 100644 --- a/gcc/m2/gm2-gcc/m2expr.def +++ b/gcc/m2/gm2-gcc/m2expr.def @@ -417,7 +417,7 @@ PROCEDURE BuildOffset (location: location_t; record: tree; field: tree; needconv BuildLogicalOrAddress - build a logical or expressions and return the tree. *) -PROCEDURE BuildLogicalOrAddress (location: location_t; op1: tree; op2: tree; needconvert: BOOLEAN) : tree ; +PROCEDURE BuildLogicalOrAddress (location: location_t; op1: tree; op2: tree) : tree ; (* diff --git a/gcc/m2/gm2-gcc/m2statement.def b/gcc/m2/gm2-gcc/m2statement.def index fbb578f40aa..e96005dcf4a 100644 --- a/gcc/m2/gm2-gcc/m2statement.def +++ b/gcc/m2/gm2-gcc/m2statement.def @@ -31,7 +31,7 @@ FROM SYSTEM IMPORT ADDRESS ; IfExprJump - if expr then jump to the label. *) -PROCEDURE IfExprJump (location: location_t; exp: tree; label: ADDRESS) ; +PROCEDURE IfExprJump (location: location_t; exp: tree; label: CharStar) ; (* diff --git a/gcc/m2/gm2-gcc/m2type.cc b/gcc/m2/gm2-gcc/m2type.cc index 184b506aa69..535ab143053 100644 --- a/gcc/m2/gm2-gcc/m2type.cc +++ b/gcc/m2/gm2-gcc/m2type.cc @@ -2213,7 +2213,7 @@ gm2_build_enumerator (location_t location, tree name, tree value) enumvalues, list. It returns a copy of the value. */ tree -m2type_BuildEnumerator (location_t location, const char *name, tree value, +m2type_BuildEnumerator (location_t location, char *name, tree value, tree *enumvalues) { tree id = get_identifier (name); diff --git a/gcc/m2/gm2-gcc/m2type.h b/gcc/m2/gm2-gcc/m2type.h index 68015a01e14..afd97f76314 100644 --- a/gcc/m2/gm2-gcc/m2type.h +++ b/gcc/m2/gm2-gcc/m2type.h @@ -183,7 +183,7 @@ EXTERN tree m2type_BuildStartEnumeration (location_t location, char *name, bool ispacked); EXTERN tree m2type_BuildEndEnumeration (location_t location, tree enumtype, tree enumvalues); -EXTERN tree m2type_BuildEnumerator (location_t location, const char *name, +EXTERN tree m2type_BuildEnumerator (location_t location, char *name, tree value, tree *enumvalues); EXTERN tree m2type_BuildPointerType (tree totype); EXTERN tree m2type_BuildConstPointerType (tree totype); -- 2.39.5