ir_constant_visitor: Use 'union ir_constant_data' instead of open-coded version
authorIan Romanick <ian.d.romanick@intel.com>
Fri, 11 Jun 2010 22:49:49 +0000 (15:49 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Fri, 11 Jun 2010 22:49:49 +0000 (15:49 -0700)
ir_constant_expression.cpp

index a3ce6e7e591ef6ff0a76da281dd37bc661f07252..4c92478db1d49160227c42437bb7ae50e4b9c04d 100644 (file)
@@ -558,11 +558,7 @@ ir_constant_visitor::visit(ir_swizzle *ir)
    this->value = NULL;
 
    if (v != NULL) {
-      union {
-        float f[4];
-        unsigned u[4];
-        bool b[4];
-      } data;
+      ir_constant_data data;
 
       const unsigned swiz_idx[4] = {
         ir->mask.x, ir->mask.y, ir->mask.z, ir->mask.w
@@ -615,10 +611,7 @@ ir_constant_visitor::visit(ir_dereference_array *ir)
          */
         const unsigned mat_idx = column * column_type->vector_elements;
 
-        union {
-           unsigned u[4];
-           float f[4];
-        } data;
+        ir_constant_data data;
 
         switch (column_type->base_type) {
         case GLSL_TYPE_UINT: