mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-05-25 16:42:56 +02:00
* Disallow placing hidden 'high' parameter in register if it will be accessed from implicit finally block (happens for <value open array of managed type> parameters).
git-svn-id: trunk@20072 -
This commit is contained in:
parent
88183dfcba
commit
898fbdcd26
@ -409,6 +409,11 @@ implementation
|
|||||||
hvs:=tparavarsym.create('$high'+name,paranr+1,vs_const,sinttype,[vo_is_high_para,vo_is_hidden_para]);
|
hvs:=tparavarsym.create('$high'+name,paranr+1,vs_const,sinttype,[vo_is_high_para,vo_is_hidden_para]);
|
||||||
hvs.symoptions:=[];
|
hvs.symoptions:=[];
|
||||||
owner.insert(hvs);
|
owner.insert(hvs);
|
||||||
|
{ don't place to register if it will be accessed from implicit finally block }
|
||||||
|
if (varspez=vs_value) and
|
||||||
|
is_open_array(vardef) and
|
||||||
|
is_managed_type(vardef) then
|
||||||
|
hvs.varregable:=vr_none;
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
|
Loading…
Reference in New Issue
Block a user