Mesa (master): i965: fix compiler error in union initiliazer

Pekka Paalanen pq at kemper.freedesktop.org
Thu Aug 14 18:32:54 UTC 2014


Module: Mesa
Branch: master
Commit: 972e87ca30b4c4b7f6269e5f9fe8c5cb6356f744
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=972e87ca30b4c4b7f6269e5f9fe8c5cb6356f744

Author: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Date:   Thu Aug 14 21:17:04 2014 +0300

i965: fix compiler error in union initiliazer

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.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Matt Turner <mattst88 at gmail.com>

---

 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;
          }
 




More information about the mesa-commit mailing list