Merged into master, stable-0.8, stable-0.7. I edited the patch to use stdint.h types instead.
Thanks! Mathieu ----- On Aug 23, 2015, at 12:38 AM, Khem Raj raj.k...@gmail.com wrote: > This was unearthed by clang compiler where it complained about parameter > mismatch, gcc doesnt notice this > > urcu/uatomic/generic.h:190:10: error: address argument to atomic builtin > must be a pointer to integer or pointer ('void *' invalid) > return __sync_add_and_fetch_4(addr, val); > > Fixed all instances thusly > > Signed-off-by: Khem Raj <raj.k...@gmail.com> > --- > urcu/uatomic/generic.h | 40 ++++++++++++++++++++-------------------- > 1 file changed, 20 insertions(+), 20 deletions(-) > > diff --git a/urcu/uatomic/generic.h b/urcu/uatomic/generic.h > index 37f59cc..0046ffd 100644 > --- a/urcu/uatomic/generic.h > +++ b/urcu/uatomic/generic.h > @@ -65,17 +65,17 @@ unsigned long _uatomic_cmpxchg(void *addr, unsigned long > old, > switch (len) { > #ifdef UATOMIC_HAS_ATOMIC_BYTE > case 1: > - return __sync_val_compare_and_swap_1(addr, old, _new); > + return __sync_val_compare_and_swap_1((unsigned char *)addr, > old, _new); > #endif > #ifdef UATOMIC_HAS_ATOMIC_SHORT > case 2: > - return __sync_val_compare_and_swap_2(addr, old, _new); > + return __sync_val_compare_and_swap_2((unsigned short int > *)addr, old, _new); > #endif > case 4: > - return __sync_val_compare_and_swap_4(addr, old, _new); > + return __sync_val_compare_and_swap_4((unsigned int *)addr, old, > _new); > #if (CAA_BITS_PER_LONG == 64) > case 8: > - return __sync_val_compare_and_swap_8(addr, old, _new); > + return __sync_val_compare_and_swap_8((unsigned long *)addr, > old, _new); > #endif > } > _uatomic_link_error(); > @@ -100,20 +100,20 @@ void _uatomic_and(void *addr, unsigned long val, > switch (len) { > #ifdef UATOMIC_HAS_ATOMIC_BYTE > case 1: > - __sync_and_and_fetch_1(addr, val); > + __sync_and_and_fetch_1((unsigned char *)addr, val); > return; > #endif > #ifdef UATOMIC_HAS_ATOMIC_SHORT > case 2: > - __sync_and_and_fetch_2(addr, val); > + __sync_and_and_fetch_2((unsigned short int *)addr, val); > return; > #endif > case 4: > - __sync_and_and_fetch_4(addr, val); > + __sync_and_and_fetch_4((unsigned int *)addr, val); > return; > #if (CAA_BITS_PER_LONG == 64) > case 8: > - __sync_and_and_fetch_8(addr, val); > + __sync_and_and_fetch_8((unsigned long *)addr, val); > return; > #endif > } > @@ -139,20 +139,20 @@ void _uatomic_or(void *addr, unsigned long val, > switch (len) { > #ifdef UATOMIC_HAS_ATOMIC_BYTE > case 1: > - __sync_or_and_fetch_1(addr, val); > + __sync_or_and_fetch_1((unsigned char *)addr, val); > return; > #endif > #ifdef UATOMIC_HAS_ATOMIC_SHORT > case 2: > - __sync_or_and_fetch_2(addr, val); > + __sync_or_and_fetch_2((unsigned short int *)addr, val); > return; > #endif > case 4: > - __sync_or_and_fetch_4(addr, val); > + __sync_or_and_fetch_4((unsigned int *)addr, val); > return; > #if (CAA_BITS_PER_LONG == 64) > case 8: > - __sync_or_and_fetch_8(addr, val); > + __sync_or_and_fetch_8((unsigned long *)addr, val); > return; > #endif > } > @@ -180,17 +180,17 @@ unsigned long _uatomic_add_return(void *addr, unsigned > long val, > switch (len) { > #ifdef UATOMIC_HAS_ATOMIC_BYTE > case 1: > - return __sync_add_and_fetch_1(addr, val); > + return __sync_add_and_fetch_1((unsigned char *)addr, val); > #endif > #ifdef UATOMIC_HAS_ATOMIC_SHORT > case 2: > - return __sync_add_and_fetch_2(addr, val); > + return __sync_add_and_fetch_2((unsigned short int *)addr, val); > #endif > case 4: > - return __sync_add_and_fetch_4(addr, val); > + return __sync_add_and_fetch_4((unsigned int *)addr, val); > #if (CAA_BITS_PER_LONG == 64) > case 8: > - return __sync_add_and_fetch_8(addr, val); > + return __sync_add_and_fetch_8((unsigned long *)addr, val); > #endif > } > _uatomic_link_error(); > @@ -218,7 +218,7 @@ unsigned long _uatomic_exchange(void *addr, unsigned long > val, int len) > > do { > old = uatomic_read((unsigned char *)addr); > - } while (!__sync_bool_compare_and_swap_1(addr, old, val)); > + } while (!__sync_bool_compare_and_swap_1((unsigned char *)addr, > old, val)); > > return old; > } > @@ -230,7 +230,7 @@ unsigned long _uatomic_exchange(void *addr, unsigned long > val, int len) > > do { > old = uatomic_read((unsigned short *)addr); > - } while (!__sync_bool_compare_and_swap_2(addr, old, val)); > + } while (!__sync_bool_compare_and_swap_2((unsigned short int > *)addr, old, > val)); > > return old; > } > @@ -241,7 +241,7 @@ unsigned long _uatomic_exchange(void *addr, unsigned long > val, int len) > > do { > old = uatomic_read((unsigned int *)addr); > - } while (!__sync_bool_compare_and_swap_4(addr, old, val)); > + } while (!__sync_bool_compare_and_swap_4((unsigned int *)addr, > old, val)); > > return old; > } > @@ -252,7 +252,7 @@ unsigned long _uatomic_exchange(void *addr, unsigned long > val, int len) > > do { > old = uatomic_read((unsigned long *)addr); > - } while (!__sync_bool_compare_and_swap_8(addr, old, val)); > + } while (!__sync_bool_compare_and_swap_8((unsigned long *)addr, > old, val)); > > return old; > } > -- > 2.1.4 > > > _______________________________________________ > lttng-dev mailing list > lttng-dev@lists.lttng.org > http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev -- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com _______________________________________________ lttng-dev mailing list lttng-dev@lists.lttng.org http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev