[Mesa-dev] [PATCH v2 1/2] virgl: Fix a strict-aliasing violation in the encoder

Emil Velikov emil.l.velikov at gmail.com
Tue Dec 6 13:36:07 UTC 2016


On 6 December 2016 at 11:30, Edward O'Callaghan
<funfunctor at folklore1984.net> wrote:
> As per the C spec, it is illegal to alias pointers to different
> types. This results in undefined behaviour after optimization
> passes, resulting in very subtle bugs that happen only on a
> full moon..
>
> Use a memcpy() as a well defined coercion between the double
> to uint64_t interpretations of the memory.
>
> V.2: Use static_assert() instead of assert().
>
The lowercase static_assert is a c11 feature. You want to use the all
caps version.
See commit 23d1799f7dd5f8d1e8aa9f4efa6b1a4ed45faaa0

We might want to use update the final vulkan [codebase] references, as well.

Thanks
Emil


More information about the mesa-dev mailing list