util: drop GCC specifics for container_of
authorPeter Hutterer <peter.hutterer@who-t.net>
Wed, 10 May 2017 02:29:47 +0000 (12:29 +1000)
committerPeter Hutterer <peter.hutterer@who-t.net>
Wed, 10 May 2017 02:30:50 +0000 (12:30 +1000)
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@who-t.net>
Reviewed-by: Armin Krezović <krezovic.armin@gmail.com>
Tested-by: Armin Krezović <krezovic.armin@gmail.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
src/libinput-util.h

index 4e97e01..a9a2b66 100644 (file)
@@ -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);    \