From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id E0452385842D; Mon, 5 Feb 2024 15:15:08 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E0452385842D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1707146108; bh=o7lfurx8MlNm3KwqpRVdaTo+B8r+MMzv+J0LDIHtvuU=; h=From:To:Subject:Date:In-Reply-To:References:From; b=AgiHcZI604Ax65i8AEC/nqJl9tJBKOJgXA/K+dh8kesfJrpBa74avSJvWBHICz5P8 6pafbx49x7g0cPrukEKN1I8FYHIihYAPsmVKPfqnb3as/JARvzEtuQQcQljeD4nC6a kmXtW64gRCvI+D0BaEeKNzpbEt+zdr6V2sPyslD4= From: "redi at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/113770] _Float64x support on g++ 13.2.0 Date: Mon, 05 Feb 2024 15:15:08 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c++ X-Bugzilla-Version: 13.2.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: redi at gcc dot gnu.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=3D113770 --- Comment #6 from Jonathan Wakely --- (In reply to Masahide Kashiwagi from comment #5) > I understand that g++ 13 no longer supports _Float64x in a very limited w= ay. No, that's incorrect. In GCC 12, there was no C++ support for that type, it was just a typedef for long double. In GCC 13 there is limited support for a distinct _Float64x type in the compiler, but you can't use it with the standard library (iostreams, numeric_limits, etc.) > Does this mean that if I want to use 80-bit extended floating point numbe= rs > in g++ 13 or later, is it best to use long double? If you use long double then you get exactly the same code as you would get using _Float64x with GCC 12. > Since long double may not be 80-bit on non-x86 architectures, I wanted to > use _Float64x or __float80, which are clearly 80-bit, if possible. You can use them, but you can't use _Float64x with the standard library. You need to convert to/from another type like long double to use standard APIs= .=