From ba0c0e3940c904cd88d51a0dafc41cd91723877c Mon Sep 17 00:00:00 2001 From: Jose Fonseca Date: Wed, 13 Apr 2016 18:19:50 +0100 Subject: [PATCH] nir: Avoid structure initalization expressions. Not supported by MSVC, and completely unnecessary -- inline functions work just as well. NIR_SRC_INIT/NIR_DEST_INIT could and probably should be replaced by the inline functions. Acked-by: Jason Ekstrand Reviewed-by: Jose Fonseca --- src/compiler/nir/nir.h | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h index 4a66e8b0d3e..8067b4189a7 100644 --- a/src/compiler/nir/nir.h +++ b/src/compiler/nir/nir.h @@ -502,7 +502,14 @@ typedef struct nir_src { bool is_ssa; } nir_src; -#define NIR_SRC_INIT (nir_src) { { NULL } } +static inline nir_src +nir_src_init(void) +{ + nir_src src = { { NULL } }; + return src; +} + +#define NIR_SRC_INIT nir_src_init() #define nir_foreach_use(reg_or_ssa_def, src) \ list_for_each_entry(nir_src, src, &(reg_or_ssa_def)->uses, use_link) @@ -525,7 +532,14 @@ typedef struct { bool is_ssa; } nir_dest; -#define NIR_DEST_INIT (nir_dest) { { { NULL } } } +static inline nir_dest +nir_dest_init(void) +{ + nir_dest dest = { { { NULL } } }; + return dest; +} + +#define NIR_DEST_INIT nir_dest_init() #define nir_foreach_def(reg, dest) \ list_for_each_entry(nir_dest, dest, &(reg)->defs, reg.def_link) -- 2.30.2