- typeof(*(p)) _________pold = (old); \
- typeof(*(p)) _________pnew = (_new); \
- typeof(*(p)) _________p1 = URCU_FORCE_CAST(typeof(*(p)), \
- rcu_cmpxchg_pointer_sym_bp(URCU_FORCE_CAST(void **, p),\
+ __typeof__(*(p)) _________pold = (old); \
+ __typeof__(*(p)) _________pnew = (_new); \
+ __typeof__(*(p)) _________p1 = URCU_FORCE_CAST(__typeof__(*(p)), \
+ rcu_cmpxchg_pointer_sym_bp(URCU_FORCE_CAST(void **, p), \