Browse Source

* merged patches name generation in lib and asm constant eval

peter 25 years ago
parent
commit
ec3f05fe39
2 changed files with 39 additions and 8 deletions
  1. 5 2
      compiler/og386.pas
  2. 34 6
      compiler/rautils.pas

+ 5 - 2
compiler/og386.pas

@@ -208,7 +208,7 @@ unit og386;
           cut_end :
           cut_end :
             s:=s+tostr(smarthcount)+'t';
             s:=s+tostr(smarthcount)+'t';
         end;
         end;
-        ObjFile:=Path+FixFileName(s+tostr(SmartLinkFilesCnt)+target_info.objext)
+        ObjFile:=FixFileName(s+tostr(SmartLinkFilesCnt)+target_info.objext);
       end;
       end;
 
 
 
 
@@ -279,7 +279,10 @@ unit og386;
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.3  2000-07-13 12:08:26  michael
+  Revision 1.4  2000-08-06 10:42:29  peter
+    * merged patches name generation in lib and asm constant eval
+
+  Revision 1.3  2000/07/13 12:08:26  michael
   + patched to 1.1.0 with former 1.09patch from peter
   + patched to 1.1.0 with former 1.09patch from peter
 
 
   Revision 1.2  2000/07/13 11:32:43  michael
   Revision 1.2  2000/07/13 11:32:43  michael

+ 34 - 6
compiler/rautils.pas

@@ -249,6 +249,7 @@ end;
 Procedure TExprParse.RPNCalc(Token : String15; prefix:boolean);                       { RPN Calculator }
 Procedure TExprParse.RPNCalc(Token : String15; prefix:boolean);                       { RPN Calculator }
 Var
 Var
   Temp  : longint;
   Temp  : longint;
+  n1,n2 : longint;
   LocalError : Integer;
   LocalError : Integer;
 begin
 begin
   { Handle operators }
   { Handle operators }
@@ -264,14 +265,38 @@ begin
         if prefix then
         if prefix then
          RPNPush(-(RPNPop))
          RPNPush(-(RPNPop))
         else
         else
-         RPNPush(RPNPop - RPNPop);
+         begin
+           n1:=RPNPop;
+           n2:=RPNPop;
+           RPNPush(n2 - n1);
+         end;
       end;
       end;
     '*' : RPNPush(RPNPop * RPNPop);
     '*' : RPNPush(RPNPop * RPNPop);
-    '&' : RPNPush(RPNPop AND RPNPop);
-    '|' : RPNPush(RPNPop OR RPNPop);
+    '&' :
+      begin
+        n1:=RPNPop;
+        n2:=RPNPop;
+        RPNPush(n2 and n1);
+      end;
+    '|' :
+      begin
+        n1:=RPNPop;
+        n2:=RPNPop;
+        RPNPush(n2 or n1);
+      end;
     '~' : RPNPush(NOT RPNPop);
     '~' : RPNPush(NOT RPNPop);
-    '<' : RPNPush(RPNPop SHL RPNPop);
-    '>' : RPNPush(RPNPop SHR RPNPop);
+    '<' :
+      begin
+        n1:=RPNPop;
+        n2:=RPNPop;
+        RPNPush(n2 SHL n1);
+      end;
+    '>' :
+      begin
+        n1:=RPNPop;
+        n2:=RPNPop;
+        RPNPush(n2 SHR n1);
+      end;
     '%' :
     '%' :
       begin
       begin
         Temp:=RPNPop;
         Temp:=RPNPop;
@@ -1540,7 +1565,10 @@ end;
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.2  2000-07-13 11:32:48  michael
+  Revision 1.3  2000-08-06 10:42:29  peter
+    * merged patches name generation in lib and asm constant eval
+
+  Revision 1.2  2000/07/13 11:32:48  michael
   + removed logs
   + removed logs
 
 
 }
 }