فهرست منبع

* fixed bug in previous fix (hopped over revision 1.26 because that one
also removed the fix for high(cardinal))

Jonas Maebe 24 سال پیش
والد
کامیت
9ecf1c9aa7
1فایلهای تغییر یافته به همراه18 افزوده شده و 20 حذف شده
  1. 18 20
      compiler/ninl.pas

+ 18 - 20
compiler/ninl.pas

@@ -126,25 +126,19 @@ implementation
 
                   { low/high of torddef are longints, so we need special }
                   { handling for cardinal and 64bit types (JM)           }
-                  if is_64bitint(adef) then
-                   begin
-                     if is_signed(adef) then
-                      begin
-                        if (inlinenumber=in_low_x) then
-                         v := int64($80000000) shl 32
-                        else
-                         v := (int64($7fffffff) shl 32) or $ffffffff
-                      end
-                     else
-                      begin
-                        { we have to use a dirty trick for high(qword), }
-                        { because it's bigger than high(v)  (JM)        }
-                        if (inlinenumber=in_low_x) then
-                         v := 0
-                        else
-                         v := cardinal(v);
-                      end;
-                   end;
+                  if is_signed(adef) and
+                     is_64bitint(adef) then
+                    if (inlinenumber=in_low_x) then
+                      v := int64($80000000) shl 32
+                    else
+                      v := (int64($7fffffff) shl 32) or $ffffffff
+                  else
+                    if is_64bitint(adef) then
+                      { we have to use a dirty trick for high(qword),     }
+                      { because it's bigger than high(tconstexprint) (JM) }
+                      v := 0
+                    else
+                      v := cardinal(v);
                   hp:=genordinalconstnode(v,adef);
                   firstpass(hp);
                   { fix high(qword) }
@@ -1535,7 +1529,11 @@ begin
 end.
 {
   $Log$
-  Revision 1.26  2001-02-21 20:50:59  peter
+  Revision 1.27  2001-02-22 11:24:40  jonas
+    * fixed bug in previous fix (hopped over revision 1.26 because that one
+      also removed the fix for high(cardinal))
+
+  Revision 1.26  2001/02/21 20:50:59  peter
     * fix to compile again, but high(cardinal) with $R+ still fails!
 
   Revision 1.25  2001/02/21 12:57:46  jonas