From 0c59837c89bd62e2addf4b34704a1ebe7e3bffab Mon Sep 17 00:00:00 2001
From: Thomas Schwinge <thomas@codesourcery.com>
Date: Fri, 29 May 2020 14:12:16 +0200
Subject: [PATCH] [OpenACC] Remove 'tgt' reference counting from
'acc_unmap_data' [PR92854]
libgomp/
PR libgomp/92854
* oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
(cherry picked from commit 4662f7fe7863b19fcc20ba58c22880f8d6661f3a)
---
libgomp/oacc-mem.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
@@ -477,13 +477,13 @@ acc_unmap_data (void *h)
gomp_mutex_unlock (&acc_dev->lock);
gomp_fatal ("cannot unmap target block");
}
- else if (tgt->refcount > 1)
- tgt->refcount--;
- else
- {
- free (tgt->array);
- free (tgt);
- }
+
+ /* Above, we've verified that the mapping must have been set up by
+ 'acc_map_data'. */
+ assert (tgt->refcount == 1);
+
+ free (tgt->array);
+ free (tgt);
gomp_mutex_unlock (&acc_dev->lock);
--
2.26.2