mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-13 10:59:18 +02:00
* support procvar^, with procvar returning a procvardef in tp/mac modes
git-svn-id: trunk@1477 -
This commit is contained in:
parent
b55645790b
commit
38993ae7e8
@ -1707,6 +1707,18 @@ implementation
|
|||||||
_CARET:
|
_CARET:
|
||||||
begin
|
begin
|
||||||
consume(_CARET);
|
consume(_CARET);
|
||||||
|
|
||||||
|
{ support tp/mac procvar^ if the procvar returns a
|
||||||
|
pointer type }
|
||||||
|
if ((m_tp_procvar in aktmodeswitches) or
|
||||||
|
(m_mac_procvar in aktmodeswitches)) and
|
||||||
|
(p1.resulttype.def.deftype=procvardef) and
|
||||||
|
(tprocvardef(p1.resulttype.def).rettype.def.deftype=pointerdef) then
|
||||||
|
begin
|
||||||
|
p1:=ccallnode.create_procvar(nil,p1);
|
||||||
|
resulttypepass(p1);
|
||||||
|
end;
|
||||||
|
|
||||||
if (p1.resulttype.def.deftype<>pointerdef) then
|
if (p1.resulttype.def.deftype<>pointerdef) then
|
||||||
begin
|
begin
|
||||||
{ ^ as binary operator is a problem!!!! (FK) }
|
{ ^ as binary operator is a problem!!!! (FK) }
|
||||||
@ -1717,9 +1729,7 @@ implementation
|
|||||||
p1:=cerrornode.create;
|
p1:=cerrornode.create;
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
begin
|
p1:=cderefnode.create(p1);
|
||||||
p1:=cderefnode.create(p1);
|
|
||||||
end;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
_LECKKLAMMER:
|
_LECKKLAMMER:
|
||||||
|
Loading…
Reference in New Issue
Block a user