1/* Trivial test of thread startup.  */
2
3#include <omp.h>
4#include <string.h>
5#include <assert.h>
6#include "libgomp_g.h"
7
8
9static int nthr;
10static int saw[4];
11
12static void function(void *dummy)
13{
14  int iam = omp_get_thread_num ();
15
16  if (iam == 0)
17    nthr = omp_get_num_threads ();
18
19  saw[iam] = 1;
20}
21
22int main()
23{
24  omp_set_dynamic (0);
25
26  GOMP_parallel_start (function, NULL, 2);
27  function (NULL);
28  GOMP_parallel_end ();
29
30  assert (nthr == 2);
31  assert (saw[0] != 0);
32  assert (saw[1] != 0);
33  assert (saw[2] == 0);
34
35  memset (saw, 0, sizeof (saw));
36
37  GOMP_parallel_start (function, NULL, 3);
38  function (NULL);
39  GOMP_parallel_end ();
40
41  assert (nthr == 3);
42  assert (saw[0] != 0);
43  assert (saw[1] != 0);
44  assert (saw[2] != 0);
45  assert (saw[3] == 0);
46
47  return 0;
48}
49