PR78111 fix fallback code for filesystem::canonical

PR libstdc++/78111
	* src/filesystem/ops.cc (canonical): Set error for non-existent path.

From-SVN: r241549
This commit is contained in:
Jonathan Wakely 2016-10-26 12:29:36 +01:00 committed by Jonathan Wakely
parent d955ae42cc
commit 9dbe100a41
2 changed files with 10 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2016-10-26 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/78111
* src/filesystem/ops.cc (canonical): Set error for non-existent path.
2016-10-26 Uros Bizjak <ubizjak@gmail.com>
* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Include <limits.h>

View File

@ -142,7 +142,11 @@ fs::canonical(const path& p, const path& base, error_code& ec)
#endif
if (!exists(pa, ec))
return result;
{
if (!ec)
ec = make_error_code(std::errc::no_such_file_or_directory);
return result;
}
// else: we know there are (currently) no unresolvable symlink loops
result = pa.root_path();