//===----------------------------------------------------------------------===//
#include "Win32.h"
-#include <llvm/System/Signals.h>
#include <stdio.h>
#include <vector>
-#ifdef __MING
+#ifdef __MINGW
#include <imagehlp.h>
#else
#include <dbghelp.h>
}
// RemoveFileOnSignal - The public API
-void sys::RemoveFileOnSignal(const std::string &Filename) {
+void sys::RemoveFileOnSignal(const sys::Path &Filename) {
RegisterHandler();
if (CleanupExecuted)
if (FilesToRemove == NULL)
FilesToRemove = new std::vector<sys::Path>;
- FilesToRemove->push_back(sys::Path(Filename));
+ FilesToRemove->push_back(Filename);
LeaveCriticalSection(&CriticalSection);
}
if (CleanupExecuted)
throw std::string("Process terminating -- cannot register for removal");
- if (path.is_directory()) {
+ if (path.isDirectory()) {
if (DirectoriesToRemove == NULL)
DirectoriesToRemove = new std::vector<sys::Path>;
if (FilesToRemove != NULL)
while (!FilesToRemove->empty()) {
try {
- FilesToRemove->back().destroy_file();
+ FilesToRemove->back().destroyFile();
} catch (...) {
}
FilesToRemove->pop_back();
if (DirectoriesToRemove != NULL)
while (!DirectoriesToRemove->empty()) {
try {
- DirectoriesToRemove->back().destroy_directory(true);
+ DirectoriesToRemove->back().destroyDirectory(true);
} catch (...) {
}
DirectoriesToRemove->pop_back();