From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id E4982385020D; Thu, 7 Jul 2022 23:31:59 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E4982385020D From: "cvs-commit at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug libstdc++/104602] std::source_location::current uses cast from void* Date: Thu, 07 Jul 2022 23:31:59 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: libstdc++ X-Bugzilla-Version: unknown X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: cvs-commit at gcc dot gnu.org X-Bugzilla-Status: RESOLVED X-Bugzilla-Resolution: FIXED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 12.0 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 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Jul 2022 23:32:00 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D104602 --- Comment #10 from CVS Commits --- The releases/gcc-11 branch has been updated by Jonathan Wakely : https://gcc.gnu.org/g:ed377f0fb3419fceed25ae378aca2efca1a6b79d commit r11-10115-ged377f0fb3419fceed25ae378aca2efca1a6b79d Author: Jonathan Wakely Date: Thu Feb 24 21:33:44 2022 +0000 libstdc++: Fix cast in source_location::current() [PR104602] This fixes a problem for Clang, which is going to return a non-void pointer from __builtin_source_location(). The current definition of std::source_location::current() converts that to void* and then has to cast it back again in the body (which makes it invalid in a constant expression). By using the actual type of the returned pointer, we avoid the problematic cast for Clang. libstdc++-v3/ChangeLog: PR libstdc++/104602 * include/std/source_location (source_location::current): Use deduced type of __builtin_source_location(). (cherry picked from commit 41cbcf53dc60b7434b9ee059b3a734a47f5bf212)=