mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-06-06 10:18:25 +02:00
* don't replace the vmt entries of unused published virtual methods with
references to FPC_ABSTRACTERROR when using -Owoptvmts, since these can also be called via rtti git-svn-id: trunk@13045 -
This commit is contained in:
parent
17e322cf57
commit
58f4f7829c
@ -1068,8 +1068,13 @@ unit optvirt;
|
|||||||
exit;
|
exit;
|
||||||
{ if it's for a vmtentry of an objdef and the objdef is
|
{ if it's for a vmtentry of an objdef and the objdef is
|
||||||
not instantiated, then we can fill the vmt with pointers
|
not instantiated, then we can fill the vmt with pointers
|
||||||
to FPC_ABSTRACTERROR
|
to FPC_ABSTRACTERROR, except for published methods
|
||||||
|
(these can be called via rtti, so always have to point
|
||||||
|
to the original method)
|
||||||
}
|
}
|
||||||
|
if forvmtentry and
|
||||||
|
(tprocdef(procdef).procsym.visibility=vis_published) then
|
||||||
|
exit;
|
||||||
if forvmtentry and
|
if forvmtentry and
|
||||||
(objdef.typ=objectdef) and
|
(objdef.typ=objectdef) and
|
||||||
not classdevirtinfo.instantiated and
|
not classdevirtinfo.instantiated and
|
||||||
|
Loading…
Reference in New Issue
Block a user