This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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)						\


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]