public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r13-6987] PR modula2/109388 clang warnings related to Modula-2
@ 2023-04-03 14:05 Gaius Mulley
  0 siblings, 0 replies; only message in thread
From: Gaius Mulley @ 2023-04-03 14:05 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:9a75f0a02e5006e081b335acd36300a85bef8eb8

commit r13-6987-g9a75f0a02e5006e081b335acd36300a85bef8eb8
Author: Gaius Mulley <gaiusmod2@gmail.com>
Date:   Mon Apr 3 15:04:06 2023 +0100

    PR modula2/109388 clang warnings related to Modula-2
    
    This patch removes an unused parameter 'module' from
    DoVariableDeclaration in M2GCCDeclare.mod.  It also removes unused
    procedures from PHBuild.bnf.
    
    gcc/m2/ChangeLog:
    
            PR modula2/109388
            * gm2-compiler/M2GCCDeclare.mod (DoVariableDeclaration):
            Remove second parameter module.  Adjust all callers to
            remove the second parameter.
            * gm2-compiler/PHBuild.bnf (CheckAndInsert): Remove.
            (InStopSet): Remove.
            (PeepToken): Remove.
            (PushQualident): Remove.
            (SimpleDes): Remove.
            (ActualParameters): Remove.
    
    Signed-off-by: Gaius Mulley <gaiusmod2@gmail.com>

Diff:
---
 gcc/m2/gm2-compiler/M2GCCDeclare.mod |  19 ++---
 gcc/m2/gm2-compiler/PHBuild.bnf      | 149 +----------------------------------
 2 files changed, 11 insertions(+), 157 deletions(-)

diff --git a/gcc/m2/gm2-compiler/M2GCCDeclare.mod b/gcc/m2/gm2-compiler/M2GCCDeclare.mod
index 3b1fc18dabe..8dceaae4c60 100644
--- a/gcc/m2/gm2-compiler/M2GCCDeclare.mod
+++ b/gcc/m2/gm2-compiler/M2GCCDeclare.mod
@@ -3153,10 +3153,11 @@ END FindOuterModule ;
 
 
 (*
-   DoVariableDeclaration -
+   DoVariableDeclaration - create a corresponding gcc variable and add the association
+                           between the front end symbol var and the gcc tree.
 *)
 
