diff options
author | Chris Fairles <chris.fairles@gmail.com> | 2008-09-04 14:35:54 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2008-09-04 14:35:54 +0000 |
commit | d74eef3beb52d29c497e24e9b26d8ff83946793d (patch) | |
tree | 19079e098a5fc22be162b78aa1635d8deb69379b | |
parent | d7f2fbf618e5109a30bbe4a6e03a8e2aad4215aa (diff) | |
download | gcc-d74eef3beb52d29c497e24e9b26d8ff83946793d.zip gcc-d74eef3beb52d29c497e24e9b26d8ff83946793d.tar.gz gcc-d74eef3beb52d29c497e24e9b26d8ff83946793d.tar.bz2 |
mutex (once_flag): Construct __gthread_once_t in a temporary variable before assigning to _M_once...
2008-09-04 Chris Fairles <chris.fairles@gmail.com>
* include/std/mutex (once_flag): Construct __gthread_once_t in a
temporary variable before assigning to _M_once to avoid initialization
errors.
From-SVN: r139986
-rw-r--r-- | libstdc++-v3/ChangeLog | 6 | ||||
-rw-r--r-- | libstdc++-v3/include/std/mutex | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index c1ef36c..fa5059e 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2008-09-04 Chris Fairles <chris.fairles@gmail.com> + + * include/std/mutex (once_flag): Construct __gthread_once_t in a + temporary variable before assigning to _M_once to avoid initialization + errors. + 2008-09-03 Paolo Carlini <paolo.carlini@oracle.com> * config/abi/pre/gnu.ver: Also export __once_functor_lock; tighten diff --git a/libstdc++-v3/include/std/mutex b/libstdc++-v3/include/std/mutex index 5e6ba9c..e4ceaf2 100644 --- a/libstdc++-v3/include/std/mutex +++ b/libstdc++-v3/include/std/mutex @@ -615,8 +615,10 @@ namespace std typedef __gthread_once_t __native_type; once_flag() - : _M_once(__GTHREAD_ONCE_INIT) - { } + { + __gthread_once_t __tmp = __GTHREAD_ONCE_INIT; + _M_once = __tmp; + } once_flag(const once_flag&) = delete; once_flag& operator=(const once_flag&) = delete; |