summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2020-07-09 11:29:30 +0200
committerJakub Jelinek <jakub@redhat.com>2020-07-09 11:29:30 +0200
commitea82325afeccf3604f393916832eaadcbe1225bd (patch)
tree7e61a4ef6bf9b4095e86428c7e9b74ca848cb31e
parentedf95e51e53697f3050f076675c26a4cece17741 (diff)
openmp: Change omp_atv_default value and rename omp_atv_sequential to omp_atv_serialized.
While this is an OpenMP 5.1 change, it is undesirable to let people use different values and then deal with ABI backwards compatibility in a year or two. 2020-07-09 Jakub Jelinek <jakub@redhat.com> * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using it. Remove __omp_alloctrait_value_max__. * allocator.c (omp_init_allocator): Handle omp_atv_default for omp_atk_alignment and omp_atk_pool_size.
-rw-r--r--libgomp/allocator.c10
-rw-r--r--libgomp/omp.h.in8
2 files changed, 13 insertions, 5 deletions
diff --git a/libgomp/allocator.c b/libgomp/allocator.c
index 4e293992d22..76feba71082 100644
--- a/libgomp/allocator.c
+++ b/libgomp/allocator.c
@@ -90,6 +90,11 @@ omp_init_allocator (omp_memspace_handle_t memspace, int ntraits,
}
break;
case omp_atk_alignment:
+ if (traits[i].value == omp_atv_default)
+ {
+ data.alignment = 1;
+ break;
+ }
if ((traits[i].value & (traits[i].value - 1)) != 0
|| !traits[i].value)
return omp_null_allocator;
@@ -112,7 +117,10 @@ omp_init_allocator (omp_memspace_handle_t memspace, int ntraits,
}
break;
case omp_atk_pool_size:
- data.pool_size = traits[i].value;
+ if (traits[i].value == omp_atv_default)
+ data.pool_size = ~(uintptr_t) 0;
+ else
+ data.pool_size = traits[i].value;
break;
case omp_atk_fallback:
switch (traits[i].value)
diff --git a/libgomp/omp.h.in b/libgomp/omp.h.in
index e2db33e005f..57af73720f1 100644
--- a/libgomp/omp.h.in
+++ b/libgomp/omp.h.in
@@ -136,12 +136,13 @@ typedef enum omp_alloctrait_key_t
typedef enum omp_alloctrait_value_t
{
+ omp_atv_default = (__UINTPTR_TYPE__) -1,
omp_atv_false = 0,
omp_atv_true = 1,
- omp_atv_default = 2,
omp_atv_contended = 3,
omp_atv_uncontended = 4,
- omp_atv_sequential = 5,
+ omp_atv_serialized = 5,
+ omp_atv_sequential = omp_atv_serialized,
omp_atv_private = 6,
omp_atv_all = 7,
omp_atv_thread = 8,
@@ -154,8 +155,7 @@ typedef enum omp_alloctrait_value_t
omp_atv_environment = 15,
omp_atv_nearest = 16,
omp_atv_blocked = 17,
- omp_atv_interleaved = 18,
- __omp_alloctrait_value_max__ = __UINTPTR_MAX__
+ omp_atv_interleaved = 18
} omp_alloctrait_value_t;
typedef struct omp_alloctrait_t