mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-19 23:19:24 +02:00
* typecast second_proc_to_procvar() results for llvm if the generic code
performed a simple location_copy() from one complex procvar type to another git-svn-id: trunk@32426 -
This commit is contained in:
parent
8cebb76572
commit
72c7cb2770
@ -45,7 +45,7 @@ interface
|
||||
procedure second_int_to_real;override;
|
||||
{ procedure second_real_to_real;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_bool_to_int;override;
|
||||
procedure second_int_to_bool;override;
|
||||
@ -155,6 +155,22 @@ procedure tllvmtypeconvnode.second_int_to_real;
|
||||
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;
|
||||
var
|
||||
href: treference;
|
||||
|
Loading…
Reference in New Issue
Block a user