From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa2.mentor.iphmx.com (esa2.mentor.iphmx.com [68.232.141.98]) by sourceware.org (Postfix) with ESMTPS id 3C74B3858298; Tue, 21 Mar 2023 10:09:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3C74B3858298 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com X-IronPort-AV: E=Sophos;i="5.98,278,1673942400"; d="scan'208";a="102482911" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa2.mentor.iphmx.com with ESMTP; 21 Mar 2023 02:09:23 -0800 IronPort-SDR: wqogcGE+fI4gD0+1/2WbPXOvxlMs+p76Qt8b4wALqbokvlCvuj3//syUHnketMLuS0qFwrNE1w BgbmPLXT9BHHPkK1jpVaLv4w+ZXWUTxweyZfuluLqHKi3E9ANI5qdFxTuHA8o4hgf5KNLc+hs4 Nd4rw27cLmrAGP7T6+l2Q7jTBBLtoVcFcP50qPnigPfOMGgFbTZIyZ8NM0qYx0/+Kqk2vCvR4h H1fFDlPxCmbH3fQVmgGUvXo7M90Y2uiVwmLPKBgcm0BOLnT2PrOpB2IEoS4dOF+UiQkfUZ4syV K3o= Message-ID: <22416d66-11d3-e836-f786-696269c5907c@codesourcery.com> Date: Tue, 21 Mar 2023 11:09:16 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 Subject: Re: [PATCHv4, gfortran] Escalate failure when Hollerith constant to real conversion fails [PR103628] Content-Language: en-US To: HAO CHEN GUI , gcc-patches , fortran CC: Segher Boessenkool , David , Kewen.Lin , Peter Bergner References: From: Tobias Burnus In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: quoted-printable X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-10.mgc.mentorg.com (139.181.222.10) To svr-ies-mbx-12.mgc.mentorg.com (139.181.222.12) X-Spam-Status: No, score=-5.3 required=5.0 tests=BAYES_00,HEADER_FROM_DIFFERENT_DOMAINS,KAM_DMARC_STATUS,NICE_REPLY_A,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,TXREP 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, LGTM, except for: On 21.03.23 07:29, HAO CHEN GUI wrote: > @@ -4708,7 +4710,12 @@ do_simplify (gfc_intrinsic_sym *specific, gfc_expr= *e) > > finish: > if (result =3D=3D &gfc_bad_expr) > - return false; > + { > + if (errorcount =3D=3D old_errorcount > + && (!gfc_buffered_p () && !gfc_error_flag_test ())) > + gfc_error ("Cannot simplify expression at %L", &e->where); > + return false; > + } The second line of the condition now tests: * 'If buffering is disabled and no pending buffed error exists then show an error' But if should tests: * 'If (buffering is disabled) OR ((it is enabled but) no buffered error exi= sts) then show=C2=B9 an error' Thus, you should use an '||' not a '&&': + && (!gfc_buffered_p () || !gfc_error_flag_test ())) as proposed in previous email. A quick regtesting shows no fails when doing= so. OK with that change. (=C2=B9or rather: 'then buffer an error') Thanks for the patch! Tobias ----------------- 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