From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) by sourceware.org (Postfix) with ESMTPS id 1E3B13858C5E; Tue, 30 Jan 2024 20:37:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1E3B13858C5E Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmx.de ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 1E3B13858C5E Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=212.227.15.15 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1706647022; cv=none; b=JoKcgXrd8+3qgYgRQuoXlxOfUAwxuItmB7MNQowQpxjJUyKgCZmX/v93GwcB6BLPQSooNkIJuZfq1JqYmaFe3U6QzH/7U188nyKVoLxl1xv1gOR8w04nD9BEra9ng7dr92KaNQs+5RoEq6AJsHN3UN25Ll/AXyr7xWufET6f5GM= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1706647022; c=relaxed/simple; bh=xk9TMgtj1c/Bn7v7YWPC+zHkvytegvgJrXWqNtIBVfE=; h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:To:From; b=iCvFL4YBYBnTjGpCLjiN4pUgIqUIYQd+cOLWbxmyPd9J+fOEkUZHjOmTeYEpxq+RypbQoVZj+q0899v/aJ3t06lQpw1tEuMnL4vYAAth56bCQGtR1s87uNwwBa4Ad4fzdnm2zC7+TzIY2oDVx0RjI1iNcnJb35SMkDW9a28mbgc= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417; t=1706647018; x=1707251818; i=anlauf@gmx.de; bh=xk9TMgtj1c/Bn7v7YWPC+zHkvytegvgJrXWqNtIBVfE=; h=X-UI-Sender-Class:Date:Subject:To:References:From:In-Reply-To; b=UPD4roZshp/xyL1WY189FUp5f0e0/YfK2ksZyLmG8JyCc7oYfMF3EgY3p5cMQ6iR iApxT/v+Ts+q0/uBoCNECziK023pfMZCCi+vs4RyphtnrHozaq8LnzLRxRZIBp2KM 40rAW/KU9N1ay6wYlUcl0+j9u9cTE8JuXelnanrZ1KsAVqXHtfCflS9e133+vRMaO yG3Fen4NcNMhXxQuE51WUmiFStBwHvZhABw7x8q+lDeO09jFumgyB7BMYrmhmq9Lc Bxa1xSLsfNqdMzWl5QqPQTHMMSfYD7Um41bqeIgs41N8Q+cITsGYGLSOm7PwVlVEY tHb1kpa6AuiBVKGIUA== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.178.29] ([79.251.0.210]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MuDXz-1rBzp1147J-00ubZQ; Tue, 30 Jan 2024 21:36:58 +0100 Message-ID: <830f8286-e41b-4dc2-99c2-8acf789c5d39@gmx.de> Date: Tue, 30 Jan 2024 21:36:57 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [patch, libgfortran] PR111022 ES0.0E0 format gave ES0.dE0 output with d too high. To: Jerry D , gfortran , gcc-patches Newsgroups: gmane.comp.gcc.patches,gmane.comp.gcc.fortran References: <472c030d-fc70-4997-b16a-e84a0c97bee2@gmail.com> Content-Language: en-US From: Harald Anlauf In-Reply-To: <472c030d-fc70-4997-b16a-e84a0c97bee2@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:pw+pFk7xGXiJFYWzigJi156CKtz/gdjxXJ+hELGAZMkSQpdwDRQ uRBECJwgbmrON8gQ6UZLDJFm8OV28sKN7AxukGa+uV7NK1D23xxltzPEnPni3cFVi8P3/2n qA9K9QmBC6w1G0Oj/HiLiNdUTft/y81T2vC0iO0H9ZwWZoOSBbHVGgI9MYMHoEEmPkBxj33 BlecUAVuhkfmrbpi7ZAXQ== UI-OutboundReport: notjunk:1;M01:P0:HtTPHCznsa8=;dIj8IOYPH3O/Uy+Fxb1iegf2VnX L5qHpa5GhiYXYx3EnxVZS5/vXO7723EkiI3eHgbhlgK+29zX0f7RsgXCNdOL4buE22RLeJpG8 55jgwbdKRDe1ULXucDUY2fSK7PyFDv/Z14Xyz2cDaMkbkvq+L4XcIHwaVP/MTMaUvlwEAbfei OgLKw9sH+yRV3DjRgeN/l9NBZpL5YC3gIVngTtP9bb79Oo6aRenhY3FZo4lSJAK/EhglUMJMM ThJXeX+JVGlbI05h6BVQ3opnT13jLZl+SmGdUzvsyzmIJZymm1vkHnTTmXgBiaPq0lc/7rPpt ZLefuBORQEBPrFFXxRVPIJjbH8+0BIkJ7zTP/ZYCygoYh/6k2Ya5nuXfrVE0xKlpxNV4RpHnX 0wwEgNkv2pP9EkLddurC/gejYw/wrVsDNG8Q0qYdH11BtfsbkvCDYbupJsQ0E1NKNqqHXgJbC QOdGQFDQpTUo8HCtLToXxA5OSRf+YhuMz7BbgpjPMQrdtDC+uqVp7KvawIr89RblKS7yd9iFz at8Ytl4m+5bHY7g5SOZRIBlKO/QS6GjRC4bwr+6TmjQmGFnfUaBZ1bLIGpJnZGTJ1D9SbDTXj XTPwPJaNHf+IQ5Yim/NzqNpO7/OdEVqWAgQ3WXEzITcvJCyriBRFFjkyNBUFwq7DF97v6f9ga 2zACzeuknVTpeczgp2wNs8hehW8dSHXjLc+XJ7z9Y1wvD+oK4D1eJpj+81e04zN0qIYHPAoo1 wQodaiWovo5oX5L8TDgd27PQANLGzzWizvesCdMN5mNhYmklGWdszwTW4T9UFkrJZoaFOrCK8 ZpLxzMDb7NrlyuE5f6REl7nz1s3PxoFOJoY6f0xEIM8LSHI0ekNnOfxi0YZqV3yFewk5mw9dQ Pd4TwIpMqmDAlAkrok7y0xPYImbLRqfw234qM/AISsyLJC/tIobZ9QiaIIOq2elkmwetrHsPz KwmPWAt8I0MzvtNmYw5kR7PnrVY= X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,BODY_8BITS,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,RCVD_IN_BARRACUDACENTRAL,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Hi Jerry, Am 30.01.24 um 19:15 schrieb Jerry D: > The attached patch attempts to fix the handling of the EN0.0E0 and > ES0.0E0 formatting by correctly calculating the number of digits needed > for the exponents and building those exponents into the float string. while your patch addresses ENw.dE0 and ESw.dE0 formatting, it does not fix Ew.dE0, which can be seen with the following test: write(buffer,"(E0.3E0)") .6660_4 print *, buffer write(buffer,"(E0.3)") .6660_4 print *, buffer I get even with your patch: 0.666 0.666 but would have expected: 0.666E+0 ! F2018 & F2023, table 13.1 0.666E+0 ! F2023, table 13.1 The latter one is a bit ambiguous in F2018, but certainly gfortran's current output in wrong. Can you please check, and if you can fix that too, it would be great. And if we do not want to be dependent on the standard version at runtime, I'd rather go for F2023. > My editor judiciously deleted trailing blank spaces in a number of > places.=C2=A0 I apologize for the clutter, but we might as well get rid = of it > now. > > Two existing test cases needed to be adjusted and I am adding one new > test case to capture the changes in our testsuite. > > Regression tested on X86_64. > > OK for trunk?=C2=A0 Do we need to backport this? If the above is fixed, I would not object a backport to the 13-branch, but only if that change has sinked in for a while, and someone else agrees on it. Thanks so far! Harald > Regards, > > Jerry > > Author: Jerry DeLisle > Date:=C2=A0=C2=A0 Tue Jan 30 09:45:49 2024 -0800 > > =C2=A0=C2=A0=C2=A0 libgfortran: EN0.0E0 and ES0.0E0 format editing. > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 PR l= ibgfortran/111022 > > =C2=A0=C2=A0=C2=A0 F2018 and F2023 standards added zero width exponents= . This required > =C2=A0=C2=A0=C2=A0 additional special handing in the process of buildin= g formatted > =C2=A0=C2=A0=C2=A0 floating point strings. > > =C2=A0=C2=A0=C2=A0 libgfortran/ChangeLog: > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * io= /write.c (select_buffer): Whitespace. > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (wri= te_real): Whitespace. > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (wri= te_real_w0): Adjust logic for d=3D=3D0. > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * io= /write_float.def (determine_precision): Whitespace. > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (bui= ld_float_string): Calculate the width of the E0 exponents. > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (bui= ld_infnan_string): Whitespace. > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (CAL= CULATE_EXP): Whitespace > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (qua= dmath_snprintf): Whitespace. > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (det= ermine_en_precision): Whitespace. > > =C2=A0=C2=A0=C2=A0 gcc/testsuite/ChangeLog: > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * gf= ortran.dg/pr96436_4.f90: Changed for ES0 and EN0. > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * gf= ortran.dg/pr96436_5.f90: Changed for ES0 and EN0. > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * gf= ortran.dg/pr111022.f90: New test.