[Bug bootstrap/50982] gthr reorganization breakage
redi at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sat Nov 5 12:24:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50982
--- Comment #24 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-11-05 12:23:45 UTC ---
(In reply to comment #23)
> I suspect that libstdc++ is having problems because pthread_once_t is a struct
> in AIX. libstdc++ should not be written to assume it is a scalar.
Ah, that's easily fixed, std::once_flag should use a non-static data member
initializer, does this patch help:
Index: include/std/mutex
===================================================================
--- include/std/mutex (revision 180447)
+++ include/std/mutex (working copy)
@@ -760,11 +760,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{
private:
typedef __gthread_once_t __native_type;
- __native_type _M_once;
+ __native_type _M_once = __GTHREAD_ONCE_INIT;
public:
/// Constructor
- constexpr once_flag() noexcept : _M_once(__GTHREAD_ONCE_INIT) { }
+ constexpr once_flag() noexcept = default;
/// Deleted copy constructor
once_flag(const once_flag&) = delete;
More information about the Gcc-bugs
mailing list