PR libstdc++/84442
* testsuite/30_threads/thread/cons/terminate.cc
[!_GLIBCXX_USE_C99_STDLIB] : Use _exit or std::exit instead of _Exit.
From-SVN: r259463
+2018-04-18 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/84442
+ * testsuite/30_threads/thread/cons/terminate.cc
+ [!_GLIBCXX_USE_C99_STDLIB] : Use _exit or std::exit instead of _Exit.
+
2018-04-18 David Malcolm <dmalcolm@redhat.com>
PR jit/85384
#include <thread>
#include <exception>
#include <cstdlib>
+#if !_GLIBCXX_USE_C99_STDLIB && defined _GLIBCXX_HAVE_UNISTD_H
+# include <unistd.h>
+#endif
void handle_terminate()
{
+#if _GLIBCXX_USE_C99_STDLIB
std::_Exit(0);
+#elif defined _GLIBCXX_HAVE_UNISTD_H
+ _exit(0);
+#else
+ std::exit(0);
+#endif
}
void f() { throw 1; }
{
std::set_terminate(handle_terminate);
std::thread t(f);
+ // This should call the terminate handler and exit with zero status:
t.join();
+ // Should not reach here:
std::abort();
}