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;
      |                                          ^~

Reply via email to