On 11/29/2016 10:06 PM, Rodrigo Vivi wrote: > I noticed in some machines igt compilation was breaking > after igt_dummyload was introduced. > > I don't know exactly why, but it seems this cast seems to let > old gcc a bit confused. Without the cast everything works > properly. Thanks, this is how kernel's LIST_HEAD_INIT looks like anyway Reviewed-by: Abdiel Janulgue <abdiel.janulgue@xxxxxxxxxxxxxxx> > > Compilation Error log: > CC igt_dummyload.lo > In file included from igt.h:30:0, > from igt_dummyload.c:25: > igt_aux.h:288:39: error: initializer element is not constant > #define __IGT_INIT_LIST(name) (struct igt_list){ &(name), &(name) } > ^ > igt_aux.h:289:47: note: in expansion of macro ‘__IGT_INIT_LIST’ > #define IGT_LIST(name) struct igt_list name = __IGT_INIT_LIST(name); > ^ > igt_dummyload.c:50:8: note: in expansion of macro ‘IGT_LIST’ > static IGT_LIST(spin_list); > ^ > make[4]: *** [igt_dummyload.lo] Error 1 > > Cc: Abdiel Janulgue <abdiel.janulgue@xxxxxxxxxxxxxxx> > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> > --- > lib/igt_aux.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/lib/igt_aux.h b/lib/igt_aux.h > index 177bd1d..6989448 100644 > --- a/lib/igt_aux.h > +++ b/lib/igt_aux.h > @@ -285,7 +285,7 @@ struct igt_list { > struct igt_list *next; > }; > > -#define __IGT_INIT_LIST(name) (struct igt_list){ &(name), &(name) } > +#define __IGT_INIT_LIST(name) { &(name), &(name) } > #define IGT_LIST(name) struct igt_list name = __IGT_INIT_LIST(name); > > static inline void igt_list_init(struct igt_list *list) > _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx