HAYASHI Kentaro
null+****@clear*****
Sun Nov 2 19:47:33 JST 2014
HAYASHI Kentaro 2014-11-02 19:47:33 +0900 (Sun, 02 Nov 2014) New Revision: ee5c762c4b8d598d9568f1bc707a14a149b8deca https://github.com/groonga/groonga/commit/ee5c762c4b8d598d9568f1bc707a14a149b8deca Message: Add missing atomic operations which supports GCC atomic builtins By this change, Groonga works on armhf platform now! Note that it needs GCC 4.8 to build. GCC 4.6/4.7/4.9 may fails. Modified files: lib/grn.h Modified: lib/grn.h (+5 -0) =================================================================== --- lib/grn.h 2014-11-02 18:45:39 +0900 (ebc1af4) +++ lib/grn.h 2014-11-02 19:47:33 +0900 (ee1fe3d) @@ -508,6 +508,11 @@ typedef int grn_cond; /* todo */ # define GRN_BIT_SCAN_REV(v,r) for (r = 31; r && !((1 << r) & v); r--) # define GRN_BIT_SCAN_REV0(v,r) GRN_BIT_SCAN_REV(v,r) +# elif defined(__ATOMIC_SEQ_CST) /* GCC atomic builtins */ +# define GRN_ATOMIC_ADD_EX(p,i,r) \ + (r = __atomic_fetch_add(p, i, __ATOMIC_SEQ_CST)) +# define GRN_BIT_SCAN_REV(v,r) for (r = 31; r && !((1 << r) & v); r--) +# define GRN_BIT_SCAN_REV0(v,r) GRN_BIT_SCAN_REV(v,r) # else /* ATOMIC ADD */ /* todo */ # define GRN_BIT_SCAN_REV(v,r) for (r = 31; r && !((1 << r) & v); r--) -------------- next part -------------- HTML����������������������������...Download