Fix public headers inclusion from clients C++ code
authorIvan Maidanski <ivmai@mail.ru>
Thu, 8 Feb 2018 21:42:25 +0000 (00:42 +0300)
committerIvan Maidanski <ivmai@mail.ru>
Mon, 5 Mar 2018 21:35:49 +0000 (00:35 +0300)
commit35281c2dc04d606e721cb69c4724546c10ef036b
tree677a0354fac7cea0d7eb30242b6d778ef91a98cd
parent4f96072eabbc96466a197cc7a6836e9c0740468a
Fix public headers inclusion from clients C++ code

Put declarations of exported variables and non-inline functions into
extern "C" blocks.

* src/atomic_ops/sysdeps/emul_cas.h [__cplusplus]
(AO_fetch_compare_and_swap_emulation,
AO_compare_double_and_swap_double_emulation, AO_store_full_emulation):
Wrap the prototypes (but not included headers).
* src/atomic_ops/sysdeps/gcc/x86.h [AO_WEAK_DOUBLE_CAS_EMULATION
&& __cplusplus] (AO_compare_double_and_swap_double_emulation): Likewise.
* src/atomic_ops/sysdeps/generic_pthread.h [__cplusplus] (AO_pt_lock):
Likewise.
* src/atomic_ops/sysdeps/sunc/sparc.h [__cplusplus]
(AO_test_and_set_full): Likewise.
* src/atomic_ops_malloc.h [__cplusplus] (AO_free, AO_malloc,
AO_malloc_enable_mmap): Likewise.
* src/atomic_ops_stack.h [__cplusplus]
(AO_stack_push_explicit_aux_release,
AO_stack_pop_explicit_aux_acquire, AO_stack_init,
AO_stack_push_release, AO_stack_pop_acquire): Likewise.
* tests/test_atomic.c [AO_TEST_EMULATION && __cplusplus]
(AO_store_full_emulation, AO_fetch_compare_and_swap_emulation,
AO_compare_double_and_swap_double_emulation): Likewise.
* src/atomic_ops/sysdeps/msftc/common32_defs.h [_MSC_VER<1400
&& __cplusplus]: Adjust comment for the end of extern "C" block.
src/atomic_ops/sysdeps/emul_cas.h
src/atomic_ops/sysdeps/gcc/x86.h
src/atomic_ops/sysdeps/generic_pthread.h
src/atomic_ops/sysdeps/msftc/common32_defs.h
src/atomic_ops/sysdeps/sunc/sparc.h
src/atomic_ops_malloc.h
src/atomic_ops_stack.h
tests/test_atomic.c