[fpc-pascal] FPC 3.2.2 (In)complete Boolean Evaluation on 32bit MacOS
Tobias Giesen
tobiasgiesen at gmail.com
Sun May 30 15:47:35 CEST 2021
Hello,
it seems that the newest 32-bit FPC sometimes creates complete Boolean Evaluation
rather than partial, which causes my application to crash. My context is like this:
type BOOL=LongBool;
PBOOL=^LongBool;
function DoSomething(const Cancel:PBOOL=nil);
begin
if Assigned(Cancel) and Cancel^ then
Exit;
end;
This crashes because Cancel and Cancel^ are always evaluated, even if Cancel is nil.
It works fine in 64-bit.
Is this a known problem?
Cheers,
Tobias
More information about the fpc-pascal
mailing list