Hi,

On 16 July 2016 at 08:42, Quentin Glidic
<[email protected]> wrote:
> On 11/07/2016 23:28, Emil Velikov wrote:
>> ::unicode will never be read (get_unicode) when it's invalid, since
>> ::state will equal to utf8state_reject (as set in utf8_next_char).
>> Seems like the compiler/optimiser cannot see that far, thus throws a
>> warning message.
>>
>> With anything vaguely like the above in the commit message, the patch is
>> Reviewed-by: Emil Velikov <[email protected]>
>
> I found it weird that the compiler wouldn’t see that, so I re-checked the
> code.
>
> I think with -O3, this specific "for" is compile-time unlooped, and
> utf8_next_char inlined.
> And there is *one* path that can keep machine.state to utf8state_start, thus
> triggering the warning.
>
> Without -O3, the function is globally tagged as “changing unicode”, so no
> warning is produced.
>
> I will let the pusher to choose what to include in the commit message, as I
> find the wording “silence” (and not “fix”) clear enough, though in this
> specific case, it could need an actual fix.
>
> Side note: I picked 0 as the default value, but maybe in this case 0xfffd
> would be better?

The reasoning here seems legitimate; I've included your text here and
downgraded Emil's R-b to an A-b accordingly. Fixing it would indeed
probably be better, but honestly, corner cases in terminal UTF-8
handling aren't really our biggest concern right now.

Cheers,
Daniel
_______________________________________________
wayland-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to