Now, BDB configure script tells me that bug reports should go to "Oracle Technology Network Berkeley DB forum", and this seems to be it.
Now, I'm trying to build BDB using clang 3.9.0 svn and using libc++ as the C++ runtime library. So far, it fails to compile libdb_cxx:
[code]
./libtool --mode=compile clang++ -c -I. -I../src -D_GNU_SOURCE -D_REENTRANT -march=skylake -fomit-frame-pointer -O2 -pipe ../lang/cxx/cxx_channel.cpp
libtool: compile: clang++ -c -I. -I../src -D_GNU_SOURCE -D_REENTRANT -march=skylake -fomit-frame-pointer -O2 -pipe ../lang/cxx/cxx_channel.cpp -fPIC -DPIC -o .libs/cxx_channel.o
In file included from ../lang/cxx/cxx_channel.cpp:13:
In file included from ./db_cxx.h:55:
In file included from /usr/bin/../include/c++/v1/iostream:38:
In file included from /usr/bin/../include/c++/v1/ios:216:
In file included from /usr/bin/../include/c++/v1/__locale:15:
In file included from /usr/bin/../include/c++/v1/string:442:
In file included from /usr/bin/../include/c++/v1/algorithm:634:
In file included from /usr/bin/../include/c++/v1/memory:618:
/usr/bin/../include/c++/v1/atomic:1059:27: error: too few arguments provided to function-like macro invocation
{__base::store(__d); return __d;}
^
./db.h:3002:9: note: macro 'store' defined here
#define store(a, b) __db_dbm_store(a, b)
^
In file included from ../lang/cxx/cxx_channel.cpp:13:
In file included from ./db_cxx.h:55:
In file included from /usr/bin/../include/c++/v1/iostream:38:
In file included from /usr/bin/../include/c++/v1/ios:216:
In file included from /usr/bin/../include/c++/v1/__locale:15:
In file included from /usr/bin/../include/c++/v1/string:442:
In file included from /usr/bin/../include/c++/v1/algorithm:634:
In file included from /usr/bin/../include/c++/v1/memory:618:
/usr/bin/../include/c++/v1/atomic:1062:27: error: too few arguments provided to function-like macro invocation
{__base::store(__d); return __d;}
^
./db.h:3002:9: note: macro 'store' defined here
#define store(a, b) __db_dbm_store(a, b)
^
In file included from ../lang/cxx/cxx_channel.cpp:13:
In file included from ./db_cxx.h:55:
In file included from /usr/bin/../include/c++/v1/iostream:38:
In file included from /usr/bin/../include/c++/v1/ios:216:
In file included from /usr/bin/../include/c++/v1/__locale:15:
In file included from /usr/bin/../include/c++/v1/string:442:
In file included from /usr/bin/../include/c++/v1/algorithm:634:
In file included from /usr/bin/../include/c++/v1/memory:618:
/usr/bin/../include/c++/v1/atomic:1079:27: error: too few arguments provided to function-like macro invocation
{__base::store(__d); return __d;}
^
./db.h:3002:9: note: macro 'store' defined here
#define store(a, b) __db_dbm_store(a, b)
^
In file included from ../lang/cxx/cxx_channel.cpp:13:
In file included from ./db_cxx.h:55:
In file included from /usr/bin/../include/c++/v1/iostream:38:
In file included from /usr/bin/../include/c++/v1/ios:216:
In file included from /usr/bin/../include/c++/v1/__locale:15:
In file included from /usr/bin/../include/c++/v1/string:442:
In file included from /usr/bin/../include/c++/v1/algorithm:634:
In file included from /usr/bin/../include/c++/v1/memory:618:
/usr/bin/../include/c++/v1/atomic:1082:27: error: too few arguments provided to function-like macro invocation
{__base::store(__d); return __d;}
^
./db.h:3002:9: note: macro 'store' defined here
#define store(a, b) __db_dbm_store(a, b)
^
In file included from ../lang/cxx/cxx_channel.cpp:13:
In file included from ./db_cxx.h:55:
In file included from /usr/bin/../include/c++/v1/iostream:38:
In file included from /usr/bin/../include/c++/v1/ios:216:
In file included from /usr/bin/../include/c++/v1/__locale:15:
In file included from /usr/bin/../include/c++/v1/string:442:
In file included from /usr/bin/../include/c++/v1/algorithm:634:
In file included from /usr/bin/../include/c++/v1/memory:618:
/usr/bin/../include/c++/v1/atomic:1148:13: error: expected unqualified-id
atomic_init(volatile atomic<_Tp>* __o, _Tp __d) _NOEXCEPT
^
/usr/bin/../include/c++/v1/atomic:1148:13: error: expected ')'
/usr/bin/../include/c++/v1/atomic:1148:1: note: to match this '('
atomic_init(volatile atomic<_Tp>* __o, _Tp __d) _NOEXCEPT
^
../src/dbinc/atomic.h:73:30: note: expanded from macro 'atomic_init'
#define atomic_init(p, val) ((p)->value = (val))
^
In file included from ../lang/cxx/cxx_channel.cpp:13:
In file included from ./db_cxx.h:55:
In file included from /usr/bin/../include/c++/v1/iostream:38:
In file included from /usr/bin/../include/c++/v1/ios:216:
In file included from /usr/bin/../include/c++/v1/__locale:15:
In file included from /usr/bin/../include/c++/v1/string:442:
In file included from /usr/bin/../include/c++/v1/algorithm:634:
In file included from /usr/bin/../include/c++/v1/memory:618:
/usr/bin/../include/c++/v1/atomic:1148:1: error: expected ')'
atomic_init(volatile atomic<_Tp>* __o, _Tp __d) _NOEXCEPT
^
../src/dbinc/atomic.h:73:33: note: expanded from macro 'atomic_init'
#define atomic_init(p, val) ((p)->value = (val))
^
/usr/bin/../include/c++/v1/atomic:1148:1: note: to match this '('
../src/dbinc/atomic.h:73:29: note: expanded from macro 'atomic_init'
#define atomic_init(p, val) ((p)->value = (val))
^
In file included from ../lang/cxx/cxx_channel.cpp:13:
In file included from ./db_cxx.h:55:
In file included from /usr/bin/../include/c++/v1/iostream:38:
In file included from /usr/bin/../include/c++/v1/ios:216:
In file included from /usr/bin/../include/c++/v1/__locale:15:
In file included from /usr/bin/../include/c++/v1/string:442:
In file included from /usr/bin/../include/c++/v1/algorithm:634:
In file included from /usr/bin/../include/c++/v1/memory:618:
/usr/bin/../include/c++/v1/atomic:1168:19: error: too few arguments provided to function-like macro invocation
__o->store(__d);
^
./db.h:3002:9: note: macro 'store' defined here
#define store(a, b) __db_dbm_store(a, b)
^
In file included from ../lang/cxx/cxx_channel.cpp:13:
In file included from ./db_cxx.h:55:
In file included from /usr/bin/../include/c++/v1/iostream:38:
In file included from /usr/bin/../include/c++/v1/ios:216:
In file included from /usr/bin/../include/c++/v1/__locale:15:
In file included from /usr/bin/../include/c++/v1/string:442:
In file included from /usr/bin/../include/c++/v1/algorithm:634:
In file included from /usr/bin/../include/c++/v1/memory:618:
/usr/bin/../include/c++/v1/atomic:1176:19: error: too few arguments provided to function-like macro invocation
__o->store(__d);
^
./db.h:3002:9: note: macro 'store' defined here
#define store(a, b) __db_dbm_store(a, b)
^
In file included from ../lang/cxx/cxx_channel.cpp:13:
In file included from ./db_cxx.h:55:
In file included from /usr/bin/../include/c++/v1/iostream:38:
In file included from /usr/bin/../include/c++/v1/ios:216:
In file included from /usr/bin/../include/c++/v1/__locale:15:
In file included from /usr/bin/../include/c++/v1/string:442:
In file included from /usr/bin/../include/c++/v1/algorithm:634:
In file included from /usr/bin/../include/c++/v1/memory:618:
/usr/bin/../include/c++/v1/atomic:1717:35: error: unknown type name 'atomic_flag'
atomic_flag_test_and_set(volatile atomic_flag* __o) _NOEXCEPT
^
/usr/bin/../include/c++/v1/atomic:1724:26: error: unknown type name 'atomic_flag'
atomic_flag_test_and_set(atomic_flag* __o) _NOEXCEPT
^
/usr/bin/../include/c++/v1/atomic:1731:44: error: unknown type name 'atomic_flag'
atomic_flag_test_and_set_explicit(volatile atomic_flag* __o, memory_order __m) _NOEXCEPT
^
/usr/bin/../include/c++/v1/atomic:1738:35: error: unknown type name 'atomic_flag'
atomic_flag_test_and_set_explicit(atomic_flag* __o, memory_order __m) _NOEXCEPT
^
/usr/bin/../include/c++/v1/atomic:1745:28: error: unknown type name 'atomic_flag'
atomic_flag_clear(volatile atomic_flag* __o) _NOEXCEPT
^
/usr/bin/../include/c++/v1/atomic:1752:19: error: unknown type name 'atomic_flag'
atomic_flag_clear(atomic_flag* __o) _NOEXCEPT
^
/usr/bin/../include/c++/v1/atomic:1759:37: error: unknown type name 'atomic_flag'
atomic_flag_clear_explicit(volatile atomic_flag* __o, memory_order __m) _NOEXCEPT
^
/usr/bin/../include/c++/v1/atomic:1766:28: error: unknown type name 'atomic_flag'
atomic_flag_clear_explicit(atomic_flag* __o, memory_order __m) _NOEXCEPT
^
17 errors generated.
make: *** [Makefile:2709: cxx_channel.lo] Error 1
[/code]