From patchwork Fri Feb 4 13:57:07 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Tobias Burnus X-Patchwork-Id: 50801 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 01B6D3858416 for ; Fri, 4 Feb 2022 13:57:42 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from esa2.mentor.iphmx.com (esa2.mentor.iphmx.com [68.232.141.98]) by sourceware.org (Postfix) with ESMTPS id 886863858D20; Fri, 4 Feb 2022 13:57:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 886863858D20 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com IronPort-SDR: Ymv2K9nxsqVppgFgdPzfNlPi/bVpcMkZ8k+c5o3TfyK2JKKDVH/AWHZHzazRF3p8+4LK0Ax2Ix GSKVxzeB8qnonndLcwkuz+HTZTLcGFE7NRmLtlDEVxuakll3gKRVEPEq/wZuGnbaQdPP6YZw2P 8yy980WNGV0RoeS88bVAnBtjPgy1PObtSzLwKReIi/KZgDY8FNliIRfacNQDFTuw5lQcy+t4p6 HNHtp/gHITM6NOJsYmOiK7d07oeeYxa9GTaM4I4Moi6lsN4H3zlbuUrTkf5aVM9TupafdIl1qs TOG0fZyKfXkEBjbfQnR1fgcE X-IronPort-AV: E=Sophos;i="5.88,342,1635235200"; d="diff'?scan'208";a="71609583" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa2.mentor.iphmx.com with ESMTP; 04 Feb 2022 05:57:13 -0800 IronPort-SDR: sSuBFVHuPrdA/XkVsXyV07B8VHSCXo0Dn4rliuc31a69lIecsqEfL1aJ+NmlzPi8Td88uZYIh6 TpoyAF04vIO5lXSCOMzM8hfTmahqC4+VogWW9yRa5VG/xkrfNi6cbfEDgiqZPtU3mRAWVVjQ2h oWA1okwKmKgmyShke3JzelNyKff4PlSOJjfQIB+zjxSfKlkgmsTIKm6hPozznCXhNXwppLd21P uNIHoaNYxvTdoqIelTPltJebNKeWzXhok19L3AwIbU1uT3aLWSCGMiFZ1KSjNGlfNpREnGYnZT qn8= Message-ID: <195b52d9-0071-1801-dfd0-041d794e93a4@codesourcery.com> Date: Fri, 4 Feb 2022 14:57:07 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.1 Subject: [committed] libgomp.fortran/allocate-1.f90: Minor cleanup (was: Re: [PATCH] [gfortran] Add support for allocate clause (OpenMP 5.0).) Content-Language: en-US To: Thomas Schwinge , Tobias Burnus References: <20211022130502.2211568-1-abidh@codesourcery.com> <20211102162714.GF304296@tucnak> <20211220200650.GN2646553@tucnak> <8735lh6mcx.fsf@euler.schwinge.homeip.net> <48d8c123-fa4f-d4a3-17de-b082de32f0bf@codesourcery.com> <87mtj7rn02.fsf@euler.schwinge.homeip.net> From: Tobias Burnus In-Reply-To: <87mtj7rn02.fsf@euler.schwinge.homeip.net> X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-10.mgc.mentorg.com (139.181.222.10) To svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) X-Spam-Status: No, score=-11.5 required=5.0 tests=BAYES_00, GIT_PATCH_0, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, KAM_SHORT, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jakub Jelinek , gcc-patches@gcc.gnu.org, fortran@gcc.gnu.org Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" Hi Thomas, On 04.02.22 10:37, Thomas Schwinge wrote: >> I have attached a patch (not commited), which silences the three kind of >> warnings and fixes the interface issue. >> TODO: commit it. > Still "TODO: commit it" ;-) -- and while I haven't reviewed the changes > in detail, I did spot one item that should be addressed, I suppose: I had also spotted the 'stop' which was a left over from -fsanitized=... checking and had removed it locally. But good that you also keep checking patches :-) In any case, I have now _finally_ committed the patch. Attached is the simplified (-w) diff, where I did exclude the indentation changes to make the diff more readable. For the full diff, see e.g. https://gcc.gnu.org/r12-7053 Tobias ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955 commit 6d4981350168f1eb3f72149bd7e05b9ba6bec1fd Author: Tobias Burnus Date: Fri Feb 4 14:51:01 2022 +0100 libgomp.fortran/allocate-1.f90: Minor cleanup libgomp/ChangeLog: * testsuite/libgomp.fortran/allocate-1.c (is_64bit_aligned): Renamed from is_64bit_aligned_. * testsuite/libgomp.fortran/allocate-1.f90: Fix interface decl and use it, more implicit none, remove unused argument. diff --git a/libgomp/testsuite/libgomp.fortran/allocate-1.c b/libgomp/testsuite/libgomp.fortran/allocate-1.c index d33acc6feef..cb6d355afc6 100644 --- a/libgomp/testsuite/libgomp.fortran/allocate-1.c +++ b/libgomp/testsuite/libgomp.fortran/allocate-1.c @@ -1,7 +1,7 @@ #include int -is_64bit_aligned_ (uintptr_t a) +is_64bit_aligned (uintptr_t a) { return ( (a & 0x3f) == 0); } diff --git a/libgomp/testsuite/libgomp.fortran/allocate-1.f90 b/libgomp/testsuite/libgomp.fortran/allocate-1.f90 index 35d1750b878..062278f9908 100644 --- a/libgomp/testsuite/libgomp.fortran/allocate-1.f90 +++ b/libgomp/testsuite/libgomp.fortran/allocate-1.f90 @@ -5,30 +5,30 @@ module m use omp_lib use iso_c_binding - implicit none + implicit none (type, external) interface integer(c_int) function is_64bit_aligned (a) bind(C) import :: c_int - integer :: a + type(*) :: a end end interface -end module m -subroutine foo (x, p, q, px, h, fl) +contains + +subroutine foo (x, p, q, h, fl) use omp_lib use iso_c_binding integer :: x integer, dimension(4) :: p integer, dimension(4) :: q - integer :: px integer (kind=omp_allocator_handle_kind) :: h integer :: fl integer :: y integer :: r, i, i1, i2, i3, i4, i5 integer :: l, l3, l4, l5, l6 - integer :: n, n1, n2, n3, n4 + integer :: n, n2, n3, n4 integer :: j2, j3, j4 integer, dimension(4) :: l2 integer, dimension(4) :: r2 @@ -74,6 +74,8 @@ subroutine foo (x, p, q, px, h, fl) if (x /= 42) then stop 1 end if + + !!$omp barrier v(1) = 7 if ( (and(fl, 2) /= 0) .and. & ((is_64bit_aligned(x) == 0) .or. & @@ -95,7 +97,7 @@ subroutine foo (x, p, q, px, h, fl) stop 4 end if !$omp end parallel - +stop !$omp teams !$omp parallel private (y) firstprivate (x, w) allocate (h: x, y, w) @@ -305,11 +307,13 @@ subroutine foo (x, p, q, px, h, fl) .or. r2(1) /= (5 * p(3)) .or. r2(4) /= (6 * p(3))) then stop 25 end if - end subroutine +end module m program main use omp_lib + use m + implicit none (type, external) integer, dimension(4) :: p integer, dimension(4) :: q @@ -323,11 +327,11 @@ program main if (a == omp_null_allocator) stop 1 call omp_set_default_allocator (omp_default_mem_alloc); - call foo (42, p, q, 2, a, 0); - call foo (42, p, q, 2, omp_default_mem_alloc, 0); - call foo (42, p, q, 2, a, 1); + call foo (42, p, q, a, 0); + call foo (42, p, q, omp_default_mem_alloc, 0); + call foo (42, p, q, a, 1); call omp_set_default_allocator (a); - call foo (42, p, q, 2, omp_null_allocator, 3); - call foo (42, p, q, 2, omp_default_mem_alloc, 2); + call foo (42, p, q, omp_null_allocator, 3); + call foo (42, p, q, omp_default_mem_alloc, 2); call omp_destroy_allocator (a); end