[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#42360: [feature/native-comp] miscompilation(?) of functions with non
From: |
Eli Zaretskii |
Subject: |
bug#42360: [feature/native-comp] miscompilation(?) of functions with non local exits |
Date: |
Wed, 15 Jul 2020 17:25:11 +0300 |
> From: Andrea Corallo <akrl@sdf.org>
> Cc: Eli Zaretskii <eliz@gnu.org>, Stefan Monnier <monnier@iro.umontreal.ca>
> Date: Wed, 15 Jul 2020 08:24:00 +0000
>
> ===
> (let (x)
> (ignore-errors
> (setq x t)
> (error "foo"))
> x)
> ===
>
> Three options:
>
> 1- Because setq is evaluated the expression should always evaluate to
> t.
>
> 2- Unwinding the original state of the stack is restored, when it was
> saved 'x' was nil so the expression should evaluate to nil.
>
> 3- This is unspecified.
>
> The current stock implementaion does always 1 so I'm prone to just go
> for it but I wanted to double check to be on the safe side.
I tend to alternative 1 as well.