aboutsummaryrefslogtreecommitdiff
path: root/libgomp/config/linux/proc.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2013-10-12 09:52:15 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2013-10-12 09:52:15 +0200
commitf89163fd487c99f264ebcc9cd07b679b62b87870 (patch)
tree5760fed5f9e50ee90f8b5a5eeaf2cff3e8f4abcf /libgomp/config/linux/proc.c
parent6e1d5961cea09a63ce6ed2d0ebf443a1eaf39958 (diff)
downloadgcc-f89163fd487c99f264ebcc9cd07b679b62b87870.zip
gcc-f89163fd487c99f264ebcc9cd07b679b62b87870.tar.gz
gcc-f89163fd487c99f264ebcc9cd07b679b62b87870.tar.bz2
re PR libgomp/58691 (OpenMP 4: Surprising results with OMP_PLACES=)
PR libgomp/58691 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute to check variable. (gomp_init_num_threads): Move i variable declaration into #ifdef CPU_ALLOC_SIZE block. * config/linux/affinity.c (gomp_affinity_init_level): Test gomp_places_list_len == 0 rather than gomp_places_list == 0 when checking for topology reading error. * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false. * env.c (parse_affinity): Add ignore argument, if true, don't populate gomp_places_list, only parse env var and always return false. (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var. (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified and either of these variables were parsed correctly into a places list. From-SVN: r203479
Diffstat (limited to 'libgomp/config/linux/proc.c')
-rw-r--r--libgomp/config/linux/proc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libgomp/config/linux/proc.c b/libgomp/config/linux/proc.c
index d4ae116..76616dd 100644
--- a/libgomp/config/linux/proc.c
+++ b/libgomp/config/linux/proc.c
@@ -59,7 +59,7 @@ gomp_cpuset_popcount (unsigned long cpusetsize, cpu_set_t *cpusetp)
size_t i;
unsigned long ret = 0;
extern int check[sizeof (cpusetp->__bits[0]) == sizeof (unsigned long int)
- ? 1 : -1];
+ ? 1 : -1] __attribute__((unused));
for (i = 0; i < cpusetsize / sizeof (cpusetp->__bits[0]); i++)
{
@@ -94,7 +94,6 @@ gomp_init_num_threads (void)
gomp_cpusetp);
if (ret == 0)
{
- unsigned long i;
/* Count only the CPUs this process can use. */
gomp_global_icv.nthreads_var
= gomp_cpuset_popcount (gomp_cpuset_size, gomp_cpusetp);
@@ -102,6 +101,7 @@ gomp_init_num_threads (void)
break;
gomp_get_cpuset_size = gomp_cpuset_size;
#ifdef CPU_ALLOC_SIZE
+ unsigned long i;
for (i = gomp_cpuset_size * 8; i; i--)
if (CPU_ISSET_S (i - 1, gomp_cpuset_size, gomp_cpusetp))
break;