libstdc++: Fix testcase by using terminate handler
This test was supposed to verify that when __libc_single_threaded is available we successfully detect recursive static initialization even when linked to libpthread. But I forgot to that when recursive init is detected, we terminate, and so the test fails. This adds a terminate handler that exits cleanly, so the test passes when recursive init is detected. libstdc++-v3/ChangeLog: * testsuite/18_support/96817.cc: Use terminate handler that calls _Exit(0).
This commit is contained in:
parent
679dbc9dce
commit
1ad08b64ce
@ -21,6 +21,9 @@
|
||||
|
||||
// PR libstdc++/96817
|
||||
|
||||
#include <exception>
|
||||
#include <stdlib.h>
|
||||
|
||||
int init()
|
||||
{
|
||||
#if __has_include(<sys/single_threaded.h>)
|
||||
@ -32,8 +35,11 @@ int init()
|
||||
return 0;
|
||||
}
|
||||
|
||||
void clean_terminate() { _Exit(0); }
|
||||
|
||||
int
|
||||
main (int argc, char **argv)
|
||||
{
|
||||
std::set_terminate(clean_terminate);
|
||||
init();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user