nir: Avoid C99 field initializers.
authorJose Fonseca <jfonseca@vmware.com>
Thu, 28 Apr 2016 11:17:42 +0000 (12:17 +0100)
committerJose Fonseca <jfonseca@vmware.com>
Thu, 28 Apr 2016 15:48:12 +0000 (16:48 +0100)
As they are not standard C++ and are not supported by MSVC C++ compiler.

Just have nir_imm_double match nir_imm_float above.

Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Reviewed-by: Sinclair Yeh <syeh@vmware.com>
src/compiler/nir/nir_builder.h

index a14f9ef..4fa9779 100644 (file)
@@ -117,9 +117,12 @@ nir_imm_float(nir_builder *build, float x)
 static inline nir_ssa_def *
 nir_imm_double(nir_builder *build, double x)
 {
-   nir_const_value v = { { .f64 = {x, 0, 0, 0} } };
-   nir_ssa_def *def = nir_build_imm(build, 1, 64, v);
-   return def;
+   nir_const_value v;
+
+   memset(&v, 0, sizeof(v));
+   v.f64[0] = x;
+
+   return nir_build_imm(build, 1, 64, v);
 }
 
 static inline nir_ssa_def *