On Aug 26, 2025 at 3:49:43 AM, Nikolay Nikolov via fpc-devel < fpc-devel@lists.freepascal.org> wrote:
> But they're not 100% compatible, are they? IfThen evaluates both the true > and the false parameter, while the 'if' statement doesn't. For example: > > s := IfThen(b <> 0, a div b, 999) > > Will raise a division by zero exception, if b is 0, while > > s := if b <> 0 then a div b else 999 > > won't. > > Nikolay > I think if the call was inlined it wouldn’t but otherwise it would. FPC can’t reliably inline either so you wouldn’t want to risk that. If that’s a concern then IfThen could be an intrinsic. It’s basically just a macro to a if statement with an assignment. Extremely simple thing to implement.
_______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel