[fpc-devel] if-then-else expression
Hairy Pixels
genericptr at gmail.com
Wed Aug 27 16:40:59 CEST 2025
On Aug 26, 2025 at 3:49:43 AM, Nikolay Nikolov via fpc-devel <
fpc-devel at 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20250827/04bb8707/attachment.htm>
More information about the fpc-devel
mailing list