mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-12-03 21:17:18 +01:00
* pass this to C++ methods always by reference
git-svn-id: trunk@7154 -
This commit is contained in:
parent
0b92495b77
commit
00076c1076
@ -408,6 +408,9 @@ implementation
|
|||||||
{ don't push a node that already generated a pointer type
|
{ don't push a node that already generated a pointer type
|
||||||
by address for implicit hidden parameters }
|
by address for implicit hidden parameters }
|
||||||
if (vo_is_funcret in parasym.varoptions) or
|
if (vo_is_funcret in parasym.varoptions) or
|
||||||
|
{ pass "this" in C++ classes explicitly as pointer
|
||||||
|
because push_addr_param might not be true for them }
|
||||||
|
(is_cppclass(parasym.vardef) and (vo_is_self in parasym.varoptions)) or
|
||||||
(not(left.resultdef.typ in [pointerdef,classrefdef]) and
|
(not(left.resultdef.typ in [pointerdef,classrefdef]) and
|
||||||
paramanager.push_addr_param(parasym.varspez,parasym.vardef,
|
paramanager.push_addr_param(parasym.varspez,parasym.vardef,
|
||||||
aktcallnode.procdefinition.proccalloption)) then
|
aktcallnode.procdefinition.proccalloption)) then
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user