Forum > Third party

Alternative set of string-to-int conversion routines

<< < (16/16)

avk:
Thank you, I would like to hope that there are still no contradictions here.

MarkMLl:

--- Quote from: MarkMLl on January 21, 2022, 04:49:00 pm ---
--- Quote from: PascalDragon on January 21, 2022, 03:51:40 pm ---One potential issue might be (not tested): the generic code is compiled without debug information, but code that uses it is compiled with and thus the specialization will have debug information as well. Thus when stepping through the latter code one might suddenly land in the generic code which one assumed is without debug information.

--- End quote ---

On the other hand, I invariably use a locally-built FPC+Lazarus and looking at my build log for FPC 3.2.0 I see

make NO_GDB=1 CPU_TARGET=i386 OPT='-V3.0.4 -O- -gl -Xs- -vt' all |/usr/local/bin/fpc-filter-vt

Lazarus+LCL though is built with default options, so it could be there.

I'll try to keep an eye open for what I think I've seen, and will report back.

--- End quote ---

I've caught it in the act. If a method is declared virtual+abstract and then overridden in a subclass, stepping into the method's implementation takes you through fpc_check_object_ext() which is in generic.inc. So it gives the impression that generic stuff is being pulled in, even if that's not in fact happening.

MarkMLl

PascalDragon:

--- Quote from: MarkMLl on February 01, 2022, 12:38:03 pm ---
--- Quote from: MarkMLl on January 21, 2022, 04:49:00 pm ---
--- Quote from: PascalDragon on January 21, 2022, 03:51:40 pm ---One potential issue might be (not tested): the generic code is compiled without debug information, but code that uses it is compiled with and thus the specialization will have debug information as well. Thus when stepping through the latter code one might suddenly land in the generic code which one assumed is without debug information.

--- End quote ---

On the other hand, I invariably use a locally-built FPC+Lazarus and looking at my build log for FPC 3.2.0 I see

make NO_GDB=1 CPU_TARGET=i386 OPT='-V3.0.4 -O- -gl -Xs- -vt' all |/usr/local/bin/fpc-filter-vt

Lazarus+LCL though is built with default options, so it could be there.

I'll try to keep an eye open for what I think I've seen, and will report back.

--- End quote ---

I've caught it in the act. If a method is declared virtual+abstract and then overridden in a subclass, stepping into the method's implementation takes you through fpc_check_object_ext() which is in generic.inc. So it gives the impression that generic stuff is being pulled in, even if that's not in fact happening.

--- End quote ---

Well, not everything that's named “generic” does involve generics. ;)

Though I wonder why it steps through fpc_check_object_check? Do you have the RTL compiled with debug information?

Sidenote: This check is only active if either object checks or range checks are enabled

MarkMLl:

--- Quote from: PascalDragon on February 01, 2022, 01:38:03 pm ---Well, not everything that's named “generic” does involve generics. ;)

Note that I'm not complaining- particularly while I can see what I've seen.


--- Quote ---Though I wonder why it steps through fpc_check_object_check? Do you have the RTL compiled with debug information?

--- End quote ---

Compiled with -O- -gl -Xs- which I presume would be sufficient... that's a legacy of when I'd also got SPARC etc. running years ago and some things were a bit less than robust.


--- Quote ---Sidenote: This check is only active if either object checks or range checks are enabled

--- End quote ---

Also enabled at the project level, although probably not for the LCL etc.

MarkMLl

--- End quote ---

avk:
This is of course so important for the current topic.

I don't even know how to thank you.

Navigation

[0] Message Index

[*] Previous page

Go to full version