On Fri, Oct 12, 2018 at 1:07 PM Sven Barth via fpc-devel <
fpc-devel@lists.freepascal.org> wrote:

> Dmitry Boyarintsev <skalogryz.li...@gmail.com> schrieb am Fr., 12. Okt.
> 2018, 17:26:
>
>> Maybe "Boolean8"  type should help instead?
>> David, could you please test with Boolean8 instead of ByteBool?
>>
>
> Boolean8 is an alias to Boolean. But if you need to work with 1 and 0, but
> have 4 Byte width then you could try Boolean32.
>

Hmm, this is odd.
https://www.freepascal.org/docs-html/ref/refsu4.html
Boolean8, size=1, ord=1
"In addition to the simple Boolean type, the additional Boolean8,
Boolean16, Boolean32 and Boolean64 types exist. There are in fact integer
types, which are assignment-compatible with the simple boolean type. As an
integer, the values for True and False are 1 and 0. This can be used to
interfac with C code that defines a boolean of this size with values 0 and
1."

Boolean8 is not exactly an alias to Boolean, as it's expected to act as an
integer, rather than _Bool. (and would be expected? to be passed an
integer).
However, fpc 3.0.4 doesn't have Boolean8 as builtin type. Instead it
provides Boolean16+ only.  Maybe it's available in trunk only.

thanks,
Dmitry
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to