This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Fix failures introduced by the atomic bits
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: libstdc++ at gcc dot gnu dot org, paolo dot carlini at oracle dot com
- Date: Sun, 19 Apr 2009 14:47:23 +0200
- Subject: Fix failures introduced by the atomic bits
Hi,
I managed to accidentally commit partial version stdatomic.h change yesterday.
While I noticed it on morning and added a changelog entry (since patch
was approved in meantime). I did not notice it was just partial version
of the patch.
This cause regressions:
XPASS: 26_numerics/headers/cmath/c99_classification_macros_c.cc (test for excess errors)
FAIL: 29_atomics/atomic_flag/test_and_set/explicit.c (test for excess errors)
WARNING: 29_atomics/atomic_flag/test_and_set/explicit.c compilation failed to produce executable
FAIL: 29_atomics/atomic_flag/test_and_set/implicit.c (test for excess errors)
WARNING: 29_atomics/atomic_flag/test_and_set/implicit.c compilation failed to produce executable
FAIL: 29_atomics/headers/stdatomic.h/debug_mode.c (test for excess errors)
FAIL: 29_atomics/headers/stdatomic.h/functions.c (test for excess errors)
FAIL: 29_atomics/headers/stdatomic.h/macros.c (test for excess errors)
FAIL: 29_atomics/headers/stdatomic.h/types.c (test for excess errors)
I am comitting the following patch to fix them that should finally put
things as they were supposed to be yesterday.
Tested on x86_64-linux. I really apologize for the screwup.
* include/c_compatibility/stdatomic.h (__atomic_flag_for_address): Use
_GLIBCXX_NOTHROW.
Index: include/c_compatibility/stdatomic.h
===================================================================
--- include/c_compatibility/stdatomic.h (revision 146343)
+++ include/c_compatibility/stdatomic.h (working copy)
@@ -138,7 +138,7 @@
__atomic_flag_wait_explicit(volatile __atomic_flag_base*, memory_order) _GLIBCXX_NOTHROW;
_GLIBCXX_CONST volatile __atomic_flag_base*
- __atomic_flag_for_address(const volatile void* __z) throw ();
+ __atomic_flag_for_address(const volatile void* __z) _GLIBCXX_NOTHROW;
// Implementation specific defines.
#define _ATOMIC_LOAD_(__a, __x) \