aboutsummaryrefslogtreecommitdiff
path: root/libgomp/allocator.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2020-05-30 14:02:56 +0200
committerJakub Jelinek <jakub@redhat.com>2020-05-30 14:02:56 +0200
commit05e4db63d044ee235d2fbfab8b0bb9fbdfb18315 (patch)
tree9fced1a49c8dd58c725d9c8a5bcf98164da2b830 /libgomp/allocator.c
parent850533ab160ef40eccfd039e1e3b138cf26e76b8 (diff)
downloadgcc-05e4db63d044ee235d2fbfab8b0bb9fbdfb18315.zip
gcc-05e4db63d044ee235d2fbfab8b0bb9fbdfb18315.tar.gz
gcc-05e4db63d044ee235d2fbfab8b0bb9fbdfb18315.tar.bz2
openmp: omp_alloc(0, ...) should return NULL.
2020-05-30 Jakub Jelinek <jakub@redhat.com> * allocator.c (omp_alloc): For size == 0, return NULL early. * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
Diffstat (limited to 'libgomp/allocator.c')
-rw-r--r--libgomp/allocator.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libgomp/allocator.c b/libgomp/allocator.c
index 8592de6..66308ab 100644
--- a/libgomp/allocator.c
+++ b/libgomp/allocator.c
@@ -201,6 +201,9 @@ omp_alloc (size_t size, omp_allocator_handle_t allocator)
size_t alignment, new_size;
void *ptr, *ret;
+ if (__builtin_expect (size == 0, 0))
+ return NULL;
+
retry:
if (allocator == omp_null_allocator)
{