]> gcc.gnu.org Git - gcc.git/commit
libstdc++: Fix brainwrong in path::_S_convert(T) [PR102743]
authorJonathan Wakely <jwakely@redhat.com>
Thu, 14 Oct 2021 12:20:57 +0000 (13:20 +0100)
committerJonathan Wakely <jwakely@redhat.com>
Thu, 14 Oct 2021 14:12:34 +0000 (15:12 +0100)
commit5e3f88838994b67580594c4679c839fff7cdeba0
tree7fdc4e3f4e8b4fa0e397147ea0844e5f8cff92c4
parent3d95867ce6867239aa4ae69a9c82915660e1071d
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.
libstdc++-v3/include/bits/fs_path.h
This page took 0.058251 seconds and 5 git commands to generate.