Subject: bug#46670: 28.0.50; [feature/native-comp] possible miscompilation affecting lsp-mode

From: Andrea Corallo <[email-masked]>
Date: Mon, 22 Feb 2021 11:23:49 +0000

Pip Cet <[email-masked]> writes:

> On Mon, Feb 22, 2021 at 10:04 AM Pip Cet <[email-masked]> wrote:
>
>> > BTW applying your patch
>> > is breaking quite some of the comp-tests-ret-type-spec-* tests :)
>>
>> Where do you keep those?
>
> Oh, I see, they're written as though they tested comp.c.
>
> At a quick glance, the test results aren't actually incorrect, they're
> merely missed optimizations.

Correct, note these is not only about potentially missed optimizations,
we expose the derived return type with `subr-type' and in the future we
might give it even more visibility (like using it it in the C-h f
output).

> (Except for this one:
>
>       ((defun comp-tests-ret-type-spec-f (x)
>          (unless (symbolp x)
>            x))
>        (not symbol))
>
> If I'm reading that correctly, it tests that (unless (symbolp x) x)
> isn't a symbol, which it usually is)

Yep, it verifies that this function has as inferred return type (not
symbol).

  Andrea