ck_pr: Fix some strict aliasing issues and fix char neg.

ck_pring
Samy Al Bahra 14 years ago
parent 563e20a990
commit e1d33c467b

@ -31,7 +31,7 @@
#include <ck_cc.h> #include <ck_cc.h>
#include <ck_stdint.h> #include <ck_stdint.h>
#include <stdbool.h> #include <stdbool.h>
#include <limits.h> #include <ck_limits.h>
#if defined(__x86_64__) #if defined(__x86_64__)
#include "gcc/x86_64/ck_pr.h" #include "gcc/x86_64/ck_pr.h"
@ -39,6 +39,8 @@
#include "gcc/x86/ck_pr.h" #include "gcc/x86/ck_pr.h"
#elif defined(__sparcv9__) #elif defined(__sparcv9__)
#include "gcc/sparcv9/ck_pr.h" #include "gcc/sparcv9/ck_pr.h"
#elif defined(__ppc64__)
#include "gcc/ppc64/ck_pr.h"
#elif defined(__GNUC__) #elif defined(__GNUC__)
#include "gcc/ck_pr.h" #include "gcc/ck_pr.h"
#else #else
@ -447,7 +449,7 @@ CK_PR_BTX_S(bts, 16, uint16_t, |,)
previous = (T)punt; \ previous = (T)punt; \
while (ck_pr_cas_##S##_value(target, (C)previous, (C)(previous P 1), &previous) == false) \ while (ck_pr_cas_##S##_value(target, (C)previous, (C)(previous P 1), &previous) == false) \
ck_pr_stall(); \ ck_pr_stall(); \
*zero = previous == Z; \ *zero = previous == (T)Z; \
return; \ return; \
} }

Loading…
Cancel
Save