]>
git.ipfire.org Git - thirdparty/gcc.git/blob - libstdc++-v3/testsuite/18_support/bad_exception/23591_thread-1.c
1 // { dg-require-sharedlib "" }
2 // { dg-skip-if "invalid options for C" { *-*-* } { "-std=c++??" "-std=gnu++??" } }
3 // { dg-options "-g -O2 -pthread -ldl -x c -fvtable-verify=none -Wno-pedantic" { target *-*-linux* *-*-gnu* *-*-solaris2.1[2-9]* } }
5 // Copyright (C) 2005-2019 Free Software Foundation, Inc.
7 // This file is part of the GNU ISO C++ Library. This library is free
8 // software; you can redistribute it and/or modify it under the
9 // terms of the GNU General Public License as published by the
10 // Free Software Foundation; either version 3, or (at your option)
13 // This library is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 // GNU General Public License for more details.
18 // You should have received a copy of the GNU General Public License along
19 // with this library; see the file COPYING3. If not see
20 // <http://www.gnu.org/licenses/>.
28 // NB: This must be compiled and linked as a "C" executable.
29 static void* run(void* arg
)
31 typedef void (*function_type
) (void);
35 lib
= dlopen("./testsuite_shared.so", RTLD_NOW
);
38 printf("dlopen failed: %s\n", strerror(errno
));
41 cb
= (function_type
) dlsym(lib
, "try_throw_exception");
44 printf("dlsym failed: %s\n", strerror(errno
));
57 if (pthread_create(&pt
, 0, &run
, 0) != 0)
59 if (pthread_join(pt
, 0) != 0)