> On Aug 24, 2015, at 9:24 AM, Mathieu Desnoyers > <mathieu.desnoy...@efficios.com> wrote: > > Merged into master, stable-0.8, stable-0.7. > > I edited the patch to use stdint.h types instead. >
ah yes. thats better. > 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
signature.asc
Description: Message signed with OpenPGP using GPGMail
_______________________________________________ lttng-dev mailing list lttng-dev@lists.lttng.org http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev