mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-13 23:59:10 +02:00
* immediately register interface defs so their defid cannot vary depending
on the implementation (which would change the interface crc, even though the interface didn't change) git-svn-id: trunk@32171 -
This commit is contained in:
parent
dc6119bab7
commit
9c0d550320
@ -1675,7 +1675,20 @@ implementation
|
|||||||
exit;
|
exit;
|
||||||
{ Register in symtable stack }
|
{ Register in symtable stack }
|
||||||
if doregister then
|
if doregister then
|
||||||
maybe_put_in_symtable_stack;
|
begin
|
||||||
|
{ immediately register interface defs, as they will always be
|
||||||
|
written to the ppu, their defid inlfuences the interface crc and
|
||||||
|
if we wait, depending on e.g. compiler defines they may get a
|
||||||
|
different defid (e.g. when a function is called, its procdef is
|
||||||
|
registered, so depending on whether or not, or when, an interface
|
||||||
|
procedure is called in the implementation, that may change its
|
||||||
|
defid otherwise) }
|
||||||
|
if assigned(current_module) and
|
||||||
|
current_module.in_interface then
|
||||||
|
register_def
|
||||||
|
else
|
||||||
|
maybe_put_in_symtable_stack;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user