From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id F3AB43851C09; Sun, 28 Jun 2020 21:20:15 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org F3AB43851C09 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1593379216; bh=qzg+xpABJ7ZG2LPCiFrmjoU7tdOXzovtiQNBm19Qkas=; h=From:To:Subject:Date:In-Reply-To:References:From; b=TJy9DXLD4YXf+AzCDNn5q+0Wuxin+eK8tZ1DeqQU8nGJrfz6k8dOrCRhBnSs/U9kJ 3c1COySlnfUGmQTg5oypz6CuFLb6AHHLpb4w5iRSiKXeoTkShOqCbrZI9L56/flNRw cIMxUTPn4FvAWpHbcruU2wl4e8Qkwt6bpCFQ5/L0= From: "urbanjost at comcast dot net" To: gcc-bugs@gcc.gnu.org Subject: [Bug fortran/95947] PACK intrinsic returns blank strings when an allocatable character array with allocatable length is used Date: Sun, 28 Jun 2020 21:20:15 +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: 8.3.1 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: urbanjost at comcast dot net X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 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: Sun, 28 Jun 2020 21:20:16 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D95947 --- Comment #2 from urbanjost at comcast dot net --- Per feedback made test more like a unit test: TEST PROGRAM: character(len=3D:),allocatable :: m(:) !!NOTE: WORKS WITH len=3D10 inst= ead of len=3D: logical :: passed m =3D [ character(len=3D10) :: 'ape','bat','cat','dog','eel','fly','g= nu'] m =3D pack( m, mask=3Dm(:)(2:2) =3D=3D 'a' ) print *, "m =3D ", m, "; expected is ['bat','cat'= ]" passed=3Dall(m.eq.['bat','cat']) print *, "size(m) =3D ", size(m), "; expected is 2" passed=3Dsize(m).eq.2.and.passed print *, "len(m) =3D ", len(m), "; expected is 10" passed=3Dlen(m).eq.10.and.passed print *, "len_trim(m) =3D ", len_trim(m), "; expected is 3 3" passed=3Dall(len_trim(m).eq.[3,3]).and.passed if(passed)then stop 'PASSED' else write(*,'("FAILED")') stop 1 endif end RESULTS: m =3D ; expected is ['bat','cat'] size(m) =3D 2 ; expected is 2 len(m) =3D 10 ; expected is 10 len_trim(m) =3D 0 0 ; expected is 3 3 FAILED STOP 1=