* fixed debug info generation for static symbols + IE in case it cannot

be generated (rather than an undefined function result)

git-svn-id: trunk@6187 -
This commit is contained in:
Jonas Maebe 2007-01-25 17:07:26 +00:00
parent d3ea2fa9e3
commit e541f19ef5

View File

@ -1132,13 +1132,19 @@ implementation
function tfieldvarsym.mangledname:string; function tfieldvarsym.mangledname:string;
var var
srsym : tsym; srsym : tsym;
srsymtable : TSymtable; srsymtable : tsymtable;
begin begin
if sp_static in symoptions then if sp_static in symoptions then
begin begin
searchsym(lower(owner.name^)+'_'+name,srsym,srsymtable); if searchsym(lower(owner.name^)+'_'+name,srsym,srsymtable) then
if assigned(srsym) then result:=srsym.mangledname
result:=srsym.mangledname; { when generating the debug info for the module in which the }
{ symbol is defined, the localsymtable of that module is }
{ already popped from the symtablestack }
else if searchsym_in_module(current_module,lower(owner.name^)+'_'+name,srsym,srsymtable) then
result:=srsym.mangledname
else
internalerror(2007012501);
end end
else else
result:=inherited mangledname; result:=inherited mangledname;