Fix C++11 compatibility by renaming atomic_init().
Modified version of dim's patch, where most of the stuff moves into a REINPLACE_CMD called from post-patch. Submitted by: dim
This commit is contained in:
@@ -81,6 +81,7 @@ CONFIGURE_ARGS+= --enable-debug --enable-umrw
|
||||
|
||||
post-patch:
|
||||
${REINPLACE_CMD} -e '/^DOCLIST/{s/csharp//;}' ${WRKSRC}/../dist/Makefile.in
|
||||
${REINPLACE_CMD} -Ee 's/[[:<:]]atomic_init[[:>:]]/db_atomic_init/g' ${WRKSRC}/../src/mp/mp* ${WRKSRC}/../src/mutex/mut_*
|
||||
|
||||
post-install:
|
||||
.for i in libdb libdb_cxx libdb_stl ${libdb_sql} ${libdb_java}
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
--- ../src/dbinc/atomic.h.orig 2012-02-29 19:48:38.000000000 +0100
|
||||
+++ ../src/dbinc/atomic.h 2012-05-04 22:39:32.000000000 +0200
|
||||
@@ -70,7 +70,7 @@ typedef struct {
|
||||
* These have no memory barriers; the caller must include them when necessary.
|
||||
*/
|
||||
#define atomic_read(p) ((p)->value)
|
||||
-#define atomic_init(p, val) ((p)->value = (val))
|
||||
+#define db_atomic_init(p, val) ((p)->value = (val))
|
||||
|
||||
#ifdef HAVE_ATOMIC_SUPPORT
|
||||
|
||||
@@ -144,7 +144,7 @@ typedef LONG volatile *interlocked_val;
|
||||
#define atomic_inc(env, p) __atomic_inc(p)
|
||||
#define atomic_dec(env, p) __atomic_dec(p)
|
||||
@@ -18,3 +27,12 @@
|
||||
db_atomic_t *p, atomic_value_t oldval, atomic_value_t newval)
|
||||
{
|
||||
atomic_value_t was;
|
||||
@@ -206,7 +206,7 @@ static inline int __atomic_compare_excha
|
||||
#define atomic_dec(env, p) (--(p)->value)
|
||||
#define atomic_compare_exchange(env, p, oldval, newval) \
|
||||
(DB_ASSERT(env, atomic_read(p) == (oldval)), \
|
||||
- atomic_init(p, (newval)), 1)
|
||||
+ db_atomic_init(p, (newval)), 1)
|
||||
#else
|
||||
#define atomic_inc(env, p) __atomic_inc(env, p)
|
||||
#define atomic_dec(env, p) __atomic_dec(env, p)
|
||||
|
||||
@@ -84,6 +84,7 @@ CONFIGURE_ARGS+= --enable-debug --enable-umrw
|
||||
|
||||
post-patch:
|
||||
${REINPLACE_CMD} -e '/^DOCLIST/{s/csharp//;}' ${WRKSRC}/../dist/Makefile.in
|
||||
${REINPLACE_CMD} -Ee 's/[[:<:]]atomic_init[[:>:]]/db_atomic_init/g' ${WRKSRC}/../src/mp/mp* ${WRKSRC}/../src/mutex/mut_*
|
||||
|
||||
post-install:
|
||||
.for i in libdb libdb_cxx libdb_stl ${libdb_sql} ${libdb_java}
|
||||
|
||||
20
databases/db6/files/patch-src_dbinc_atomic.h
Normal file
20
databases/db6/files/patch-src_dbinc_atomic.h
Normal file
@@ -0,0 +1,20 @@
|
||||
--- ../src/dbinc/atomic.h.orig 2012-02-29 19:48:38.000000000 +0100
|
||||
+++ ../src/dbinc/atomic.h 2012-05-04 22:39:32.000000000 +0200
|
||||
@@ -70,7 +70,7 @@ typedef struct {
|
||||
* These have no memory barriers; the caller must include them when necessary.
|
||||
*/
|
||||
#define atomic_read(p) ((p)->value)
|
||||
-#define atomic_init(p, val) ((p)->value = (val))
|
||||
+#define db_atomic_init(p, val) ((p)->value = (val))
|
||||
|
||||
#ifdef HAVE_ATOMIC_SUPPORT
|
||||
|
||||
@@ -206,7 +206,7 @@ static inline int __atomic_compare_excha
|
||||
#define atomic_dec(env, p) (--(p)->value)
|
||||
#define atomic_compare_exchange(env, p, oldval, newval) \
|
||||
(DB_ASSERT(env, atomic_read(p) == (oldval)), \
|
||||
- atomic_init(p, (newval)), 1)
|
||||
+ db_atomic_init(p, (newval)), 1)
|
||||
#else
|
||||
#define atomic_inc(env, p) __atomic_inc(env, p)
|
||||
#define atomic_dec(env, p) __atomic_dec(env, p)
|
||||
Reference in New Issue
Block a user