From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 2D989385829D; Mon, 5 Feb 2024 14:32:18 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2D989385829D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1707143538; bh=yT0V6Bk3dlMkQ6ocpZldLr03EjMYRPpkFBJE+nM22Jo=; h=From:To:Subject:Date:In-Reply-To:References:From; b=SRmmosdiR6HJ1dy+rhfZocLufi25hFZRr5tsmQO/86WpcE4cqj+w1XnTVBaqy8d+z ch3wm5sQNHh4lYslPVQMK20B5envrHwE8Srv/1OsuPm32krciOEmuFwFQmItzm4fN8 MiSriqd+eH8Bp4NXKDGnn7EDZo9+4AHbmzOYaC5Q= 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 14:32:17 +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 #2 from Jonathan Wakely --- (In reply to Masahide Kashiwagi from comment #0) > Also no problem with clang++ 16.0.6. That's because Clang doesn't support _Float64x or _Float64 at all. Those names get defined as typedefs by libc: # 214 "/usr/include/bits/floatn-common.h" 3 4 typedef float _Float32; # 251 "/usr/include/bits/floatn-common.h" 3 4 typedef double _Float64; # 268 "/usr/include/bits/floatn-common.h" 3 4 typedef double _Float32x; # 285 "/usr/include/bits/floatn-common.h" 3 4 typedef long double _Float64x; So when you use Clang, _Float64x is just another typedef for long double. If you are happy to just use long double, then use long double. Don't try to use extended floating point types that are not part of the C++ standard.=