From 4f0a30f4e05e140e1325784195e79c5ec62c689c Mon Sep 17 00:00:00 2001 From: Christine Caulfield Date: Mon, 17 Feb 2020 16:28:57 +0000 Subject: [PATCH] list: fix list handling for gcc10 --- configure.ac | 1 - include/qb/qblist.h | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index ec8736cbf..108b2f188 100644 --- a/configure.ac +++ b/configure.ac @@ -601,7 +601,6 @@ WARNLIST=" suggest-attribute=format property-attribute-mismatch strict-prototypes - pointer-arith write-strings cast-align bad-function-cast diff --git a/include/qb/qblist.h b/include/qb/qblist.h index e3ae3f180..8064c874e 100644 --- a/include/qb/qblist.h +++ b/include/qb/qblist.h @@ -193,8 +193,8 @@ static inline void qb_list_splice_tail(struct qb_list_head *list, * @param type: the type of the struct this is embedded in. * @param member: the name of the list_struct within the struct. */ -#define qb_list_entry(ptr,type,member)\ - ((type *)((char *)(ptr)-(char*)(&((type *)0)->member))) +#define qb_list_entry(ptr,type,member) ({ \ + ((type *)((void*)ptr - offsetof(type, member))); }) /** * Get the first element from a list