vsapsai added inline comments.
================
Comment at: clang/lib/Frontend/CompilerInstance.cpp:647-649
+          if (std::error_code EC = llvm::sys::fs::remove(OF.TempFilename))
+            getDiagnostics().Report(diag::err_fe_error_removing)
+              << OF.TempFilename << EC.message();
----------------
Does the same logic as in ASTUnit.cpp apply here? I.e. if we failed to rename a 
file and emitted a message about it, should we also have a message about the 
failure to remove a file?


================
Comment at: clang/lib/Frontend/CompilerInstance.cpp:1444-1445
       // Remove the file.
-      llvm::sys::fs::remove(File->path());
+      if ((EC = llvm::sys::fs::remove(File->path())))
+        break;
 
----------------
Why are you interrupting the loop when cannot remove a file? Don't know which 
option is the right one, just want to know your reasons.


================
Comment at: clang/lib/Frontend/PrecompiledPreamble.cpp:107-111
 TemporaryFiles::~TemporaryFiles() {
   llvm::MutexGuard Guard(Mutex);
   for (const auto &File : Files)
-    llvm::sys::fs::remove(File.getKey());
+    if (std::error_code EC = llvm::sys::fs::remove(File.getKey()))
+      llvm::report_fatal_error("failed removing file \"" + File.getKey() + 
"\": " + EC.message());
----------------
Clangd uses `PrecompiledPreamble` but not `TemporaryFiles` as far as I can 
tell. `report_fatal_error` can be really disruptive for clangd, so it would be 
good to get an opinion from somebody working on it if this change would impact 
them.


================
Comment at: clang/lib/Serialization/GlobalModuleIndex.cpp:935-936
   // Remove the old index file. It isn't relevant any more.
-  llvm::sys::fs::remove(IndexPath);
+  if (std::error_code EC = llvm::sys::fs::remove(IndexPath))
+    return llvm::createStringError(EC, "failed removing \"" + IndexPath + 
"\"");
 
----------------
Don't have a strong opinion but it looks odd that here in `createStringError` 
you are using string concatenation and a few lines lower `%s`.


================
Comment at: llvm/include/llvm/Support/FileUtilities.h:52-53
       if (DeleteIt) {
-        // Ignore problems deleting the file.
-        sys::fs::remove(Filename);
+        if (std::error_code EC = sys::fs::remove(Filename))
+          report_fatal_error("failed removing file \"" + Filename + "\": " + 
EC.message());
       }
----------------
For this change opinion of LLDB developers can be useful as it changes existing 
`FileRemover` behavior.


================
Comment at: llvm/lib/Support/GraphWriter.cpp:102
+    if (std::error_code EC = sys::fs::remove(Filename))
+      errs() << "Failed removing file\"" << Filename << "\": " << EC.message() 
<< '\n';
     errs() << " done. \n";
----------------
Please add an extra space before `\"`


================
Comment at: llvm/lib/Support/LockFileManager.cpp:58
+    if (std::error_code EC = sys::fs::remove(LockFileName))
+      report_fatal_error("Unable to remove invalid lock file \"" + 
LockFileName + "\": " + EC.message());
     return None;
----------------
Do you plan to keep using `report_fatal_error` in `LockFileManager`? It should 
help with discovering problems with modules but making it a fatal error forever 
seems a little bit scary.


================
Comment at: llvm/lib/Support/LockFileManager.cpp:211
+      if (std::error_code EC = sys::fs::remove(UniqueLockFileName))
+        S.append("also failed to remove the lockfile");
       setError(Out.error(), S);
----------------
Do you need to start the string with a space to separate a filename and "also"?


================
Comment at: llvm/lib/Support/LockFileManager.cpp:295-297
+    report_fatal_error("failed removing file\"" + LockFileName + "\": " + 
EC.message());
+  if (std::error_code EC = sys::fs::remove(UniqueLockFileName))
+    report_fatal_error("failed removing file\"" + UniqueLockFileName + "\": " 
+ EC.message());
----------------
Here too, extra space before `\"`


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D65545/new/

https://reviews.llvm.org/D65545



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

Reply via email to