-PROCEDURE DoVariableDeclaration (var, module: CARDINAL; name: ADDRESS;
+PROCEDURE DoVariableDeclaration (var: CARDINAL; name: ADDRESS;
                                  isImported, isExported,
                                  isTemporary, isGlobal: BOOLEAN;
                                  scope: Tree) ;
@@ -3174,7 +3175,7 @@ BEGIN
       (*
         There are two issues to deal with:
 
-        (i)   LeftValue is really a pointer to GetSType(Son), which is built
+        (i)   LeftValue is really a pointer to GetSType (var), which is built
               here.
         (ii)  Front end might have specified the back end use a particular
               data type, in which case we use the specified type.
@@ -3183,7 +3184,7 @@ BEGIN
       varType := SkipType (GetVarBackEndType (var)) ;
       IF varType=NulSym
       THEN
-         (* we have not explicity told back end the type, so build it *)
+         (* We have not explicity told back end the type, so build it.  *)
          varType := GetSType (var) ;
          IF IsVariableAtAddress (var)
          THEN
@@ -3192,6 +3193,7 @@ BEGIN
             type := BuildPointerType (Mod2Gcc (varType))
          END
       ELSE
+         (* We have been requested to use varType.  *)
          type := Mod2Gcc (varType)
       END ;
       Assert (AllDependantsFullyDeclared (varType))
@@ -3199,7 +3201,6 @@ BEGIN
       type := Mod2Gcc (GetDType (var))
    END ;
    location := TokenToLocation (GetDeclaredMod (var)) ;
-   (* The M2LINK module global variables are a special case and have initializers.  *)
    PreAddModGcc (var, DeclareKnownVariable (location,
                                             name, type,
                                             isExported, isImported, isTemporary,
@@ -3244,7 +3245,7 @@ BEGIN
       decl := FindOuterModule (variable) ;
       Assert (AllDependantsFullyDeclared (GetSType (variable))) ;
       PushBinding (ModSym) ;
-      DoVariableDeclaration (variable, decl,
+      DoVariableDeclaration (variable,
                              KeyToCharStar (GetFullSymName (variable)),
                              (* in Modula-2 we are allowed to import from ourselves, but we do not present this to GCC *)
                              IsEffectivelyImported(ModSym, variable) AND (GetMainModule () # decl),
@@ -3272,7 +3273,7 @@ BEGIN
       decl := FindOuterModule (variable) ;
       Assert (AllDependantsFullyDeclared (GetSType (variable))) ;
       PushBinding (mainModule) ;
-      DoVariableDeclaration (variable, decl,
+      DoVariableDeclaration (variable,
                              KeyToCharStar (GetFullSymName (variable)),
                              (NOT IsSourceSeen (decl)) AND
                              IsEffectivelyImported (mainModule, variable) AND (GetMainModule () # decl),
@@ -3368,7 +3369,7 @@ END DeclareImportedVariablesWholeProgram ;
 PROCEDURE DeclareLocalVariable (var: CARDINAL) ;
 BEGIN
    Assert (AllDependantsFullyDeclared (var)) ;
-   DoVariableDeclaration (var, NulSym,
+   DoVariableDeclaration (var,
                           KeyToCharStar (GetFullSymName (var)),
                           FALSE,  (* local variables cannot be imported *)
                           FALSE,  (* or exported *)
@@ -3412,7 +3413,7 @@ BEGIN
    Var := GetNth (sym, i) ;
    WHILE Var # NulSym DO
       Assert (AllDependantsFullyDeclared (GetSType (Var))) ;
-      DoVariableDeclaration (Var, NulSym,
+      DoVariableDeclaration (Var,
                              KeyToCharStar (GetFullSymName (Var)),
                              FALSE,   (* inner module variables cannot be imported *)
                              FALSE,   (* or exported (as far as GCC is concerned)  *)
diff --git a/gcc/m2/gm2-compiler/PHBuild.bnf b/gcc/m2/gm2-compiler/PHBuild.bnf
index a13da828c94..79ebcde9732 100644
--- a/gcc/m2/gm2-compiler/PHBuild.bnf
+++ b/gcc/m2/gm2-compiler/PHBuild.bnf
@@ -187,11 +187,6 @@ BEGIN
 END ErrorArray ;
 
 
-PROCEDURE ErrorArrayAt (a: ARRAY OF CHAR; tok: CARDINAL) ;
-BEGIN
-   ErrorStringAt (InitString(a), tok)
-END ErrorArrayAt ;
-
 % declaration PHBuild begin
 
 
@@ -285,76 +280,6 @@ BEGIN
 END MissingToken ;
 
 
-(*
-   CheckAndInsert -
-*)
-
-PROCEDURE CheckAndInsert (t: toktype; stopset0: SetOfStop0; stopset1: SetOfStop1; stopset2: SetOfStop2) : BOOLEAN ;
-BEGIN
-   IF ((ORD(t)<32) AND (t IN stopset0)) OR
-      ((ORD(t)>=32) AND (ORD(t)<64) AND (t IN stopset1)) OR
-      ((ORD(t)>=64) AND (t IN stopset2))
-   THEN
-      WarnMissingToken(t) ;
-      InsertTokenAndRewind(t) ;
-      RETURN( TRUE )
-   ELSE
-      RETURN( FALSE )
-   END
-END CheckAndInsert ;
-
-
-(*
-   InStopSet
-*)
-
-PROCEDURE InStopSet (t: toktype; stopset0: SetOfStop0; stopset1: SetOfStop1; stopset2: SetOfStop2) : BOOLEAN ;
-BEGIN
-   IF ((ORD(t)<32) AND (t IN stopset0)) OR
-      ((ORD(t)>=32) AND (ORD(t)<64) AND (t IN stopset1)) OR
-      ((ORD(t)>=64) AND (t IN stopset2))
-   THEN
-      RETURN( TRUE )
-   ELSE
-      RETURN( FALSE )
-   END
-END InStopSet ;
-
-
-(*
-   PeepToken - peep token checks to see whether the stopset is satisfied by currenttoken
-               If it is not then it will insert a token providing the token
-               is one of ; ] ) } . OF END ,
-
-               if the stopset contains <identtok> then we do not insert a token
-*)
-
-PROCEDURE PeepToken (stopset0: SetOfStop0; stopset1: SetOfStop1; stopset2: SetOfStop2) ;
-BEGIN
-   (* and again (see above re: ORD)
-    *)
-   IF (NOT (((ORD(currenttoken)<32)  AND (currenttoken IN stopset0)) OR
-     	    ((ORD(currenttoken)>=32) AND (ORD(currenttoken)<64) AND (currenttoken IN stopset1)) OR
-            ((ORD(currenttoken)>=64) AND (currenttoken IN stopset2)))) AND
-      (NOT InStopSet(identtok, stopset0, stopset1, stopset2))
-   THEN
-      (* SyntaxCheck would fail since currentoken is not part of the stopset
-         we check to see whether any of currenttoken might be a commonly
-         omitted token.  *)
-      IF CheckAndInsert(semicolontok, stopset0, stopset1, stopset2) OR
-         CheckAndInsert(rsbratok, stopset0, stopset1, stopset2) OR
-         CheckAndInsert(rparatok, stopset0, stopset1, stopset2) OR
-         CheckAndInsert(rcbratok, stopset0, stopset1, stopset2) OR
-         CheckAndInsert(periodtok, stopset0, stopset1, stopset2) OR
-         CheckAndInsert(oftok, stopset0, stopset1, stopset2) OR
-         CheckAndInsert(endtok, stopset0, stopset1, stopset2) OR
-         CheckAndInsert(commatok, stopset0, stopset1, stopset2)
-      THEN
-      END
-   END
-END PeepToken ;
-
-
 (*
    Expect -
 *)
@@ -639,71 +564,6 @@ Qualident :=                                                               % VAR
              { "." Ident }                                                 % END %
            =:
 
-PushQualident :=                                                           % VAR name         : Name ;
-                                                                                 init, ip1    : CARDINAL ;
-                                                                                 tok, tokstart: CARDINAL ; %
-                                                                           % PushAutoOn %
-             Ident                                                         % IF IsAutoPushOn()
-                                                                             THEN
-                                                                                PopTtok (name, tokstart) ;
-                                                                                tok := tokstart ;
-                                                                                init := GetSym (name) ;
-                                                                                IF init=NulSym
-                                                                                THEN
-                                                                                   PushTFntok (NulSym, NulSym, name, tok)
-                                                                                ELSE
-                                                                                   WHILE IsDefImp (init) OR IsModule (init) DO
-                                                                                      IF currenttoken # periodtok
-                                                                                      THEN
-                                                                                         ErrorArrayAt ("expecting '.' after module in the construction of a qualident", tok) ;
-                                                                                         IF tok#tokstart
-                                                                                         THEN
-                                                                                            tok := MakeVirtualTok (tokstart, tokstart, tok)
-                                                                                         END ;
-                                                                                         PushTtok (init, tok) ;
-                                                                                         PopAuto ;
-                                                                                         RETURN
-                                                                                      ELSE
-                                                                                         Expect (periodtok, stopset0, stopset1, stopset2 + SetOfStop2{identtok}) ;
-                                                                                         StartScope (init) ;
-                                                                                         Ident (stopset0, stopset1, stopset2) ;
-                                                                                         PopTtok (name, tok) ;
-                                                                                         ip1 := GetSym (name) ;
-                                                                                         IF ip1 = NulSym
-                                                                                         THEN
-                                                                                            ErrorArrayAt ("unknown ident in the construction of a qualident", tok) ;
-                                                                                            EndScope ;
-                                                                                            IF tok#tokstart
-                                                                                            THEN
-                                                                                               tok := MakeVirtualTok (tokstart, tokstart, tok)
-                                                                                            END ;
-                                                                                            PushTFntok (NulSym, NulSym, name, tok) ;
-                                                                                            PopAuto ;
-                                                                                            RETURN
-                                                                                         ELSE
-                                                                                            PutIncluded (ip1)
-                                                                                         END ;
-                                                                                         EndScope ;
-                                                                                         CheckCanBeImported (init, ip1) ;
-                                                                                         init := ip1
-                                                                                      END
-                                                                                   END ;
-                                                                                   IF tok#tokstart
-                                                                                   THEN
-                                                                                      tok := MakeVirtualTok (tokstart, tokstart, tok)
-                                                                                   END ;
-                                                                                   IF IsProcedure (init) OR IsProcType (init)
-                                                                                   THEN
-                                                                                      PushTtok (init, tok)
-                                                                                   ELSE
-                                                                                      PushTFtok (init, GetType(init), tok)
-                                                                                   END
-                                                                                END
-                                                                             ELSE %
-             { "." Ident }                                                 % END %
-                                                                           % PopAuto %
-           =:
-
 ConstantDeclaration :=                                                     % PushAutoOn %
                                                                            % VAR tokno: CARDINAL ; %
                        ( Ident "="                                         % tokno := GetTokenNo () %
@@ -1125,13 +985,6 @@ SetOrDesignatorOrFunction :=                                               % VAR
                                                                            % Assert (n = Top ()) %
                            =:
 
--- SimpleDes := { "." Ident | "[" ExpList "]" | "^" } =:
-SimpleDes := { SubDesignator } =:
-
-ActualParameters := "("
-                        ( ExpList |                                         % (* epsilon *) %
-                        ) ")" =:
-
 ConstActualParameters := "("                                                % BuildSizeCheckStart %
                             ( ConstExpList |                                % BuildNulParam %
                             ) ")" =:
@@ -1182,7 +1035,7 @@ IfStatement :=
                                           StatementSequence
               }
               [ "ELSE"
-                      StatementSequence ] "END"
+                       StatementSequence ] "END"
             =:
 
 CaseStatement := "CASE"

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-04-03 14:05 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-03 14:05 [gcc r13-6987] PR modula2/109388 clang warnings related to Modula-2 Gaius Mulley

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).