https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104602
--- Comment #7 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jonathan Wakely <r...@gcc.gnu.org>: https://gcc.gnu.org/g:41cbcf53dc60b7434b9ee059b3a734a47f5bf212 commit r12-7379-g41cbcf53dc60b7434b9ee059b3a734a47f5bf212 Author: Jonathan Wakely <jwak...@redhat.com> 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().