Hi!
On 2019-12-17T00:00:04+0100, I wrote:
> On 2019-11-14T16:35:31+0100, Frederik Harwath <[email protected]>
> wrote:
>> this patch implements OpenACC 2.6 "acc_get_property" and related functions.
> As I mentioned before ("thinking aloud"):
>
> | [...] 'acc_device_current' [is] relevant only for
> | 'acc_get_property', to return "the value of the property for the current
> | device". This [now has a] special (negative?) value
> | [...], so that when additional real device types are added
> | later on, we can just add them with increasing numbers, and keep the
> | scanning code simple.
> Should this actually get value '-1' instead of '-3'? Or, is the OpenACC
> 'acc_device_t' code already paying special attention to negative values
> '-1', '-2'? (I don't think so.)
Now pushed this change to master branch in commit
a5d0bc12e1bfa956941cd9c49d5b978256bd11ec "[OpenACC] Set
'acc_device_current = -1'", see attached.
Grüße
Thomas
-----------------
Mentor Graphics (Deutschland) GmbH, Arnulfstraße 201, 80634 München / Germany
Registergericht München HRB 106955, Geschäftsführer: Thomas Heurung, Alexander
Walter
>From a5d0bc12e1bfa956941cd9c49d5b978256bd11ec Mon Sep 17 00:00:00 2001
From: Thomas Schwinge <[email protected]>
Date: Wed, 29 Apr 2020 08:12:36 +0200
Subject: [PATCH] [OpenACC] Set 'acc_device_current = -1'
There's no point in using value '-3', and even though not directly related,
value '-1' does match 'GOMP_DEVICE_ICV'.
libgomp/
* config/accel/openacc.f90 (acc_device_current): Set to '-1'.
* openacc.f90 (acc_device_current): Likewise.
* openacc.h (acc_device_current): Likewise.
* openacc_lib.h (acc_device_current): Likewise.
---
libgomp/ChangeLog | 5 +++++
libgomp/config/accel/openacc.f90 | 2 +-
libgomp/openacc.f90 | 2 +-
libgomp/openacc.h | 2 +-
libgomp/openacc_lib.h | 2 +-
5 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index 1a7046f2fc64..b6828adcbe3d 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,5 +1,10 @@
2020-04-29 Thomas Schwinge <[email protected]>
+ * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
+ * openacc.f90 (acc_device_current): Likewise.
+ * openacc.h (acc_device_current): Likewise.
+ * openacc_lib.h (acc_device_current): Likewise.
+
PR target/94282
* testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
'dg-allow-blank-lines-in-output'.
diff --git a/libgomp/config/accel/openacc.f90 b/libgomp/config/accel/openacc.f90
index 275afe43475c..99330733d8f8 100644
--- a/libgomp/config/accel/openacc.f90
+++ b/libgomp/config/accel/openacc.f90
@@ -44,7 +44,7 @@ module openacc_kinds
integer, parameter :: acc_device_kind = int32
! Keep in sync with include/gomp-constants.h.
- integer (acc_device_kind), parameter :: acc_device_current = -3
+ integer (acc_device_kind), parameter :: acc_device_current = -1
integer (acc_device_kind), parameter :: acc_device_none = 0
integer (acc_device_kind), parameter :: acc_device_default = 1
integer (acc_device_kind), parameter :: acc_device_host = 2
diff --git a/libgomp/openacc.f90 b/libgomp/openacc.f90
index 467fb612c548..111705d0fb60 100644
--- a/libgomp/openacc.f90
+++ b/libgomp/openacc.f90
@@ -41,7 +41,7 @@ module openacc_kinds
integer, parameter :: acc_device_kind = int32
! Keep in sync with include/gomp-constants.h.
- integer (acc_device_kind), parameter :: acc_device_current = -3
+ integer (acc_device_kind), parameter :: acc_device_current = -1
integer (acc_device_kind), parameter :: acc_device_none = 0
integer (acc_device_kind), parameter :: acc_device_default = 1
integer (acc_device_kind), parameter :: acc_device_host = 2
diff --git a/libgomp/openacc.h b/libgomp/openacc.h
index 617364634748..1dc471f62bc7 100644
--- a/libgomp/openacc.h
+++ b/libgomp/openacc.h
@@ -49,7 +49,7 @@ extern "C" {
/* Types */
typedef enum acc_device_t {
/* Keep in sync with include/gomp-constants.h. */
- acc_device_current = -3,
+ acc_device_current = -1,
acc_device_none = 0,
acc_device_default = 1,
acc_device_host = 2,
diff --git a/libgomp/openacc_lib.h b/libgomp/openacc_lib.h
index ee08e9787cc9..82a3735b1063 100644
--- a/libgomp/openacc_lib.h
+++ b/libgomp/openacc_lib.h
@@ -37,7 +37,7 @@
integer, parameter :: acc_device_kind = 4
! Keep in sync with include/gomp-constants.h.
- integer (acc_device_kind), parameter :: acc_device_current = -3
+ integer (acc_device_kind), parameter :: acc_device_current = -1
integer (acc_device_kind), parameter :: acc_device_none = 0
integer (acc_device_kind), parameter :: acc_device_default = 1
integer (acc_device_kind), parameter :: acc_device_host = 2
--
2.26.2