Use non-throwing is_directory in filesystem::create_directory
authorJonathan Wakely <jwakely@redhat.com>
Fri, 9 Mar 2018 01:09:58 +0000 (01:09 +0000)
committerJonathan Wakely <redi@gcc.gnu.org>
Fri, 9 Mar 2018 01:09:58 +0000 (01:09 +0000)
commit311735dbc6783b8669850b0b882834bd41a4e1f1
tree8501e89c1ac01bf8dd5824c58c4140fc0e204e54
parent0bfd8ca928bacfe66700b28976c903d1fe46fbe5
Use non-throwing is_directory in filesystem::create_directory

The create_dir helper was calling the throwing form of
filesystem::is_directory instead of passing the error_code argument.
Since std::filesystem::create_directory(const path&, error_code&) is
noexcept, it would call std::terminate if an error occurred in
is_directory.

Passing the error_code also takes care of clearing it in the case where
is_directory returns true.

src/filesystem/ops.cc (create_dir): Pass error_code to is_directory.
src/filesystem/std-ops.cc (create_dir): Likewise.

From-SVN: r258375
libstdc++-v3/ChangeLog
libstdc++-v3/src/filesystem/ops.cc
libstdc++-v3/src/filesystem/std-ops.cc