[fpc-devel] TDef flags
Sven Barth
pascaldragon at googlemail.com
Sun Jul 4 12:41:16 CEST 2021
Am 03.07.2021 um 15:01 schrieb J. Gareth Moreton via fpc-devel:
> Hi everyone,
>
> I'm trying to fix i38827, and am trying a few things. One thing I've
> noticed is that some specializations have both the df_generic and
> df_specialization flags set, and the def missing from the debug
> information that raises the linker error is one such def. Manually
> removing the df_generic fixes the problem (since the presence of the
> flag stops it from being written to the debug information), but is
> there a situation where a def can legitimately have both flags set?
>
> To guess, I would say if a generic has multiple parameters and not all
> of them are specialized, then that makes a def that's both, but then a
> fully specialized generic type shouldn't have the generic flag any
> more, right?
First of you *do not* modify defs when writing debug information.
Period. (except for fields that are *only* related to debug information)
Second df_generic is set for any def *inside* a generic. The TArray<T>
is a specialization inside a generic thus it will have both flags set.
Regards,
Sven
More information about the fpc-devel
mailing list