https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111044
--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> --- Additionally: OpenMP states for omp_init_allocator: "if an allocator based on the requirements cannot be created then the special omp_null_allocator handle is returned." libgomp's routine currently only returns omp_null_allocator if either an invalid value has been used for the memory space / trait key / trait value - or when pinned memory has been requested (as it is not yet implemented). I think that's fine - but needs to be better documented. This applies to the predefined allocators and to those created by OMP_ALLOCATOR, omp_init_allocator, and by the 'using_allocators' directive (all using internally omp_init_allocator).