Further atomic ops portability improvements and bug fixes.
Andres Freund <andres@anarazel.de>
Further atomic ops portability improvements and bug fixes. * Don't play tricks for a more efficient pg_atomic_clear_flag() in the generic gcc implementation. The old version was broken on gcc < 4.7 on !x86 platforms. Per buildfarm member chipmunk. * Make usage of __atomic() fences depend on HAVE_GCC__ATOMIC_INT32_CAS instead of HAVE_GCC__ATOMIC_INT64_CAS - there's platforms with 32bit support that don't support 64bit atomics. * Blindly fix two superflous #endif in generic-xlc.h * Check for --disable-atomics in platforms but x86.
Files
| Path | Change | +/− |
|---|---|---|
| src/include/port/atomics/arch-x86.h | modified | +13 −0 |
| src/include/port/atomics/generic-acc.h | modified | +10 −1 |
| src/include/port/atomics/generic-gcc.h | modified | +4 −10 |
| src/include/port/atomics/generic-msvc.h | modified | +8 −0 |
| src/include/port/atomics/generic-sunpro.h | modified | +8 −0 |
| src/include/port/atomics/generic-xlc.h | modified | +8 −2 |