Hi Oleg,

`process = @(2) : @(-1);` is incorrect because `@(-1)` is incorrect. The
optimisations made by the compiler should not change the correctness of the
compiled program. Therefore I think the current behavior of the compiler is
the right one.

Cheers

Yann

Le dim. 9 sept. 2018 à 18:30, Oleg Nesterov <o...@redhat.com> a écrit :

> Hi Yann,
>
> On 09/08, Yann Orlarey wrote:
> >
> > Hi,
> >
> > In principle, the problem should be solved in version 2.8.6. We have now
> a
> > pass of explicit casting before any optimization.
>
> and before simplify() ... FYI, the commit
> 95666e5028134f1d28aaf5976d26e386efeeba28
> ("Fix optimisation bug by adding explicit int or float cast when needed
> ...")
> adds another regression, this code
>
>         process = @(2) : @(-1);
>
> no longer compiles:
>
>         ERROR : possible negative values of : -1
>         used in delay expression : IN[0]@2@-1
>         interval(-1, -1)
>
> because (iiuc) infereSigType() is called before simplification.
>
>
> > This should prevent the
> > inadvertent mixing of integer and floating expressions during the
> > optimization phase. But more tests are welcome...
>
> Yes, that problem looks fixed.
>
> Oleg.
>
>
_______________________________________________
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users

Reply via email to