aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely.gcc@gmail.com>2012-08-12 18:57:53 +0000
committerJonathan Wakely <redi@gcc.gnu.org>2012-08-12 19:57:53 +0100
commit3722862e60b5b82c9ac41ad172bbf0e8e8be54ee (patch)
tree096d2aadc7d6a2c52795e08323721a1095c0e944
parent874a3756f295f5373e66fd07841096a5f17b5651 (diff)
downloadgcc-3722862e60b5b82c9ac41ad172bbf0e8e8be54ee.zip
gcc-3722862e60b5b82c9ac41ad172bbf0e8e8be54ee.tar.gz
gcc-3722862e60b5b82c9ac41ad172bbf0e8e8be54ee.tar.bz2
re PR libstdc++/52681 ([C++11] Using std::thread without -pthread crashes without warning)
PR libstdc++/52681 * src/c++11/thread.cc (thread::_M_start_thread): Improve error text when threads are not enabled. From-SVN: r190330
-rw-r--r--libstdc++-v3/ChangeLog6
-rw-r--r--libstdc++-v3/src/c++11/thread.cc5
2 files changed, 11 insertions, 0 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index f33aef8..69303ab 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,9 @@
+2012-08-12 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/52681
+ * src/c++11/thread.cc (thread::_M_start_thread): Improve error text
+ when threads are not enabled.
+
2012-08-09 Jonathan Wakely <jwakely.gcc@gmail.com>
* acinclude.m4: Update references to final C++11 standard.
diff --git a/libstdc++-v3/src/c++11/thread.cc b/libstdc++-v3/src/c++11/thread.cc
index ff034b1..5c10832 100644
--- a/libstdc++-v3/src/c++11/thread.cc
+++ b/libstdc++-v3/src/c++11/thread.cc
@@ -115,7 +115,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
thread::_M_start_thread(__shared_base_type __b)
{
if (!__gthread_active_p())
+#if __EXCEPTIONS
+ throw system_error(make_error_code(errc::operation_not_permitted),
+ "Enable multithreading to use std::thread");
+#else
__throw_system_error(int(errc::operation_not_permitted));
+#endif
__b->_M_this_ptr = __b;
int __e = __gthread_create(&_M_id._M_thread,