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

Reply via email to