https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125956
--- Comment #17 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jonathan Wakely <[email protected]>: https://gcc.gnu.org/g:83f0ad40a472d98bf1ed38b7d1c4865fdcb5e068 commit r17-1846-g83f0ad40a472d98bf1ed38b7d1c4865fdcb5e068 Author: Jonathan Wakely <[email protected]> Date: Wed Jun 24 16:56:25 2026 +0100 libstdc++: Workaround legacy iconv signature [PR125956] The signature of iconv in SUSv2 and legacy systems used const char** for the second parameter. We already have a workaround for this in the <ext/codecvt_specializations.h> header, but were not handling this when using iconv in src/c++20/format.cc. Define a concept to check that we can call iconv with a char** and then use that to decide which type we cast the input pointer to. libstdc++-v3/ChangeLog: PR libstdc++/125956 * src/c++20/format.cc [_GLIBCXX_HAVE_ICONV] (iconv_input): New concept. (__encoding::conv) [_GLIBCXX_HAVE_ICONV]: Use iconv_input to decide which type to cast the input pointer to. Reviewed-by: Tomasz KamiÅski <[email protected]>
