|
@@ -45,7 +45,7 @@ interface
|
|
procedure second_int_to_real;override;
|
|
procedure second_int_to_real;override;
|
|
{ procedure second_real_to_real;override; }
|
|
{ procedure second_real_to_real;override; }
|
|
{ procedure second_cord_to_pointer;override; }
|
|
{ procedure second_cord_to_pointer;override; }
|
|
- { procedure second_proc_to_procvar;override; }
|
|
|
|
|
|
+ procedure second_proc_to_procvar;override;
|
|
procedure second_nil_to_methodprocvar; override;
|
|
procedure second_nil_to_methodprocvar; override;
|
|
procedure second_bool_to_int;override;
|
|
procedure second_bool_to_int;override;
|
|
procedure second_int_to_bool;override;
|
|
procedure second_int_to_bool;override;
|
|
@@ -155,6 +155,22 @@ procedure tllvmtypeconvnode.second_int_to_real;
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
+procedure tllvmtypeconvnode.second_proc_to_procvar;
|
|
|
|
+ begin
|
|
|
|
+ inherited;
|
|
|
|
+ if not tabstractprocdef(resultdef).is_addressonly and
|
|
|
|
+ not tabstractprocdef(left.resultdef).is_addressonly then
|
|
|
|
+ begin
|
|
|
|
+ if location.loc<>LOC_REFERENCE then
|
|
|
|
+ internalerror(2015111902);
|
|
|
|
+ hlcg.g_ptrtypecast_ref(current_asmdata.CurrAsmList,
|
|
|
|
+ cpointerdef.getreusable(left.resultdef),
|
|
|
|
+ cpointerdef.getreusable(resultdef),
|
|
|
|
+ location.reference);
|
|
|
|
+ end;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+
|
|
procedure tllvmtypeconvnode.second_nil_to_methodprocvar;
|
|
procedure tllvmtypeconvnode.second_nil_to_methodprocvar;
|
|
var
|
|
var
|
|
href: treference;
|
|
href: treference;
|