From 19f0fb225a9db5c6913e735adbfa706e2e6a5b34 Mon Sep 17 00:00:00 2001 From: Przemyslaw Pawelczyk Date: Sat, 5 Jul 2014 01:11:34 +0200 Subject: [PATCH] Use __typeof instead of typeof. __typeof adheres to ISO C standard as it is reserved identifier [1], so it is collision-free and works in non-GNU mode as long as compiler supports it. [1] C99: "All identifiers that begin with an underscore and either an uppercase letter or another underscore are always reserved for any use." --- list.h | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/list.h b/list.h index 9db4c4f..8200a16 100644 --- a/list.h +++ b/list.h @@ -300,9 +300,9 @@ static inline void list_splice_init(struct list_head_t *list, * @member: the name of the list_struct within the struct. */ #define list_for_each_entry(pos, head, member) \ - for (pos = list_entry((head)->next, typeof(*pos), member); \ + for (pos = list_entry((head)->next, __typeof(*pos), member); \ &pos->member != (head); \ - pos = list_entry(pos->member.next, typeof(*pos), member)) + pos = list_entry(pos->member.next, __typeof(*pos), member)) /** * list_for_each_entry_reverse - iterate backwards over list of given type. @@ -311,9 +311,9 @@ static inline void list_splice_init(struct list_head_t *list, * @member: the name of the list_struct within the struct. */ #define list_for_each_entry_reverse(pos, head, member) \ - for (pos = list_entry((head)->prev, typeof(*pos), member); \ + for (pos = list_entry((head)->prev, __typeof(*pos), member); \ &pos->member != (head); \ - pos = list_entry(pos->member.prev, typeof(*pos), member)) + pos = list_entry(pos->member.prev, __typeof(*pos), member)) /** * list_prepare_entry - prepare a pos entry for use in list_for_each_entry_continue @@ -324,7 +324,7 @@ static inline void list_splice_init(struct list_head_t *list, * Prepares a pos entry for use as a start point in list_for_each_entry_continue. */ #define list_prepare_entry(pos, head, member) \ - ((pos) ? : list_entry(head, typeof(*pos), member)) + ((pos) ? : list_entry(head, __typeof(*pos), member)) /** * list_for_each_entry_continue - continue iteration over list of given type @@ -336,9 +336,9 @@ static inline void list_splice_init(struct list_head_t *list, * the current position. */ #define list_for_each_entry_continue(pos, head, member) \ - for (pos = list_entry(pos->member.next, typeof(*pos), member); \ + for (pos = list_entry(pos->member.next, __typeof(*pos), member); \ &pos->member != (head); \ - pos = list_entry(pos->member.next, typeof(*pos), member)) + pos = list_entry(pos->member.next, __typeof(*pos), member)) /** * list_for_each_entry_from - iterate over list of given type from the current point @@ -350,7 +350,7 @@ static inline void list_splice_init(struct list_head_t *list, */ #define list_for_each_entry_from(pos, head, member) \ for (; &pos->member != (head); \ - pos = list_entry(pos->member.next, typeof(*pos), member)) + pos = list_entry(pos->member.next, __typeof(*pos), member)) /** * list_for_each_entry_safe - iterate over list of given type safe against removal of list entry @@ -360,10 +360,10 @@ static inline void list_splice_init(struct list_head_t *list, * @member: the name of the list_struct within the struct. */ #define list_for_each_entry_safe(pos, n, head, member) \ - for (pos = list_entry((head)->next, typeof(*pos), member), \ - n = list_entry(pos->member.next, typeof(*pos), member); \ + for (pos = list_entry((head)->next, __typeof(*pos), member), \ + n = list_entry(pos->member.next, __typeof(*pos), member); \ &pos->member != (head); \ - pos = n, n = list_entry(n->member.next, typeof(*n), member)) + pos = n, n = list_entry(n->member.next, __typeof(*n), member)) /** * list_for_each_entry_safe_continue @@ -376,10 +376,10 @@ static inline void list_splice_init(struct list_head_t *list, * safe against removal of list entry. */ #define list_for_each_entry_safe_continue(pos, n, head, member) \ - for (pos = list_entry(pos->member.next, typeof(*pos), member), \ - n = list_entry(pos->member.next, typeof(*pos), member); \ + for (pos = list_entry(pos->member.next, __typeof(*pos), member), \ + n = list_entry(pos->member.next, __typeof(*pos), member); \ &pos->member != (head); \ - pos = n, n = list_entry(n->member.next, typeof(*n), member)) + pos = n, n = list_entry(n->member.next, __typeof(*n), member)) /** * list_for_each_entry_safe_from @@ -392,9 +392,9 @@ static inline void list_splice_init(struct list_head_t *list, * removal of list entry. */ #define list_for_each_entry_safe_from(pos, n, head, member) \ - for (n = list_entry(pos->member.next, typeof(*pos), member); \ + for (n = list_entry(pos->member.next, __typeof(*pos), member); \ &pos->member != (head); \ - pos = n, n = list_entry(n->member.next, typeof(*n), member)) + pos = n, n = list_entry(n->member.next, __typeof(*n), member)) /** * list_for_each_entry_safe_reverse @@ -407,9 +407,9 @@ static inline void list_splice_init(struct list_head_t *list, * of list entry. */ #define list_for_each_entry_safe_reverse(pos, n, head, member) \ - for (pos = list_entry((head)->prev, typeof(*pos), member), \ - n = list_entry(pos->member.prev, typeof(*pos), member); \ + for (pos = list_entry((head)->prev, __typeof(*pos), member), \ + n = list_entry(pos->member.prev, __typeof(*pos), member); \ &pos->member != (head); \ - pos = n, n = list_entry(n->member.prev, typeof(*n), member)) + pos = n, n = list_entry(n->member.prev, __typeof(*n), member)) #endif