mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-11 12:25:59 +02:00
* fixed seg(proc) in tp and delphi modes in all i8086 memory models
git-svn-id: trunk@38133 -
This commit is contained in:
parent
09995b820e
commit
e23a13a482
@ -144,19 +144,11 @@ implementation
|
|||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ In tp procvar mode the result is always a voidpointer. Insert
|
{ In tp procvar mode for methodpointers we need to load the proc field }
|
||||||
a typeconversion to voidpointer. For methodpointers we need
|
|
||||||
to load the proc field }
|
|
||||||
if (m_tp_procvar in current_settings.modeswitches) or
|
if (m_tp_procvar in current_settings.modeswitches) or
|
||||||
(m_mac_procvar in current_settings.modeswitches) then
|
(m_mac_procvar in current_settings.modeswitches) then
|
||||||
begin
|
begin
|
||||||
if tabstractprocdef(left.resultdef).is_addressonly then
|
if not tabstractprocdef(left.resultdef).is_addressonly then
|
||||||
begin
|
|
||||||
result:=ctypeconvnode.create_internal(left,tabstractprocdef(left.resultdef).address_type);
|
|
||||||
include(result.flags,nf_load_procvar);
|
|
||||||
left:=nil;
|
|
||||||
end
|
|
||||||
else
|
|
||||||
begin
|
begin
|
||||||
{ For procvars and for nested routines we need to return
|
{ For procvars and for nested routines we need to return
|
||||||
the proc field of the methodpointer }
|
the proc field of the methodpointer }
|
||||||
|
Loading…
Reference in New Issue
Block a user