From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 881D83858D35; Sun, 14 Apr 2024 18:14:52 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 881D83858D35 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1713118492; bh=hIlPEQ0M/nTh20T8xpVszLYQrHMaFHhC/ZobA1yODYI=; h=From:To:Subject:Date:In-Reply-To:References:From; b=YVWVE36h4ZSd2LdLjWttfpR757NpTsxR7c7uMVKVRjIZCg2l5y0KAjMgwvNwle6CS I8KD9AK+KnTkdIfvw3mGMQ5mPWJ52/u5VxFTF9Ef3/5XwUW7LvZFWAciyvRgZ5CPCH BTzKhzEXneuGhSomng/UZxwQfyddqW+Js+bjFvDQ= From: "jvdelisle at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug libfortran/114618] Format produces incorrect output when contains 1x, ok when uses " " Date: Sun, 14 Apr 2024 18:14:51 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: libfortran X-Bugzilla-Version: 13.1.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: jvdelisle at gcc dot gnu.org X-Bugzilla-Status: REOPENED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: jvdelisle at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: assigned_to 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 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D114618 Jerry DeLisle changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|unassigned at gcc dot gnu.org |jvdelisle at gcc do= t gnu.org --- Comment #5 from Jerry DeLisle --- A further reduction: program tryit implicit none integer, parameter :: wp =3D kind(0d0) real(kind=3Dwp) :: pi =3D 3.14159265358979323846264338327950288419716939937510582097494459230_wp character(40) gen1 character(40) gen2 gen1 =3D '(19("."),t1,g0,1x,t21,g0)' gen2 =3D '(19("."),t1,g0," ",t21,g0)' write (*, gen1) 'RADIX', radix(pi) write (*, gen1) 'RANGE', range(pi) write (*,'(80("-"))') write (*, gen2) 'RADIX', radix(pi) write (*, gen2) 'RANGE', range(pi) end program tryit This is indeed ugly. Note the embedded NULLs. $ ./a.out >newdata $ xxd newdata 00000000: 5241 4449 582e 2e2e 2e2e 2e2e 2e2e 2e2e RADIX........... 00000010: 2e2e 2e00 0000 0000 0000 0000 0000 0000 ................ 00000020: 0020 320a 5241 4e47 452e 2e2e 2e2e 2e2e . 2.RANGE....... 00000030: 2e2e 2e2e 2e2e 2e00 0000 0000 0000 0000 ................ 00000040: 0000 0000 0020 3330 370a 2d2d 2d2d 2d2d ..... 307.------ 00000050: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- 00000060: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- 00000070: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- 00000080: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- 00000090: 2d2d 2d2d 2d2d 2d2d 2d2d 0a52 4144 4958 ----------.RADIX 000000a0: 202e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2032 ............. 2 000000b0: 0a52 414e 4745 202e 2e2e 2e2e 2e2e 2e2e .RANGE ......... 000000c0: 2e2e 2e2e 2033 3037 0a .... 307.=