mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-20 10:45:08 +02:00
* fixed crash when current_procinfo was not yet available
This commit is contained in:
parent
6ffca1688e
commit
b5d1220bef
@ -269,19 +269,22 @@ implementation
|
||||
inc(tvarsym(symtableentry).refs);
|
||||
{ Nested variable? The we need to load the framepointer of
|
||||
the parent procedure }
|
||||
if (symtable.symtabletype in [localsymtable,parasymtable]) and
|
||||
(symtable.symtablelevel<>current_procinfo.procdef.parast.symtablelevel) then
|
||||
if assigned(current_procinfo) then
|
||||
begin
|
||||
if assigned(left) then
|
||||
internalerror(200309289);
|
||||
left:=cloadparentfpnode.create(tprocdef(symtable.defowner));
|
||||
{ reference in nested procedures, variable needs to be in memory }
|
||||
make_not_regable(self);
|
||||
if (symtable.symtabletype in [localsymtable,parasymtable]) and
|
||||
(symtable.symtablelevel<>current_procinfo.procdef.parast.symtablelevel) then
|
||||
begin
|
||||
if assigned(left) then
|
||||
internalerror(200309289);
|
||||
left:=cloadparentfpnode.create(tprocdef(symtable.defowner));
|
||||
{ reference in nested procedures, variable needs to be in memory }
|
||||
make_not_regable(self);
|
||||
end;
|
||||
{ static variables referenced in procedures, variable needs to be in memory }
|
||||
if (symtable.symtabletype=staticsymtable) and
|
||||
(symtable.symtablelevel<>current_procinfo.procdef.localst.symtablelevel) then
|
||||
make_not_regable(self);
|
||||
end;
|
||||
{ static variables referenced in procedures, variable needs to be in memory }
|
||||
if (symtable.symtabletype=staticsymtable) and
|
||||
(symtable.symtablelevel<>current_procinfo.procdef.parast.symtablelevel) then
|
||||
make_not_regable(self);
|
||||
{ fix self type which is declared as voidpointer in the
|
||||
definition }
|
||||
if vo_is_self in tvarsym(symtableentry).varoptions then
|
||||
@ -1163,7 +1166,10 @@ begin
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.133 2004-10-11 15:48:15 peter
|
||||
Revision 1.134 2004-10-12 14:35:14 peter
|
||||
* fixed crash when current_procinfo was not yet available
|
||||
|
||||
Revision 1.133 2004/10/11 15:48:15 peter
|
||||
* small regvar for para fixes
|
||||
* function tvarsym.is_regvar added
|
||||
* tvarsym.getvaluesize removed, use getsize instead
|
||||
|
Loading…
Reference in New Issue
Block a user