Hello,
On 19/05/2020 10:24, Jakub Jelinek via Gcc-patches wrote:
+ gomp_mutex_lock (&allocator_data->lock);
+ if (__builtin_add_overflow (allocator_data->used_pool_size, new_size,
+ &used_pool_size)
+ || used_pool_size > allocator_data->pool_size)
+ {
+ gomp_mutex_unlock (&allocator_data->lock);
+ goto fail;
+ }
+ allocator_data->used_pool_size = used_pool_size;
+ gomp_mutex_unlock (&allocator_data->lock);
+#endif
+ ptr = malloc (new_size);
+ if (ptr == NULL)
+ {
+#ifdef HAVE_SYNC_BUILTINS
+ __atomic_add_fetch (&allocator_data->used_pool_size, -new_size,
+ MEMMODEL_RELAXED);
+#else
+ gomp_mutex_lock (&allocator_data->lock);
+ allocator_data->used_pool_size -= new_size;
+ gomp_mutex_unlock (&allocator_data->lock);
+#endif
with this patch I get the following error for target arm-rtems6:
../../../gnu-mirror-gcc-86b14bb/libgomp/allocator.c: In function 'omp_free':
../../../gnu-mirror-gcc-86b14bb/libgomp/allocator.c:351:42: error:
'struct omp_mem_header' has no member named 'new_size'
351 | allocator_data->used_pool_size -= data->new_size;
| ^~