2548237983
This reverts upstream commit fd484be:
Atomics cleanup (#11)
We need to test exception specifiers but they're gone in C++17 so
compile the tests with an older version of the standard.
Rewrite the guard logic to be more idiomatic C++ and more
comprehensible and make sure that atomics are used where necessary.
It looks like there are some corner cases in the i386 and/or 32-bit
atomics handling, which can make __cxa_guard_acquire() hang in certain
situations.
Reported by: antoine
Obtained from: https://github.com/libcxxrt/libcxxrt/commit/fd484be
Fixes:
|
||
---|---|---|
.. | ||
abi_namespace.h | ||
atomic.h | ||
auxhelper.cc | ||
cxxabi.h | ||
dwarf_eh.h | ||
dynamic_cast.cc | ||
exception.cc | ||
FREEBSD-upgrade | ||
guard.cc | ||
libelftc_dem_gnu3.c | ||
LICENSE | ||
memory.cc | ||
noexception.cc | ||
stdexcept.cc | ||
stdexcept.h | ||
terminate.cc | ||
typeinfo.cc | ||
typeinfo.h | ||
unwind-arm.h | ||
unwind-itanium.h | ||
unwind.h |