[Bug libstdc++/102743] [12 Regression] build failure for i686-w64-mingw32 target because of patch yesterday
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Oct 14 14:12:54 GMT 2021
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102743
--- Comment #1 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jonathan Wakely <redi@gcc.gnu.org>:
https://gcc.gnu.org/g:5e3f88838994b67580594c4679c839fff7cdeba0
commit r12-4404-g5e3f88838994b67580594c4679c839fff7cdeba0
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Thu Oct 14 13:20:57 2021 +0100
libstdc++: Fix brainwrong in path::_S_convert(T) [PR102743]
This function was supposed to check whether the parameter's value type
is the same as path::value_type, and therefore needs no conversion.
Instead it checks whether the parameter is the same as its own value
type, which is never true. This means we incorrectly return a string
view for the case where T is path::string_type, instead of just
returning the string itself. The only place that happens is
path::_S_convert_loc for Windows, where we call _S_convert with a
std::wstring rvalue.
This fixes the condition in _S_convert(T).
libstdc++-v3/ChangeLog:
PR libstdc++/102743
* include/bits/fs_path.h (path::_S_convert(T)): Fix condition
for returning the same string unchanged.
More information about the Gcc-bugs
mailing list