[Mesa-dev] [PATCH] i965: fix compiler error in union initiliazer

Pekka Paalanen ppaalanen at gmail.com
Thu Aug 14 11:23:36 PDT 2014


From: Pekka Paalanen <pekka.paalanen at collabora.co.uk>

gcc 4.6.3 chokes with the following error:

brw_vec4.cpp: In member function 'int brw::vec4_visitor::setup_uniforms(int)':
brw_vec4.cpp:1496:37: error: expected primary-expression before '.' token

Apparently C++ does not do named initializers for unions, except maybe
as a gcc extension, which is not present here.

As .f is the first element of the union, just drop it. Fixes the build
error.

Cc: Matt Turner <mattst88 at gmail.com>
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
---
 src/mesa/drivers/dri/i965/brw_vec4.cpp         | 2 +-
 src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_vec4.cpp b/src/mesa/drivers/dri/i965/brw_vec4.cpp
index 5f8f399..5d4a92c 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4.cpp
+++ b/src/mesa/drivers/dri/i965/brw_vec4.cpp
@@ -1493,7 +1493,7 @@ vec4_visitor::setup_uniforms(int reg)
          reralloc(NULL, stage_prog_data->param, const gl_constant_value *, 4);
       for (unsigned int i = 0; i < 4; i++) {
 	 unsigned int slot = this->uniforms * 4 + i;
-	 static gl_constant_value zero = { .f = 0.0 };
+	 static gl_constant_value zero = { 0.0 };
 	 stage_prog_data->param[slot] = &zero;
       }
 
diff --git a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
index 4863cae..ce64b30 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
+++ b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
@@ -695,7 +695,7 @@ vec4_visitor::setup_uniform_values(ir_variable *ir)
             components++;
          }
          for (; i < 4; i++) {
-            static gl_constant_value zero = { .f = 0.0 };
+            static gl_constant_value zero = { 0.0 };
             stage_prog_data->param[uniforms * 4 + i] = &zero;
          }
 
-- 
1.8.5.5



More information about the mesa-dev mailing list