On 10/12/18 8:17 AM, Dmitry Boyarintsev wrote:
So, I'm wondering if it's actually a compiler issue or headers issue.
and can ByteBool be used as a substitute for signed char.
thanks,
Dmitry
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
Changing the header for NSMenuItem.setEnable(BOOL) to
NSMenuItem(ByteBool) results in the following code in
TCocoaWSmenuITem.setEnable:
0x1001ba67e <+70>: movq %rax, %rbx
0x1001ba681 <+73>: movq 0x329ef8(%rip), %rsi ; "setEnabled:"
0x1001ba688 <+80>: movb -0x10(%rbp), %al
0x1001ba68b <+83>: orb %al, %al
0x1001ba68d <+85>: setne %dl
0x1001ba690 <+88>: negb %dl
0x1001ba692 <+90>: movsbl %dl, %edx
0x1001ba695 <+93>: movq %rbx, %rdi
0x1001ba698 <+96>: callq 0x1002d23da ; symbol stub
for: objc
The movsbl %dl, %edx is good. Unfortunately the value of %edx is
0xffffffff not 0x00000001. This is the same result I saw when I changed
it to LongBool.
David
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel