Implement LWG issue 2725. The issue should move this meeting

llvm-svn: 273325
This commit is contained in:
Eric Fiselier 2016-06-21 22:11:16 +00:00
parent 606a338db9
commit 310d3b975f
2 changed files with 7 additions and 1 deletions

View File

@ -1393,7 +1393,9 @@ bool exists(const path& __p) {
inline _LIBCPP_INLINE_VISIBILITY
bool exists(const path& __p, error_code& __ec) _NOEXCEPT {
return exists(__status(__p, &__ec));
auto __s = __status(__p, &__ec);
if (status_known(__s)) __ec.clear();
return exists(__s);
}
inline _LIBCPP_INLINE_VISIBILITY

View File

@ -65,6 +65,10 @@ TEST_CASE(test_exist_not_found)
{
const path p = StaticEnv::DNE;
TEST_CHECK(exists(p) == false);
std::error_code ec = GetTestEC();
TEST_CHECK(exists(p, ec) == false);
TEST_CHECK(!ec);
}
TEST_CASE(test_exists_fails)