Dmitry Boyarintsev <skalogryz.li...@gmail.com> schrieb am Mo., 13. Aug. 2018, 00:12:
> On Sun, Aug 12, 2018 at 5:40 PM Bart <bartjun...@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") > Support for typecasts in untyped constants is by design and sometimes required, e.g. for unsigned 64-Bit values. Regards, Sven >
_______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel