<div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Sat, Oct 13, 2018 at 3:08 AM Michael Van Canneyt <<a href="mailto:michael@freepascal.org">michael@freepascal.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Because introducing a type in a language and naming it after some library is<br>
not done. objcbool at least refers to another language.<br></blockquote><div><br></div><div>ObjC language doesn't have its own boolean type. </div><div>It's either C "_Bool" for ARM, or "a signed char" for Intel/PPC, with 1 for TRUE and 0 for FALSE.</div><div><br></div><div>So, in sources we could declare objcbool as such:</div><div>type</div><div> objcbool = {IFDEF ARM}Boolean{$ELSE}Bool???{$ENDIF};</div><div><br></div><div>Bool??? - what type? </div><div>ByteBool - doesn't fit, because it's true value is not false ($FF)<br></div><div>Boolean - doesn't fit, because it's _Bool type (and that makes difference for 64-bit, because passing parameters is different)</div><div>Boolean8 - doesn't fit, because it's just and alias to Boolean.</div><div>ShortInt or Byte - obviously don't fit, because they cannot accept boolean values. </div><div><br></div><div>thanks,<br></div><div>Dmitry</div></div></div>