mclow.lists added inline comments.

================
Comment at: src/experimental/filesystem/operations.cpp:699
     auto count = remove_all_impl(p, mec);
     if (mec) {
+        if (mec != errc::no_such_file_or_directory) {
----------------
I don't think that this is quite right, either.

In the case where you call `remove_all("doesNotExist", &ec)`, this code will 
return 0, but will fail to clear `ec`.

Maybe this (untested) version instead:
    if (ec) ec->clear();
    auto count = remove_all_impl(p, mec);
    if (mec) {
      if (mec == errc::no_such_file_or_directory)
        return 0;
      else {
        set_or_throw(mec, ec, "remove_all", p);
        return static_cast<std::uintmax_t>(-1);
      }
    }
    return count;




https://reviews.llvm.org/D41830



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to