浏览代码

* In Delphi mode throw a conversion error when trying to typecast a pointer to a procdef when they use different memory models.

git-svn-id: trunk@45856 -
yury 5 年之前
父节点
当前提交
72dc2145e9
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      compiler/defcmp.pas

+ 2 - 1
compiler/defcmp.pas

@@ -1683,7 +1683,8 @@ implementation
                       { to procedure variables                                  }
                       if (m_pointer_2_procedure in current_settings.modeswitches) and
                          is_void(tpointerdef(def_from).pointeddef) and
-                         tprocvardef(def_to).is_addressonly then
+                         tprocvardef(def_to).is_addressonly and
+                         tprocvardef(def_to).compatible_with_pointerdef_size(tpointerdef(def_from)) then
                        begin
                          doconv:=tc_equal;
                          eq:=te_convert_l1;