瀏覽代碼

* do not allow implicit conversions from currency to orddef even if currency
is implemented via int64 (prevents e.g. calling abs(int64) for
abs(currency) on non-x86)

git-svn-id: trunk@21097 -

Jonas Maebe 13 年之前
父節點
當前提交
99e70e7128
共有 1 個文件被更改,包括 4 次插入1 次删除
  1. 4 1
      compiler/defcmp.pas

+ 4 - 1
compiler/defcmp.pas

@@ -290,7 +290,10 @@ implementation
                             internalerror(200210061);
                         end;
                       end
-                     else
+                     { currency cannot be implicitly converted to an ordinal
+                       type }
+                     else if not is_currency(def_from) or
+                             (cdo_explicit in cdoptions) then
                       begin
                         if cdo_explicit in cdoptions then
                           doconv:=basedefconvertsexplicit[basedeftbl[torddef(def_from).ordtype],basedeftbl[torddef(def_to).ordtype]]