[Mesa-dev] [PATCH] i965: Fix union usage for GCC <= 4.6.
Matt Turner
mattst88 at gmail.com
Fri Dec 5 18:56:27 PST 2014
On Fri, Dec 5, 2014 at 6:18 PM, Vinson Lee <vlee at freedesktop.org> wrote:
> This patch fixes this build error with GCC <= 4.6.
>
> CXX test_vf_float_conversions.o
> test_vf_float_conversions.cpp: In function ‘unsigned int f2u(float)’:
> test_vf_float_conversions.cpp:63:20: error: expected primary-expression before ‘.’ token
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=86939
> Signed-off-by: Vinson Lee <vlee at freedesktop.org>
> ---
> .../drivers/dri/i965/test_vf_float_conversions.cpp | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/src/mesa/drivers/dri/i965/test_vf_float_conversions.cpp b/src/mesa/drivers/dri/i965/test_vf_float_conversions.cpp
> index 2ea36fd..6a8bcea 100644
> --- a/src/mesa/drivers/dri/i965/test_vf_float_conversions.cpp
> +++ b/src/mesa/drivers/dri/i965/test_vf_float_conversions.cpp
> @@ -60,7 +60,8 @@ union fu {
> static unsigned
> f2u(float f)
> {
> - union fu fu = { .f = f };
> + union fu fu;
> + fu.f = f;
> return fu.u;
> }
I'm surprised that this is necessary. Can someone point me to some
documentation that says that designated initializers for unions only
were added with gcc-4.7?
Jonathan, can you confirm that this is required? I suppose you didn't
notice because you didn't build with 'make check'?
More information about the mesa-dev
mailing list