1/* This testcase is part of GDB, the GNU debugger.
2
3   Copyright 2012-2020 Free Software Foundation, Inc.
4
5   This program is free software; you can redistribute it and/or modify
6   it under the terms of the GNU General Public License as published by
7   the Free Software Foundation; either version 3 of the License, or
8   (at your option) any later version.
9
10   This program is distributed in the hope that it will be useful,
11   but WITHOUT ANY WARRANTY; without even the implied warranty of
12   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13   GNU General Public License for more details.
14
15   You should have received a copy of the GNU General Public License
16   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
17
18#include <pthread.h>
19#include <assert.h>
20
21static volatile int a, b, c;
22
23static void
24marker_exit (void)
25{
26  a = 1;
27}
28
29static void *
30start (void *arg)
31{
32  b = 2;
33  c = 3;
34
35  return NULL;
36}
37
38int
39main (void)
40{
41  pthread_t thread;
42  int i;
43
44  i = pthread_create (&thread, NULL, start, NULL);
45  assert (i == 0);
46  i = pthread_join (thread, NULL);
47  assert (i == 0);
48
49  marker_exit ();
50  return 0;
51}
52