From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 993683890421; Mon, 1 Mar 2021 08:34:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 993683890421 From: "burnus at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: =?UTF-8?B?W0J1ZyBmb3J0cmFuLzk0MDcwXSBBc3N1bWVkLXJhbmsgYXJyYXlz?= =?UTF-8?B?IOKAkyBib3VuZHMgbWlzaGFuZGxlZCwgU0laRS9TSEFQRS9VQk9VTkQvTEJP?= =?UTF-8?B?VU5E?= Date: Mon, 01 Mar 2021 08:34:54 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: fortran X-Bugzilla-Version: 10.0 X-Bugzilla-Keywords: wrong-code X-Bugzilla-Severity: normal X-Bugzilla-Who: burnus at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P4 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Mar 2021 08:34:54 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D94070 --- Comment #6 from Tobias Burnus --- Some bound issues were fixed with PR99043 =E2=80=93 but my bet is that the = BIND(C) issues still exist. (=E2=86=92 testcase (C + Fortran) attached to this PR). * * * Additionally: PR 94020 (duplicate of this PR) with attachment 47960 seems t= o be mostly fixed, however for the following case, the result is wrong. if 'lb' (or second argument to 'foo') is >=3D 0, size2 =3D=3D 0 =E2=80=93 o= therwise, size2 > 0'. Expected: same result as for PRODUCT(SHAPE(ARRAY,KIND)) (=E2=86=92 16.9.179 SIZE (ARRAY [, DIM, KIND])) That is: lb =3D 5 =E2=86=92 shape =3D [5 -1] =E2=86=92 -5 lb =3D -12 =E2=86=92 shape =3D [5 - 1] =E2=86=92 -5 implicit none integer :: A(5,5) call foo(a,-12) call foo(a,0) call foo(a,5) contains subroutine foo(x,lb) integer :: lb integer :: x(5,lb:*) print *, size2(x) if (size2(x) /=3D -5) stop 1 end integer function size2(y) integer :: y(..) size2 =3D size(y) end end=