mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-13 07:34:28 +02:00
The sources of the Free Pascal compiler, RTL, packages and utilities.
See https://www.freepascal.org/ for more info.
![]() be copied on the caller instead of callee side o mark Darwin/Aarch64 as such a target (any AArch64 target will be like that normally, as its ABI specifies this behaviour) o don't mark by-reference value parameters on such targets as vo_has_local_copy, since a) they don't have one (the copy is on the caller side), and b) this ensures that all code handling such parameters automatically knows that they are still by reference after the init code has run o when making the copies on the caller side, don't increase the reference count for managed types except for variants, just like is done when making the copies on the callee side. This is because the reference count increasing code on the callee side only runs for non-assembler functions, and we cannot know 100% certain on the caller side whether the called function is assembler or not (e.g. in case of externally declared functions) o maybe over time we can reuse the Pascal code in tcallparanode.copy_value_by_ref_para to replace the equivalent code in hlcgobj and ncgutil also on the caller side for other targets git-svn-id: trunk@29870 - |
||
---|---|---|
compiler | ||
ide | ||
installer | ||
packages | ||
rtl | ||
tests | ||
utils | ||
.gitattributes | ||
.gitignore | ||
fpmake_add1.inc | ||
fpmake_proc1.inc | ||
fpmake.pp | ||
Makefile | ||
Makefile.fpc |