From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa3.mentor.iphmx.com (esa3.mentor.iphmx.com [68.232.137.180]) by sourceware.org (Postfix) with ESMTPS id E28623858C83; Tue, 15 Feb 2022 16:38:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E28623858C83 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: Gi6nP9Sgn4ErTCXW4wOEnhYkphbCGmt4Z3JVzoelK/VbuBOYr15tqiUpsNgiPvDR/zKVDIOLNS bU7Zo3KV1swn8DKotVOA+MoB2CApIGpzsHvHJTzSwp+SiQt9eOAXzYSw9xhaBBKDF1sel/e5vL aJKJrkFqJBjOUYwXwOHAnRrlXLLN7Jrb7IlFqyyJH6gAE3HT0YD3OEIs6l7scKjJZJRTJff1qA tmqlfJJ3Io0fyuosjLgC7q3i6VnAc67i39GqGm7kE+tIFypiYh1F50Xu3G+7xiKx9xra1rzEKf XzFMEPDLgIXruPHS/h1nqTFA X-IronPort-AV: E=Sophos;i="5.88,371,1635235200"; d="scan'208";a="71861030" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa3.mentor.iphmx.com with ESMTP; 15 Feb 2022 08:38:11 -0800 IronPort-SDR: ezMNp7/6Xv+r/h0Mri9HWaL9da+mV9wqipjqj5yC0yGEwVjMJUTYpm3MLrca7vYIJMxJHuVSUD qoEgx/tgFX/zSHRjGlByErxswhGmfuwh1Wb0eM57gVV1qcxMhCo00pBEhCd35JBxpcISxacquu jjx4oP4L1lvsD4SPc0NJtV4slkT4o9I1JmR4DrPzQyECKqJvDv3yKZ3RkPxV+Wr2M8biaokZRX 2s5+RKtQTgKN9fjAZHPNlUtZw/P+j7jvQt16iv3IyhXZ0r79kf+xkwv1/DMPjEIODXa28NgPEi eXw= From: Thomas Schwinge To: Tobias Burnus CC: Marcel Vollweiler , , , Jakub Jelinek Subject: Re: [Patch] Fortran/OpenMP: Fix depend-clause handling In-Reply-To: <5c942a0f-cc45-1919-af0b-57aa0fff8733@codesourcery.com> References: <5c942a0f-cc45-1919-af0b-57aa0fff8733@codesourcery.com> User-Agent: Notmuch/0.29.3+94~g74c3f1b (https://notmuchmail.org) Emacs/27.1 (x86_64-pc-linux-gnu) Date: Tue, 15 Feb 2022 17:38:03 +0100 Message-ID: <87a6esozkk.fsf@euler.schwinge.homeip.net> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-15.mgc.mentorg.com (139.181.222.15) To svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) X-Spam-Status: No, score=-6.0 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: fortran@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Fortran mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Feb 2022 16:38:18 -0000 Hi! On 2022-02-15T11:26:12+0100, Tobias Burnus wrote: > As found by Marcel, the 'depend' clause was differently handled in > 'omp depobj(...) depend(...)' and in 'omp task depend(...)'. (Cross-referencing GCC PR104545 "[OpenMP & Fortran] Pointers issue in combination of depobj construct and depend clause with depobj dependence-type".) > The attached patch [...] > gcc/fortran/trans-openmp.cc | 45 ++++- > gcc/testsuite/gfortran.dg/gomp/depend-4.f90 | 240 +++++++++++++++++++= ++++++ > libgomp/testsuite/libgomp.fortran/depend-4.f90 | 107 +++++++++++ The actual commit r12-7242-g3939c1b11279dc950d2f160eb940dd791f7b40f1 "Fortran/OpenMP: Fix depend-clause handling" also has: | gcc/testsuite/gfortran.dg/gomp/depend-5.f90 | 82 +++++++++ ... (yay for more test cases!), and that one I see partially FAIL in x86_64 '-m32'/'-mx32' testing: FAIL: gfortran.dg/gomp/depend-5.f90 -O scan-tree-dump-times origina= l "#pragma omp task depend\\(depobj:\\(\\*\\(integer\\(kind=3D16\\)\\[0:\\]= \\* restrict\\) aaa.data\\)\\[aaa.offset \\+ 2\\]\\)" 1 FAIL: gfortran.dg/gomp/depend-5.f90 -O scan-tree-dump-times origina= l "#pragma omp task depend\\(depobj:\\(\\*\\(integer\\(kind=3D16\\)\\[0:\\]= \\* restrict\\) daaa->data\\)\\[daaa->offset \\+ 2\\]\\)" 1 FAIL: gfortran.dg/gomp/depend-5.f90 -O scan-tree-dump-times origina= l "#pragma omp task depend\\(depobj:\\(\\*\\(integer\\(kind=3D16\\)\\[0:\\]= \\* restrict\\) doaaa->data\\)\\[doaaa->offset \\+ 2\\]\\)" 1 PASS: gfortran.dg/gomp/depend-5.f90 -O scan-tree-dump-times origina= l "#pragma omp task depend\\(depobj:\\(\\*daa\\)\\[1\\]\\)" 1 PASS: gfortran.dg/gomp/depend-5.f90 -O scan-tree-dump-times origina= l "#pragma omp task depend\\(depobj:\\(\\*doaa\\)\\[1\\]\\)" 1 FAIL: gfortran.dg/gomp/depend-5.f90 -O scan-tree-dump-times origina= l "#pragma omp task depend\\(depobj:\\*\\(integer\\(kind=3D16\\) \\*\\) \\(= aap.data \\+ \\(sizetype\\) \\(\\(aap.offset \\+ aap.dim\\[0\\].stride \\* = 2\\) \\* aap.span\\)\\)\\)" 1 FAIL: gfortran.dg/gomp/depend-5.f90 -O scan-tree-dump-times origina= l "#pragma omp task depend\\(depobj:\\*\\(integer\\(kind=3D16\\) \\*\\) \\(= daap->data \\+ \\(sizetype\\) \\(\\(daap->offset \\+ daap->dim\\[0\\].strid= e \\* 2\\) \\* daap->span\\)\\)\\)" 1 FAIL: gfortran.dg/gomp/depend-5.f90 -O scan-tree-dump-times origina= l "#pragma omp task depend\\(depobj:\\*\\(integer\\(kind=3D16\\) \\*\\) \\(= doaap->data \\+ \\(sizetype\\) \\(\\(doaap->offset \\+ doaap->dim\\[0\\].st= ride \\* 2\\) \\* doaap->span\\)\\)\\)" 1 PASS: gfortran.dg/gomp/depend-5.f90 -O scan-tree-dump-times origina= l "#pragma omp task depend\\(depobj:\\*\\*dosa\\)" 1 PASS: gfortran.dg/gomp/depend-5.f90 -O scan-tree-dump-times origina= l "#pragma omp task depend\\(depobj:\\*\\*dosp\\)" 1 PASS: gfortran.dg/gomp/depend-5.f90 -O scan-tree-dump-times origina= l "#pragma omp task depend\\(depobj:\\*\\*dsa\\)" 1 PASS: gfortran.dg/gomp/depend-5.f90 -O scan-tree-dump-times origina= l "#pragma omp task depend\\(depobj:\\*\\*dsp\\)" 1 PASS: gfortran.dg/gomp/depend-5.f90 -O scan-tree-dump-times origina= l "#pragma omp task depend\\(depobj:\\*doss\\)" 1 PASS: gfortran.dg/gomp/depend-5.f90 -O scan-tree-dump-times origina= l "#pragma omp task depend\\(depobj:\\*dss\\)" 1 PASS: gfortran.dg/gomp/depend-5.f90 -O scan-tree-dump-times origina= l "#pragma omp task depend\\(depobj:\\*sa\\)" 1 PASS: gfortran.dg/gomp/depend-5.f90 -O scan-tree-dump-times origina= l "#pragma omp task depend\\(depobj:\\*sp\\)" 1 PASS: gfortran.dg/gomp/depend-5.f90 -O scan-tree-dump-times origina= l "#pragma omp task depend\\(depobj:aa\\[1\\]\\)" 1 PASS: gfortran.dg/gomp/depend-5.f90 -O scan-tree-dump-times origina= l "#pragma omp task depend\\(depobj:ss\\)" 1 PASS: gfortran.dg/gomp/depend-5.f90 -O (test for excess errors) Gr=C3=BC=C3=9Fe Thomas ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstra=C3=9Fe 201= , 80634 M=C3=BCnchen; Gesellschaft mit beschr=C3=A4nkter Haftung; Gesch=C3= =A4ftsf=C3=BChrer: Thomas Heurung, Frank Th=C3=BCrauf; Sitz der Gesellschaf= t: M=C3=BCnchen; Registergericht M=C3=BCnchen, HRB 106955