diff options
author | Tobias Burnus <tobias@codesourcery.com> | 2020-07-15 08:33:20 +0200 |
---|---|---|
committer | Tobias Burnus <tobias@codesourcery.com> | 2020-07-15 08:33:20 +0200 |
commit | fff15bad1ab571906c37b88380431768d917dcb0 (patch) | |
tree | db37c1397b78b5430555ef4c30fa39d6d288551c /libgomp/fortran.c | |
parent | 8ca07a3072438fa5e76f2b2cea9e51a98760a86f (diff) |
libgomp: Add Fortran routine support for allocators
libgomp/ChangeLog:
* allocator.c: Add ialias for omp_init_allocator and
omp_destroy_allocator.
* configure.ac: Set INTPTR_T_KIND.
* configure: Regenerate.
* Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.
* fortran.c (omp_init_allocator_, omp_destroy_allocator_,
omp_set_default_allocator_, omp_get_default_allocator_): New
functions and ialias_redirect.
* icv.c: Add ialias for omp_set_default_allocator and
omp_get_default_allocator.
* libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
omp_destroy_allocator_, omp_set_default_allocator_ and
omp_get_default_allocator_.
* omp_lib.f90.in: Add allocator traits parameters, declare
allocator routines and add related kind parameters.
* omp_lib.h.in: Likewise.
* testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
* testsuite/libgomp.fortran/alloc-1.F90: New test.
* testsuite/libgomp.fortran/alloc-2.F90: New test.
* testsuite/libgomp.fortran/alloc-3.F: New test.
* testsuite/libgomp.fortran/alloc-4.f90: New test.
* testsuite/libgomp.fortran/alloc-5.f90: New test.
Diffstat (limited to 'libgomp/fortran.c')
-rw-r--r-- | libgomp/fortran.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/libgomp/fortran.c b/libgomp/fortran.c index 3705ff62b75..9d838b3b56f 100644 --- a/libgomp/fortran.c +++ b/libgomp/fortran.c @@ -86,6 +86,10 @@ ialias_redirect (omp_get_initial_device) ialias_redirect (omp_get_max_task_priority) ialias_redirect (omp_pause_resource) ialias_redirect (omp_pause_resource_all) +ialias_redirect (omp_init_allocator) +ialias_redirect (omp_destroy_allocator) +ialias_redirect (omp_set_default_allocator) +ialias_redirect (omp_get_default_allocator) #endif #ifndef LIBGOMP_GNU_SYMBOL_VERSIONING @@ -676,3 +680,37 @@ omp_pause_resource_all_ (const int32_t *kind) { return omp_pause_resource_all (*kind); } + +intptr_t +omp_init_allocator_ (const intptr_t *memspace, const int32_t *ntraits, + const omp_alloctrait_t *traits) +{ + return (intptr_t) omp_init_allocator ((omp_memspace_handle_t) *memspace, + (int) *ntraits, traits); +} + +intptr_t +omp_init_allocator_8_ (const intptr_t *memspace, const int64_t *ntraits, + const omp_alloctrait_t *traits) +{ + return (intptr_t) omp_init_allocator ((omp_memspace_handle_t) *memspace, + (int) *ntraits, traits); +} + +void +omp_destroy_allocator_ (const intptr_t *allocator) +{ + omp_destroy_allocator ((omp_allocator_handle_t) *allocator); +} + +void +omp_set_default_allocator_ (const intptr_t *allocator) +{ + omp_set_default_allocator ((omp_allocator_handle_t) *allocator); +} + +intptr_t +omp_get_default_allocator_ () +{ + return (intptr_t) omp_get_default_allocator (); +} |