|
@@ -313,7 +313,7 @@ implementation
|
|
|
(symtable.symtablelevel<>current_procinfo.procdef.localst.symtablelevel) or
|
|
|
(current_procinfo.procdef.proctypeoption=potype_unitfinalize)
|
|
|
) then
|
|
|
- make_not_regable(self,[ra_addr_taken]);
|
|
|
+ make_not_regable(self,[ra_different_scope]);
|
|
|
resultdef:=tabstractvarsym(symtableentry).vardef;
|
|
|
if vo_is_thread_var in tstaticvarsym(symtableentry).varoptions then
|
|
|
result:=handle_threadvar_access;
|
|
@@ -335,7 +335,7 @@ implementation
|
|
|
exclude(tprocdef(symtable.defowner).procoptions,po_inline);
|
|
|
{ reference in nested procedures, variable needs to be in memory }
|
|
|
{ and behaves as if its address escapes its parent block }
|
|
|
- make_not_regable(self,[ra_addr_taken]);
|
|
|
+ make_not_regable(self,[ra_different_scope]);
|
|
|
end;
|
|
|
resultdef:=tabstractvarsym(symtableentry).vardef;
|
|
|
{ self for objects is passed as var-parameter on the caller
|