diff options
author | Jakub Jelinek <jakub@redhat.com> | 2020-07-09 11:29:30 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2020-07-09 11:29:30 +0200 |
commit | ea82325afeccf3604f393916832eaadcbe1225bd (patch) | |
tree | 7e61a4ef6bf9b4095e86428c7e9b74ca848cb31e /libgomp | |
parent | edf95e51e53697f3050f076675c26a4cece17741 (diff) | |
download | gcc-ea82325afeccf3604f393916832eaadcbe1225bd.zip gcc-ea82325afeccf3604f393916832eaadcbe1225bd.tar.gz gcc-ea82325afeccf3604f393916832eaadcbe1225bd.tar.bz2 |
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.
Diffstat (limited to 'libgomp')
-rw-r--r-- | libgomp/allocator.c | 10 | ||||
-rw-r--r-- | libgomp/omp.h.in | 8 |
2 files changed, 13 insertions, 5 deletions
diff --git a/libgomp/allocator.c b/libgomp/allocator.c index 4e29399..76feba7 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 e2db33e..57af737 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 |