[fpc-pascal] FPC 3.2.2 (In)complete Boolean Evaluation on 32bit MacOS

Pierre Muller pierre at freepascal.org
Mon Jun 7 23:59:33 CEST 2021


Hi all,


   I took the liberty to report a bug issue about this problem,
which I was able to reproduce on x86_64 3.2.2 release compiler.

See
https://bugs.freepascal.org/view.php?id=38973
for more details,

Thanks for reporting,

Pierre Muller


Le 30/05/2021 à 15:47, Tobias Giesen via fpc-pascal a écrit :
> 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
> 
> 
> _______________________________________________
> fpc-pascal maillist  -  fpc-pascal at lists.freepascal.org
> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
> 


More information about the fpc-pascal mailing list