[Intel-gfx] [PATCH i-g-t] lib/igt_aux.h: Cast is confusing old gcc

Abdiel Janulgue abdiel.janulgue at linux.intel.com
Wed Nov 30 08:35:49 UTC 2016



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 at linux.intel.com>

> 
> 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 at linux.intel.com>
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
> ---
>  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)
> 


More information about the Intel-gfx mailing list