[PATCH libinput 1/5] util: drop GCC specifics for container_of

Peter Hutterer peter.hutterer at who-t.net
Wed May 10 03:47:56 UTC 2017


clang supports __typeof__ which was the only real difference. Not sure any
other compilers matter (that don't support __typeof__)

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
 src/libinput-util.h | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/src/libinput-util.h b/src/libinput-util.h
index 4e97e011..a9a2b660 100644
--- a/src/libinput-util.h
+++ b/src/libinput-util.h
@@ -85,15 +85,9 @@ void list_insert(struct list *list, struct list *elm);
 void list_remove(struct list *elm);
 bool list_empty(const struct list *list);
 
-#ifdef __GNUC__
 #define container_of(ptr, sample, member)				\
 	(__typeof__(sample))((char *)(ptr)	-			\
 		 ((char *)&(sample)->member - (char *)(sample)))
-#else
-#define container_of(ptr, sample, member)				\
-	(void *)((char *)(ptr)	-				        \
-		 ((char *)&(sample)->member - (char *)(sample)))
-#endif
 
 #define list_for_each(pos, head, member)				\
 	for (pos = 0, pos = container_of((head)->next, pos, member);	\
-- 
2.12.2



More information about the wayland-devel mailing list