mirror of git://gcc.gnu.org/git/gcc.git
libgomp: Fix default value of GOMP_SPINCOUNT [PR 109062]
When OMP_WAIT_POLICY is not specified, current implementation will cause icv flag GOMP_ICV_WAIT_POLICY unset, so global variable wait_policy will remain its uninitialized value. Initialize it to -1 to make GOMP_SPINCOUNT behavior consistent with its description. libgomp/ChangeLog: PR libgomp/109062 * env.c (wait_policy): Initialize to -1. (initialize_icvs): Initialize icvs->wait_policy to -1. * testsuite/libgomp.c-c++-common/pr109062.c: New test.
This commit is contained in:
parent
6a87fdd3ed
commit
288bc7b5d1
|
|
@ -124,7 +124,7 @@ int goacc_default_dims[GOMP_DIM_MAX];
|
|||
|
||||
#ifndef LIBGOMP_OFFLOADED_ONLY
|
||||
|
||||
static int wait_policy;
|
||||
static int wait_policy = -1;
|
||||
static unsigned long stacksize = GOMP_DEFAULT_STACKSIZE;
|
||||
|
||||
static void
|
||||
|
|
@ -1981,7 +1981,7 @@ initialize_icvs (struct gomp_initial_icvs *icvs)
|
|||
icvs->bind_var = gomp_default_icv_values.bind_var;
|
||||
icvs->nteams_var = gomp_default_icv_values.nteams_var;
|
||||
icvs->teams_thread_limit_var = gomp_default_icv_values.teams_thread_limit_var;
|
||||
icvs->wait_policy = 0;
|
||||
icvs->wait_policy = -1;
|
||||
}
|
||||
|
||||
/* Helper function for initialize_env to add a device specific ICV value
|
||||
|
|
|
|||
|
|
@ -0,0 +1,14 @@
|
|||
/* { dg-do run } */
|
||||
|
||||
#include <omp.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
omp_display_env (1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* { dg-output ".*\\\[host] GOMP_SPINCOUNT = '300000'.*" { target native } } */
|
||||
Loading…
Reference in New Issue