http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49894
--- Comment #10 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-10-24 23:26:29 UTC --- Author: redi Date: Mon Oct 24 23:26:25 2011 New Revision: 180411 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=180411 Log: PR libstdc++/49894 * include/std/mutex (__mutex_base,__recursive_mutex_base): Define new base classes to manage construction/destruction of native mutexes, using NSDMI when INIT macros are defined. (mutex,recursive_mutex,timed_mutex,recursive_timed_mutex): Derive from new base classes. * include/std/condition_variable (condition_variable): Use NSDMI when INIT macro is defined. Use noexcept. * src/condition_variable.cc (condition_variable): Explicitly-default constructor/destructor when using NSDMI. Use noexcept. (condition_variable_any): Likewise. Modified: trunk/libstdc++-v3/ChangeLog trunk/libstdc++-v3/include/std/condition_variable trunk/libstdc++-v3/include/std/mutex trunk/libstdc++-v3/src/condition_variable.cc