Browse Source

* global var token was changed by overload code (form bug #707)

pierre 26 years ago
parent
commit
1cac8fdbd8
1 changed files with 24 additions and 21 deletions
  1. 24 21
      compiler/tcadd.pas

+ 24 - 21
compiler/tcadd.pas

@@ -73,13 +73,13 @@ implementation
          resdef,
          resdef,
          rd,ld   : pdef;
          rd,ld   : pdef;
          tempdef : pdef;
          tempdef : pdef;
-         optoken : ttoken;
          concatstrings : boolean;
          concatstrings : boolean;
 
 
          { to evalute const sets }
          { to evalute const sets }
          resultset : pconstset;
          resultset : pconstset;
          i : longint;
          i : longint;
          b : boolean;
          b : boolean;
+         optoken : ttoken;
          convdone : boolean;
          convdone : boolean;
          s1,s2 : pchar;
          s1,s2 : pchar;
          l1,l2 : longint;
          l1,l2 : longint;
@@ -143,44 +143,44 @@ implementation
                  { the nil as symtable signs firstcalln that this is
                  { the nil as symtable signs firstcalln that this is
                    an overloaded operator }
                    an overloaded operator }
                  addn:
                  addn:
-                   token:=_PLUS;
+                   optoken:=_PLUS;
                  subn:
                  subn:
-                   token:=_MINUS;
+                   optoken:=_MINUS;
                  muln:
                  muln:
-                   token:=_STAR;
+                   optoken:=_STAR;
                  starstarn:
                  starstarn:
-                   token:=_STARSTAR;
+                   optoken:=_STARSTAR;
                  slashn:
                  slashn:
-                   token:=_SLASH;
+                   optoken:=_SLASH;
                  ltn:
                  ltn:
-                   token:=tokens._lt;
+                   optoken:=tokens._lt;
                  gtn:
                  gtn:
-                   token:=tokens._gt;
+                   optoken:=tokens._gt;
                  lten:
                  lten:
-                   token:=_lte;
+                   optoken:=_lte;
                  gten:
                  gten:
-                   token:=_gte;
+                   optoken:=_gte;
                  equaln,unequaln :
                  equaln,unequaln :
-                   token:=_EQUAL;
+                   optoken:=_EQUAL;
                  symdifn :
                  symdifn :
-                   token:=_SYMDIF;
+                   optoken:=_SYMDIF;
                  modn :
                  modn :
-                   token:=_OP_MOD;
+                   optoken:=_OP_MOD;
                  orn :
                  orn :
-                   token:=_OP_OR;
+                   optoken:=_OP_OR;
                  xorn :
                  xorn :
-                   token:=_OP_XOR;
+                   optoken:=_OP_XOR;
                  andn :
                  andn :
-                   token:=_OP_AND;
+                   optoken:=_OP_AND;
                  divn :
                  divn :
-                   token:=_OP_DIV;
+                   optoken:=_OP_DIV;
                  shln :
                  shln :
-                   token:=_OP_SHL;
+                   optoken:=_OP_SHL;
                  shrn :
                  shrn :
-                   token:=_OP_SHR;
+                   optoken:=_OP_SHR;
                  else goto no_overload;
                  else goto no_overload;
               end;
               end;
-              t:=gencallnode(overloaded_operators[token],nil);
+              t:=gencallnode(overloaded_operators[optoken],nil);
               { we have to convert p^.left and p^.right into
               { we have to convert p^.left and p^.right into
                callparanodes }
                callparanodes }
               if t^.symtableprocentry=nil then
               if t^.symtableprocentry=nil then
@@ -1158,7 +1158,10 @@ implementation
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.53  1999-11-15 21:53:42  peter
+  Revision 1.54  1999-11-16 23:45:28  pierre
+   * global var token was changed by overload code (form bug 707)
+
+  Revision 1.53  1999/11/15 21:53:42  peter
     * fixed constant eval for bool xor/or/and bool
     * fixed constant eval for bool xor/or/and bool
 
 
   Revision 1.52  1999/11/15 17:53:00  pierre
   Revision 1.52  1999/11/15 17:53:00  pierre