[fpc-devel] SizeOf( const typcasted as shortstring)

Dmitry Boyarintsev skalogryz.lists at gmail.com
Mon Aug 13 00:12:27 CEST 2018


On Sun, Aug 12, 2018 at 5:40 PM Bart <bartjunk64 at gmail.com> wrote:

> const
>   x = ShortString('abc');
> begin
>   writeln(SizeOf(x));
> end.
>
> Delphi (7) prints 256, fpc prints 3.
>
> Is that a bug or an implementation detail?
>

Implementation detail.
And it seems to be wrong on Delphi size, because for reason it assigns a
type to a (non-typed) constant.
It would make sense to return 256, if the constant was declared like this:
const
   x : ShortString = 'abc';
and fpc does recognize such typed constant as 256 in size.

It's odd that such expression compiles w/o any warnings or notes. (i.e.
"ignoring typecasting for constant value expressions")

thanks,
Dmitry
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20180812/822214eb/attachment.html>


More information about the fpc-devel mailing list