- for (p = list_first_entry(h, typeof(*p), field), \
- n = list_entry(p->field.next, typeof(*p), field); &p->field != (h);\
- p = n, n = list_entry(n->field.next, typeof(*n), field))
+ for (p = list_first_entry(h, __typeof__(*p), field), \
+ n = list_entry(p->field.next, __typeof__(*p), field); &p->field != (h);\
+ p = n, n = list_entry(n->field.next, __typeof__(*n), field))