From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 1FB3D3858D32; Sun, 5 Mar 2023 11:18:05 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1FB3D3858D32 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1678015085; bh=wNeBoT1OHG3GlscRXX7NnKXZyZYszI1noFsCcfnk6S4=; h=From:To:Subject:Date:In-Reply-To:References:From; b=K1iPZGKoJ5EuWQrpt6jm/a8k/F7gOg/YL6HGVXc+kUF02XE7F7lQ8SGPBH+zJobox YCANEsJODjHTeDAxsFS9R5JZveJSZ6MsJgz2hB/eOUGGkY5cmpvM/7uYB9kl2wto5L 1bBAoQXv2FjXTxebJP3S6GIpAQ7C+OxGSoRn3XEY= From: "i.nixman at autistici dot org" To: gcc-bugs@gcc.gnu.org Subject: [Bug libquadmath/94756] strtoflt128 assigns some subnormals incorrectly on MS Windows Date: Sun, 05 Mar 2023 11:18:04 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: libquadmath X-Bugzilla-Version: 8.3.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: i.nixman at autistici dot org 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 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D94756 --- Comment #15 from niXman --- (In reply to Jakub Jelinek from comment #13) > Fixed now on the trunk. I'd wait a little bit with backports, though I > think the gmp-param.h change doesn't need backporting. unfortunately, the bug is still present on i686-mingw-w64. this test has failed: #include #include #include #include =20 int main(void) { __float128 f1, f2; char buffer0[50], buffer1[50]; f1 =3D strtoflt128("1e-4941", NULL); f2 =3D 1e-4941Q; quadmath_snprintf(buffer0, 45, "%Qa", f1); printf("f1: %s\n", buffer0); quadmath_snprintf(buffer1, 45, "%Qa", f2); printf("f2: %s\n", buffer1); fflush(stdout); assert(strcmp(buffer0, buffer1) =3D=3D 0); return 0; } the output: f1: 0x0.0000000cc64f1cc4376f7da08f39p-16382 f2: 0x0.000000014707e946d257f2f674b9p-16382=