commit e547d1341b1fe90672c9b982c4a98f8197237bb7 Author: Jonathan Wakely Date: Fri Oct 15 23:27:54 2021 libstdc++: Fix error in filesystem::path with Clang THis fixes teh following error seen with Clang: error: function '_S_convert>' with deduced return type cannot be used before it is defined return string_type(_S_convert(std::u8string_view(__str))); ^ libstdc++-v3/ChangeLog: * include/bits/fs_path.h (path::_S_convert(T)): Avoid recursive call to function with deduced return type. diff --git a/libstdc++-v3/include/bits/fs_path.h b/libstdc++-v3/include/bits/fs_path.h index d13fb12455c..4bd980952f1 100644 --- a/libstdc++-v3/include/bits/fs_path.h +++ b/libstdc++-v3/include/bits/fs_path.h @@ -630,7 +630,8 @@ namespace __detail // Calling _S_convert will return a u8string_view that // refers to __str and would dangle after this function returns. // Return a string_type instead, to avoid dangling. - return string_type(_S_convert(std::u8string_view(__str))); + return string_type(_S_convert(__str.data(), + __str.data() + __str.size())); #endif else return _S_convert(__str.data(), __str.data() + __str.size());