From patchwork Wed May 24 13:45:10 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Thomas Schwinge X-Patchwork-Id: 766485 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3wXtwJ1n1Kz9ryv for ; Wed, 24 May 2017 23:46:24 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b="ab3MMLgY"; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:in-reply-to:references:date:message-id :mime-version:content-type:content-transfer-encoding; q=dns; s= default; b=GU3m/xMW23up+iKj3K4AXLPK+KmkRRPXEnhmgbhAoCZtJiIDywPS2 SxGcpDLmlnEtC7r60dczpFs2TCCmLcVxPaS+7E7bAaKNHpjXPz08ZVSaDgsWNW1p QgfL5OuhwoH6edjNUqkIF9hW11YemdlTob8MQfSLACVf4DiLn+gGfA= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:in-reply-to:references:date:message-id :mime-version:content-type:content-transfer-encoding; s=default; bh=sVGJ60Hw3fPYAec7FNLg6R5rxrY=; b=ab3MMLgYQ/XBFN5Q3qgISd3juoB5 hvH8NNOWpcRSU2QgEIM2b11+6eOCkLxzN8+Gw95neifxVgVlDf5P0IPQKC5e5WeF ztndQp9jILnJHRInG+5AvOWsBgti0Ek/g8jeKnkDdYTWPDOhgaPs4Bqlxw6m6lDV 5vJvh7aw7IQ+d0o= Received: (qmail 83108 invoked by alias); 24 May 2017 13:45:48 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 82462 invoked by uid 89); 24 May 2017 13:45:26 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-24.5 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_PASS, URIBL_RED autolearn=ham version=3.3.2 spammy= X-Spam-User: qpsmtpd, 2 recipients X-HELO: relay1.mentorg.com Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 24 May 2017 13:45:20 +0000 Received: from nat-ies.mentorg.com ([192.94.31.2] helo=SVR-IES-MBX-03.mgc.mentorg.com) by relay1.mentorg.com with esmtp id 1dDWbI-0001fu-SE from Thomas_Schwinge@mentor.com ; Wed, 24 May 2017 06:45:21 -0700 Received: from hertz.schwinge.homeip.net (137.202.0.87) by SVR-IES-MBX-03.mgc.mentorg.com (139.181.222.3) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Wed, 24 May 2017 14:45:17 +0100 From: Thomas Schwinge To: Jakub Jelinek , , CC: Tobias Burnus , Cesar Philippidis Subject: Re: Implementing OpenACC's Fortran module In-Reply-To: <20170524115832.GG8499@tucnak> References: <53F1F025.8080102@codesourcery.com> <20140818135104.GA8943@physik.fu-berlin.de> <53F29628.401@codesourcery.com> <53F3A8FC.9030105@net-b.de> <53F3B4DB.90506@codesourcery.com> <87siiwyznl.fsf@schwinge.name> <87zifk2oda.fsf@hertz.schwinge.homeip.net> <8760gszziq.fsf@hertz.schwinge.homeip.net> <20170523111200.GS8499@tucnak> <87wp96wkrp.fsf@hertz.schwinge.homeip.net> <20170524115832.GG8499@tucnak> User-Agent: Notmuch/0.9-101-g81dad07 (http://notmuchmail.org) Emacs/24.5.1 (x86_64-pc-linux-gnu) Date: Wed, 24 May 2017 15:45:10 +0200 Message-ID: <87k256weqh.fsf@hertz.schwinge.homeip.net> MIME-Version: 1.0 X-ClientProxiedBy: svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) To SVR-IES-MBX-03.mgc.mentorg.com (139.181.222.3) Hi! On Wed, 24 May 2017 13:58:32 +0200, Jakub Jelinek wrote: > On Wed, May 24, 2017 at 01:34:50PM +0200, Thomas Schwinge wrote: > > Thus OK for trunk, as posted? > > Ok. Thanks. Committed to trunk in r248412: commit b70df2112de1c8fb9b448dc24e3a58055e4bbbdc Author: tschwinge Date: Wed May 24 13:23:55 2017 +0000 Fortran OpenACC "openacc_lib.h": acc_pcopyin, acc_pcreate libgomp/ * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to acc_present_or_copyin and acc_present_or_create procedures, respectively. * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and generally different variants of OpenACC Runtime Library functions. * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248412 138bc75d-0d04-0410-961f-82ee72b054a4 --- libgomp/ChangeLog | 7 ++++ libgomp/openacc_lib.h | 42 ++++------------------- libgomp/testsuite/libgomp.oacc-fortran/lib-32-1.f | 36 ++++++++----------- libgomp/testsuite/libgomp.oacc-fortran/lib-32-2.f | 26 +++++++------- 4 files changed, 42 insertions(+), 69 deletions(-) Grüße Thomas diff --git libgomp/ChangeLog libgomp/ChangeLog index af8c5ca..55869d2 100644 --- libgomp/ChangeLog +++ libgomp/ChangeLog @@ -1,5 +1,12 @@ 2017-05-24 Thomas Schwinge + * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to + acc_present_or_copyin and acc_present_or_create procedures, + respectively. + * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and + generally different variants of OpenACC Runtime Library functions. + * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. + * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file. * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. diff --git libgomp/openacc_lib.h libgomp/openacc_lib.h index 65f47a8..7818bd7 100644 --- libgomp/openacc_lib.h +++ libgomp/openacc_lib.h @@ -191,23 +191,9 @@ end interface interface acc_pcopyin - subroutine acc_pcopyin_32_h (a, len) - use iso_c_binding, only: c_int32_t - !GCC$ ATTRIBUTES NO_ARG_CHECK :: a - type (*), dimension (*) :: a - integer (c_int32_t) len - end subroutine - - subroutine acc_pcopyin_64_h (a, len) - use iso_c_binding, only: c_int64_t - !GCC$ ATTRIBUTES NO_ARG_CHECK :: a - type (*), dimension (*) :: a - integer (c_int64_t) len - end subroutine - - subroutine acc_pcopyin_array_h (a) - type (*), dimension (..), contiguous :: a - end subroutine + procedure :: acc_present_or_copyin_32_h + procedure :: acc_present_or_copyin_64_h + procedure :: acc_present_or_copyin_array_h end interface interface acc_create @@ -251,23 +237,9 @@ end interface interface acc_pcreate - subroutine acc_pcreate_32_h (a, len) - use iso_c_binding, only: c_int32_t - !GCC$ ATTRIBUTES NO_ARG_CHECK :: a - type (*), dimension (*) :: a - integer (c_int32_t) len - end subroutine - - subroutine acc_pcreate_64_h (a, len) - use iso_c_binding, only: c_int64_t - !GCC$ ATTRIBUTES NO_ARG_CHECK :: a - type (*), dimension (*) :: a - integer (c_int64_t) len - end subroutine - - subroutine acc_pcreate_array_h (a) - type (*), dimension (..), contiguous :: a - end subroutine + procedure :: acc_present_or_create_32_h + procedure :: acc_present_or_create_64_h + procedure :: acc_present_or_create_array_h end interface interface acc_copyout @@ -353,7 +325,7 @@ ! acc_map_data: Only available in C/C++ ! acc_unmap_data: Only available in C/C++ ! acc_deviceptr: Only available in C/C++ - ! acc_ostptr: Only available in C/C++ + ! acc_hostptr: Only available in C/C++ interface acc_is_present function acc_is_present_32_h (a, len) diff --git libgomp/testsuite/libgomp.oacc-fortran/lib-32-1.f libgomp/testsuite/libgomp.oacc-fortran/lib-32-1.f index 4606d77..177e4fb 100644 --- libgomp/testsuite/libgomp.oacc-fortran/lib-32-1.f +++ libgomp/testsuite/libgomp.oacc-fortran/lib-32-1.f @@ -20,8 +20,8 @@ SHARED_MEM = ACC_IS_PRESENT (H) - CALL ACC_PRESENT_OR_CREATE (H) - IF (.NOT. ACC_IS_PRESENT (H)) CALL ABORT + CALL ACC_PRESENT_OR_CREATE (H, INT (SIZEOF (H), 4)) + IF (.NOT. ACC_IS_PRESENT (H, INT (SIZEOF (H), 8))) CALL ABORT !$ACC PARALLEL LOOP DEFAULT (PRESENT) DO I = 1, N @@ -48,8 +48,7 @@ H(I) = I + 4 END DO -! CALL ACC_PCREATE (H) - CALL ACC_PRESENT_OR_CREATE (H) + CALL ACC_PCREATE (H, INT (SIZEOF (H), 4)) !$ACC PARALLEL LOOP DEFAULT (PRESENT) DO I = 1, N @@ -63,7 +62,7 @@ H(I) = I + 6 END DO - CALL ACC_PRESENT_OR_COPYIN (H) + CALL ACC_PRESENT_OR_COPYIN (H, INT (SIZEOF (H), 8)) !$ACC PARALLEL LOOP DEFAULT (PRESENT) DO I = 1, N @@ -77,8 +76,7 @@ H(I) = I + 8 END DO -! CALL ACC_PCOPYIN (H) - CALL ACC_PRESENT_OR_COPYIN (H) + CALL ACC_PCOPYIN (H, INT (SIZEOF (H), 4)) !$ACC PARALLEL LOOP DEFAULT (PRESENT) DO I = 1, N @@ -92,18 +90,17 @@ H(I) = I + 10 END DO - CALL ACC_COPYOUT (H) + CALL ACC_COPYOUT (H, INT (SIZEOF (H), 4)) IF (.NOT. SHARED_MEM) THEN - IF (ACC_IS_PRESENT (H)) CALL ABORT + IF (ACC_IS_PRESENT (H, INT (SIZEOF (H), 8))) CALL ABORT ENDIF DO I = 1, N IF (H(I) .NE. I + MERGE (10, 9, SHARED_MEM)) CALL ABORT END DO -! CALL ACC_PCOPYIN (H) - CALL ACC_PRESENT_OR_COPYIN (H) - IF (.NOT. ACC_IS_PRESENT (H)) CALL ABORT + CALL ACC_PCOPYIN (H) + IF (.NOT. ACC_IS_PRESENT (H, INT (SIZEOF (H), 4))) CALL ABORT !$ACC PARALLEL LOOP DEFAULT (PRESENT) DO I = 1, N @@ -117,8 +114,7 @@ H(I) = I + 12 END DO -! CALL ACC_PCOPYIN (H) - CALL ACC_PRESENT_OR_COPYIN (H) + CALL ACC_PCOPYIN (H, INT (SIZEOF (H), 8)) !$ACC PARALLEL LOOP DEFAULT (PRESENT) DO I = 1, N @@ -132,8 +128,7 @@ H(I) = I + 14 END DO -! CALL ACC_PCREATE (H) - CALL ACC_PRESENT_OR_CREATE (H) + CALL ACC_PCREATE (H) !$ACC PARALLEL LOOP DEFAULT (PRESENT) DO I = 1, N @@ -147,8 +142,7 @@ H(I) = I + 16 END DO -! CALL ACC_PCREATE (H) - CALL ACC_PRESENT_OR_CREATE (H) + CALL ACC_PCREATE (H, INT (SIZEOF (H), 8)) !$ACC PARALLEL LOOP DEFAULT (PRESENT) DO I = 1, N @@ -162,8 +156,8 @@ H(I) = I + 18 END DO - CALL ACC_UPDATE_SELF (H) - IF (.NOT. ACC_IS_PRESENT (H)) CALL ABORT + CALL ACC_UPDATE_SELF (H, INT (SIZEOF (H), 4)) + IF (.NOT. ACC_IS_PRESENT (H, INT (SIZEOF (H), 8))) CALL ABORT DO I = 1, N IF (H(I) .NE. I + MERGE (18, 17, SHARED_MEM)) CALL ABORT @@ -171,7 +165,7 @@ CALL ACC_DELETE (H) IF (.NOT. SHARED_MEM) THEN - IF (ACC_IS_PRESENT (H)) CALL ABORT + IF (ACC_IS_PRESENT (H, INT (SIZEOF (H), 4))) CALL ABORT ENDIF DEALLOCATE (H) diff --git libgomp/testsuite/libgomp.oacc-fortran/lib-32-2.f libgomp/testsuite/libgomp.oacc-fortran/lib-32-2.f index 88f5566..a08eb84 100644 --- libgomp/testsuite/libgomp.oacc-fortran/lib-32-2.f +++ libgomp/testsuite/libgomp.oacc-fortran/lib-32-2.f @@ -20,8 +20,8 @@ SHARED_MEM = ACC_IS_PRESENT (H) - CALL ACC_PRESENT_OR_CREATE (H) - IF (.NOT. ACC_IS_PRESENT (H)) CALL ABORT + CALL ACC_PRESENT_OR_CREATE (H, INT (SIZEOF (H), 4)) + IF (.NOT. ACC_IS_PRESENT (H, INT (SIZEOF (H), 8))) CALL ABORT !$ACC PARALLEL LOOP DEFAULT (PRESENT) DO I = 1, N @@ -48,7 +48,7 @@ H(I) = I + 4 END DO - CALL ACC_PCREATE (H) + CALL ACC_PCREATE (H, INT (SIZEOF (H), 4)) !$ACC PARALLEL LOOP DEFAULT (PRESENT) DO I = 1, N @@ -62,7 +62,7 @@ H(I) = I + 6 END DO - CALL ACC_PRESENT_OR_COPYIN (H) + CALL ACC_PRESENT_OR_COPYIN (H, INT (SIZEOF (H), 8)) !$ACC PARALLEL LOOP DEFAULT (PRESENT) DO I = 1, N @@ -76,7 +76,7 @@ H(I) = I + 8 END DO - CALL ACC_PCOPYIN (H) + CALL ACC_PCOPYIN (H, INT (SIZEOF (H), 4)) !$ACC PARALLEL LOOP DEFAULT (PRESENT) DO I = 1, N @@ -90,9 +90,9 @@ H(I) = I + 10 END DO - CALL ACC_COPYOUT (H) + CALL ACC_COPYOUT (H, INT (SIZEOF (H), 4)) IF (.NOT. SHARED_MEM) THEN - IF (ACC_IS_PRESENT (H)) CALL ABORT + IF (ACC_IS_PRESENT (H, INT (SIZEOF (H), 8))) CALL ABORT ENDIF DO I = 1, N @@ -100,7 +100,7 @@ END DO CALL ACC_PCOPYIN (H) - IF (.NOT. ACC_IS_PRESENT (H)) CALL ABORT + IF (.NOT. ACC_IS_PRESENT (H, INT (SIZEOF (H), 4))) CALL ABORT !$ACC PARALLEL LOOP DEFAULT (PRESENT) DO I = 1, N @@ -114,7 +114,7 @@ H(I) = I + 12 END DO - CALL ACC_PCOPYIN (H) + CALL ACC_PCOPYIN (H, INT (SIZEOF (H), 8)) !$ACC PARALLEL LOOP DEFAULT (PRESENT) DO I = 1, N @@ -142,7 +142,7 @@ H(I) = I + 16 END DO - CALL ACC_PCREATE (H) + CALL ACC_PCREATE (H, INT (SIZEOF (H), 8)) !$ACC PARALLEL LOOP DEFAULT (PRESENT) DO I = 1, N @@ -156,8 +156,8 @@ H(I) = I + 18 END DO - CALL ACC_UPDATE_SELF (H) - IF (.NOT. ACC_IS_PRESENT (H)) CALL ABORT + CALL ACC_UPDATE_SELF (H, INT (SIZEOF (H), 4)) + IF (.NOT. ACC_IS_PRESENT (H, INT (SIZEOF (H), 8))) CALL ABORT DO I = 1, N IF (H(I) .NE. I + MERGE (18, 17, SHARED_MEM)) CALL ABORT @@ -165,7 +165,7 @@ CALL ACC_DELETE (H) IF (.NOT. SHARED_MEM) THEN - IF (ACC_IS_PRESENT (H)) CALL ABORT + IF (ACC_IS_PRESENT (H, INT (SIZEOF (H), 4))) CALL ABORT ENDIF DEALLOCATE (H) Committed to gomp-4_0-branch in r248416: commit d2fa119480f85d652b76e57947bfc6e38df44b16 Author: tschwinge Date: Wed May 24 13:26:05 2017 +0000 Fortran OpenACC "openacc_lib.h": acc_pcopyin, acc_pcreate libgomp/ * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to acc_present_or_copyin and acc_present_or_create procedures, respectively. * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and generally different variants of OpenACC Runtime Library functions. * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. trunk r248412 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@248416 138bc75d-0d04-0410-961f-82ee72b054a4 --- libgomp/ChangeLog.gomp | 7 ++++ libgomp/openacc_lib.h | 42 ++++------------------- libgomp/testsuite/libgomp.oacc-fortran/lib-32-1.f | 36 ++++++++----------- libgomp/testsuite/libgomp.oacc-fortran/lib-32-2.f | 26 +++++++------- 4 files changed, 42 insertions(+), 69 deletions(-) diff --git libgomp/ChangeLog.gomp libgomp/ChangeLog.gomp index de4eeb4..bbd7ec6 100644 --- libgomp/ChangeLog.gomp +++ libgomp/ChangeLog.gomp @@ -1,5 +1,12 @@ 2017-05-24 Thomas Schwinge + * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to + acc_present_or_copyin and acc_present_or_create procedures, + respectively. + * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and + generally different variants of OpenACC Runtime Library functions. + * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. + * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file. * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. diff --git libgomp/openacc_lib.h libgomp/openacc_lib.h index 7c7c070..62fbb23 100644 --- libgomp/openacc_lib.h +++ libgomp/openacc_lib.h @@ -204,23 +204,9 @@ end interface interface acc_pcopyin - subroutine acc_pcopyin_32_h (a, len) - use iso_c_binding, only: c_int32_t - !GCC$ ATTRIBUTES NO_ARG_CHECK :: a - type (*), dimension (*) :: a - integer (c_int32_t) len - end subroutine - - subroutine acc_pcopyin_64_h (a, len) - use iso_c_binding, only: c_int64_t - !GCC$ ATTRIBUTES NO_ARG_CHECK :: a - type (*), dimension (*) :: a - integer (c_int64_t) len - end subroutine - - subroutine acc_pcopyin_array_h (a) - type (*), dimension (..), contiguous :: a - end subroutine + procedure :: acc_present_or_copyin_32_h + procedure :: acc_present_or_copyin_64_h + procedure :: acc_present_or_copyin_array_h end interface interface acc_create @@ -264,23 +250,9 @@ end interface interface acc_pcreate - subroutine acc_pcreate_32_h (a, len) - use iso_c_binding, only: c_int32_t - !GCC$ ATTRIBUTES NO_ARG_CHECK :: a - type (*), dimension (*) :: a - integer (c_int32_t) len - end subroutine - - subroutine acc_pcreate_64_h (a, len) - use iso_c_binding, only: c_int64_t - !GCC$ ATTRIBUTES NO_ARG_CHECK :: a - type (*), dimension (*) :: a - integer (c_int64_t) len - end subroutine - - subroutine acc_pcreate_array_h (a) - type (*), dimension (..), contiguous :: a - end subroutine + procedure :: acc_present_or_create_32_h + procedure :: acc_present_or_create_64_h + procedure :: acc_present_or_create_array_h end interface interface acc_copyout @@ -406,7 +378,7 @@ ! acc_map_data: Only available in C/C++ ! acc_unmap_data: Only available in C/C++ ! acc_deviceptr: Only available in C/C++ - ! acc_ostptr: Only available in C/C++ + ! acc_hostptr: Only available in C/C++ interface acc_is_present function acc_is_present_32_h (a, len) diff --git libgomp/testsuite/libgomp.oacc-fortran/lib-32-1.f libgomp/testsuite/libgomp.oacc-fortran/lib-32-1.f index 4ed866b..0dc7e1b 100644 --- libgomp/testsuite/libgomp.oacc-fortran/lib-32-1.f +++ libgomp/testsuite/libgomp.oacc-fortran/lib-32-1.f @@ -20,8 +20,8 @@ SHARED_MEM = ACC_IS_PRESENT (H) - CALL ACC_PRESENT_OR_CREATE (H) - IF (.NOT. ACC_IS_PRESENT (H)) CALL ABORT + CALL ACC_PRESENT_OR_CREATE (H, INT (SIZEOF (H), 4)) + IF (.NOT. ACC_IS_PRESENT (H, INT (SIZEOF (H), 8))) CALL ABORT !$ACC PARALLEL LOOP DEFAULT (PRESENT) DO I = 1, N @@ -48,8 +48,7 @@ H(I) = I + 4 END DO -! CALL ACC_PCREATE (H) - CALL ACC_PRESENT_OR_CREATE (H) + CALL ACC_PCREATE (H, INT (SIZEOF (H), 4)) !$ACC PARALLEL LOOP DEFAULT (PRESENT) DO I = 1, N @@ -63,7 +62,7 @@ H(I) = I + 6 END DO - CALL ACC_PRESENT_OR_COPYIN (H) + CALL ACC_PRESENT_OR_COPYIN (H, INT (SIZEOF (H), 8)) !$ACC PARALLEL LOOP DEFAULT (PRESENT) DO I = 1, N @@ -77,8 +76,7 @@ H(I) = I + 8 END DO -! CALL ACC_PCOPYIN (H) - CALL ACC_PRESENT_OR_COPYIN (H) + CALL ACC_PCOPYIN (H, INT (SIZEOF (H), 4)) !$ACC PARALLEL LOOP DEFAULT (PRESENT) DO I = 1, N @@ -92,18 +90,17 @@ H(I) = I + 10 END DO - CALL ACC_COPYOUT_FINALIZE (H) + CALL ACC_COPYOUT_FINALIZE (H, INT (SIZEOF (H), 4)) IF (.NOT. SHARED_MEM) THEN - IF (ACC_IS_PRESENT (H)) CALL ABORT + IF (ACC_IS_PRESENT (H, INT (SIZEOF (H), 8))) CALL ABORT ENDIF DO I = 1, N IF (H(I) .NE. I + MERGE (10, 9, SHARED_MEM)) CALL ABORT END DO -! CALL ACC_PCOPYIN (H) - CALL ACC_PRESENT_OR_COPYIN (H) - IF (.NOT. ACC_IS_PRESENT (H)) CALL ABORT + CALL ACC_PCOPYIN (H) + IF (.NOT. ACC_IS_PRESENT (H, INT (SIZEOF (H), 4))) CALL ABORT !$ACC PARALLEL LOOP DEFAULT (PRESENT) DO I = 1, N @@ -117,8 +114,7 @@ H(I) = I + 12 END DO -! CALL ACC_PCOPYIN (H) - CALL ACC_PRESENT_OR_COPYIN (H) + CALL ACC_PCOPYIN (H, INT (SIZEOF (H), 8)) !$ACC PARALLEL LOOP DEFAULT (PRESENT) DO I = 1, N @@ -132,8 +128,7 @@ H(I) = I + 14 END DO -! CALL ACC_PCREATE (H) - CALL ACC_PRESENT_OR_CREATE (H) + CALL ACC_PCREATE (H) !$ACC PARALLEL LOOP DEFAULT (PRESENT) DO I = 1, N @@ -147,8 +142,7 @@ H(I) = I + 16 END DO -! CALL ACC_PCREATE (H) - CALL ACC_PRESENT_OR_CREATE (H) + CALL ACC_PCREATE (H, INT (SIZEOF (H), 8)) !$ACC PARALLEL LOOP DEFAULT (PRESENT) DO I = 1, N @@ -162,8 +156,8 @@ H(I) = I + 18 END DO - CALL ACC_UPDATE_SELF (H) - IF (.NOT. ACC_IS_PRESENT (H)) CALL ABORT + CALL ACC_UPDATE_SELF (H, INT (SIZEOF (H), 4)) + IF (.NOT. ACC_IS_PRESENT (H, INT (SIZEOF (H), 8))) CALL ABORT DO I = 1, N IF (H(I) .NE. I + MERGE (18, 17, SHARED_MEM)) CALL ABORT @@ -171,7 +165,7 @@ CALL ACC_DELETE_FINALIZE (H) IF (.NOT. SHARED_MEM) THEN - IF (ACC_IS_PRESENT (H)) CALL ABORT + IF (ACC_IS_PRESENT (H, INT (SIZEOF (H), 4))) CALL ABORT ENDIF DEALLOCATE (H) diff --git libgomp/testsuite/libgomp.oacc-fortran/lib-32-2.f libgomp/testsuite/libgomp.oacc-fortran/lib-32-2.f index 3e88ce2..39315d2 100644 --- libgomp/testsuite/libgomp.oacc-fortran/lib-32-2.f +++ libgomp/testsuite/libgomp.oacc-fortran/lib-32-2.f @@ -20,8 +20,8 @@ SHARED_MEM = ACC_IS_PRESENT (H) - CALL ACC_PRESENT_OR_CREATE (H) - IF (.NOT. ACC_IS_PRESENT (H)) CALL ABORT + CALL ACC_PRESENT_OR_CREATE (H, INT (SIZEOF (H), 4)) + IF (.NOT. ACC_IS_PRESENT (H, INT (SIZEOF (H), 8))) CALL ABORT !$ACC PARALLEL LOOP DEFAULT (PRESENT) DO I = 1, N @@ -48,7 +48,7 @@ H(I) = I + 4 END DO - CALL ACC_PCREATE (H) + CALL ACC_PCREATE (H, INT (SIZEOF (H), 4)) !$ACC PARALLEL LOOP DEFAULT (PRESENT) DO I = 1, N @@ -62,7 +62,7 @@ H(I) = I + 6 END DO - CALL ACC_PRESENT_OR_COPYIN (H) + CALL ACC_PRESENT_OR_COPYIN (H, INT (SIZEOF (H), 8)) !$ACC PARALLEL LOOP DEFAULT (PRESENT) DO I = 1, N @@ -76,7 +76,7 @@ H(I) = I + 8 END DO - CALL ACC_PCOPYIN (H) + CALL ACC_PCOPYIN (H, INT (SIZEOF (H), 4)) !$ACC PARALLEL LOOP DEFAULT (PRESENT) DO I = 1, N @@ -90,9 +90,9 @@ H(I) = I + 10 END DO - CALL ACC_COPYOUT_FINALIZE (H) + CALL ACC_COPYOUT_FINALIZE (H, INT (SIZEOF (H), 4)) IF (.NOT. SHARED_MEM) THEN - IF (ACC_IS_PRESENT (H)) CALL ABORT + IF (ACC_IS_PRESENT (H, INT (SIZEOF (H), 8))) CALL ABORT ENDIF DO I = 1, N @@ -100,7 +100,7 @@ END DO CALL ACC_PCOPYIN (H) - IF (.NOT. ACC_IS_PRESENT (H)) CALL ABORT + IF (.NOT. ACC_IS_PRESENT (H, INT (SIZEOF (H), 4))) CALL ABORT !$ACC PARALLEL LOOP DEFAULT (PRESENT) DO I = 1, N @@ -114,7 +114,7 @@ H(I) = I + 12 END DO - CALL ACC_PCOPYIN (H) + CALL ACC_PCOPYIN (H, INT (SIZEOF (H), 8)) !$ACC PARALLEL LOOP DEFAULT (PRESENT) DO I = 1, N @@ -142,7 +142,7 @@ H(I) = I + 16 END DO - CALL ACC_PCREATE (H) + CALL ACC_PCREATE (H, INT (SIZEOF (H), 8)) !$ACC PARALLEL LOOP DEFAULT (PRESENT) DO I = 1, N @@ -156,8 +156,8 @@ H(I) = I + 18 END DO - CALL ACC_UPDATE_SELF (H) - IF (.NOT. ACC_IS_PRESENT (H)) CALL ABORT + CALL ACC_UPDATE_SELF (H, INT (SIZEOF (H), 4)) + IF (.NOT. ACC_IS_PRESENT (H, INT (SIZEOF (H), 8))) CALL ABORT DO I = 1, N IF (H(I) .NE. I + MERGE (18, 17, SHARED_MEM)) CALL ABORT @@ -165,7 +165,7 @@ CALL ACC_DELETE_FINALIZE (H) IF (.NOT. SHARED_MEM) THEN - IF (ACC_IS_PRESENT (H)) CALL ABORT + IF (ACC_IS_PRESENT (H, INT (SIZEOF (H), 4))) CALL ABORT ENDIF DEALLOCATE (H)