Further atomic ops portability improvements and bug fixes.
authorAndres Freund <andres@anarazel.de>
Fri, 26 Sep 2014 13:55:44 +0000 (15:55 +0200)
committerAndres Freund <andres@anarazel.de>
Fri, 26 Sep 2014 13:55:44 +0000 (15:55 +0200)
commitf9f07411a5b879b232ade66fece7071bd2eb5c26
treecf7d7a9093dc59235ca9648afd75895242f18886
parenta30199b01bd4b06bd13484baefb5f2f411ce14f4
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.
src/include/port/atomics/arch-x86.h
src/include/port/atomics/generic-acc.h
src/include/port/atomics/generic-gcc.h
src/include/port/atomics/generic-msvc.h
src/include/port/atomics/generic-sunpro.h
src/include/port/atomics/generic-xlc.h