diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2016-10-26 12:29:36 +0100 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2016-10-26 12:29:36 +0100 |
commit | 9dbe100a4157843d12b192e4aae504b43af4774b (patch) | |
tree | a8f58a83e6f36909a2b5fe605e719be8acf47939 /libstdc++-v3 | |
parent | d955ae42ccf81d040ca64a2a43916f640f6f46ee (diff) | |
download | gcc-9dbe100a4157843d12b192e4aae504b43af4774b.zip gcc-9dbe100a4157843d12b192e4aae504b43af4774b.tar.gz gcc-9dbe100a4157843d12b192e4aae504b43af4774b.tar.bz2 |
PR78111 fix fallback code for filesystem::canonical
PR libstdc++/78111
* src/filesystem/ops.cc (canonical): Set error for non-existent path.
From-SVN: r241549
Diffstat (limited to 'libstdc++-v3')
-rw-r--r-- | libstdc++-v3/ChangeLog | 5 | ||||
-rw-r--r-- | libstdc++-v3/src/filesystem/ops.cc | 6 |
2 files changed, 10 insertions, 1 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 8287f71..7d02cf4 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -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> diff --git a/libstdc++-v3/src/filesystem/ops.cc b/libstdc++-v3/src/filesystem/ops.cc index 32c9c5e..9abcee0 100644 --- a/libstdc++-v3/src/filesystem/ops.cc +++ b/libstdc++-v3/src/filesystem/ops.cc @@ -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(); |