From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.gmx.net (mout.gmx.net [212.227.17.20]) by sourceware.org (Postfix) with ESMTPS id 92C473870902; Mon, 7 Sep 2020 19:46:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 92C473870902 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=gmx.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=anlauf@gmx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1599507979; bh=Pb7xqFmRQ6/igD85IXubZUacJihsfLFIlc7RChBB+cY=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=XU8VWP/kgpvqhJM8eRxOtnC8TtgvFt9M1ofGuuQcYQ2f4HltcfG4Dd30V97Z96sxA Ndl156klvBLp0Ib/wbv5QXfQZxlHRyczZX9KI5glNA7Iiv1N/5oRQme7Wq54Y2I98L klXEDRDI5g2aMq6+vAhP3LvzFlpDdaxJzVAGVHBo= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [93.207.83.209] ([93.207.83.209]) by web-mail.gmx.net (3c-app-gmx-bs55.server.lan [172.19.170.139]) (via HTTP); Mon, 7 Sep 2020 21:46:19 +0200 MIME-Version: 1.0 Message-ID: From: Harald Anlauf To: Thomas Koenig Cc: gcc-patches , fortran Subject: Re: *Ping*: [PATCH] PR fortran/96711 - ICE on NINT() Function Content-Type: text/plain; charset=UTF-8 Date: Mon, 7 Sep 2020 21:46:19 +0200 Importance: normal Sensitivity: Normal In-Reply-To: <3e6df45e-6270-d6eb-dcf0-0dee57158d66@netcologne.de> References: <3e6df45e-6270-d6eb-dcf0-0dee57158d66@netcologne.de> X-UI-Message-Type: mail X-Priority: 3 X-Provags-ID: V03:K1:4Ug92jMSaidZjCaGnQAuJNqWGCvZfUVumFZ8H15guOFVEsTe6XYUAqY50lbM8M+Do7N4q fCxVRpYkoohZm/H/xf9KFAcOjmsT6TU9fYhF1+wHJiPfX+16tr5bgeWBLHuY2P6gUeXoOVXHnojZ DQRg0i1pNgBC+3EWnU7Kh/30pGZ11G5lQRb3MU7dZS2m+vyOatFyP2WOM66knqFIa9kzZBOmRlGx OI5JRrgWGzXElSR9UHNVRDO5nYKk1oZyZnBEVuZZghIlvmS+syzQmIhdYhmJIkM/3gY1F8qSErys ZY= X-UI-Out-Filterresults: notjunk:1;V03:K0:NOIU9+C9X0E=:KeOz7LrYk55FH3iC+QaJDg IHlkGv2Hb3ubAgYgyaNE2uv9Zi1QAdJQMZwZuArzFHhbbjPUtaCKEwD1o6J8ix32joS4roE3S ks0JkZy/gmS0yW8zf1gAfxXXK8hhRSWta68n+b6YsnjUozMlr0XmjHgdlu7IazuygegLOuu/1 v1P53Ygf7yYveGTKwJBGTFKaQvv+PYymR93BMr/ZiajaKqJUg26ziQZUIhELxjkO8BQhFdv5Y 5KB6BDPtsYPQdscep3t71svKRahp8c//J/GnuScde823YSd+3De2zzE3aFT1lFCQ8sZE6L3+Q 0UBW84yIMTwRZTNhPnksAxHdbBGfAJdgosiGFVmTvh03s8+72MgBERVAiGCpIcyhV+yp4b6h0 qipeL/qJZVtJWcka8QxSgRL/fH5innUfathv3lGZVqIwRGOTRNIBhW7BfU31yo2R4sbKbdUGN wunNUe0jQ3U6xDgBqzbTfTEs+sIogfscs18IvAKKaITNVoI1ObPptDDLK7VgEqogbbWDoZ0kR XmpcWRoLS73+3LZR7cUGIXD6GvxVHE2Fp1dRNRHnuYMBcfCLS3HDs9olADp4OMA3QRo+vT0O9 7oug6WFEIoHOfz6xniiapi7sCPsXshXOtdW105mnUQzMO3cfAUUCN5ZXcfePrnGgNkRebT7MB IuHK8PNg865izUcPTotxG0rSFjA6P7/XR1yw5vQT3D+iYVw== Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-4.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: fortran@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Fortran mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Sep 2020 19:46:23 -0000 Hi Thomas, thanks for the review! > Regarding the patch: Could you change the test caes into a > run-time test and check for the results both for compile-time > simplification and evaluation at run-time? Just to make sure that > fold_convert wasn't trying to tell us something that convert doesn't... > > OK with that change. Here's the test I committed: ! { dg-do run } ! { dg-require-effective-target fortran_integer_16 } ! { dg-require-effective-target fortran_real_16 } ! { dg-additional-options "-fdump-tree-original" } ! { dg-final { scan-tree-dump-times "_gfortran_stop_numeric" 2 "original" = } } ! ! PR fortran/96711 - ICE on NINT() Function program p implicit none real(8) :: x real(16) :: y integer(16), parameter :: k1 =3D nint (2 / epsilon (x), kind(k1)) integer(16), parameter :: k2 =3D nint (2 / epsilon (y), kind(k2)) integer(16), parameter :: m1 =3D 9007199254740992_16 = !2**53 integer(16), parameter :: m2 =3D 10384593717069655257060992658440192_16 = !2**113 integer(16), volatile :: m x =3D 2 / epsilon (x) y =3D 2 / epsilon (y) m =3D nint (x, kind(m)) ! print *, m if (k1 /=3D m1) stop 1 if (m /=3D m1) stop 2 m =3D nint (y, kind(m)) ! print *, m if (k2 /=3D m2) stop 3 if (m /=3D m2) stop 4 end program Harald