Fix a file overwrite bug in llvm-ar introduced by changes to
[oota-llvm.git] / lib / System / Win32 / Signals.cpp
index c1658f95c5300c5bd0dd780b73796ede6147efb5..afe6c8dfa643309ff324493288c26a4f45431648 100644 (file)
 //===----------------------------------------------------------------------===//
 
 #include "Win32.h"
-#include <llvm/System/Signals.h>
 #include <stdio.h>
 #include <vector>
 
-#ifdef __MING
+#ifdef __MINGW
 #include <imagehlp.h>
 #else
 #include <dbghelp.h>
@@ -72,7 +71,7 @@ static void RegisterHandler() {
 }
 
 // RemoveFileOnSignal - The public API
-void sys::RemoveFileOnSignal(const std::string &Filename) {
+void sys::RemoveFileOnSignal(const sys::Path &Filename) {
   RegisterHandler();
 
   if (CleanupExecuted)
@@ -81,7 +80,7 @@ void sys::RemoveFileOnSignal(const std::string &Filename) {
   if (FilesToRemove == NULL)
     FilesToRemove = new std::vector<sys::Path>;
 
-  FilesToRemove->push_back(sys::Path(Filename));
+  FilesToRemove->push_back(Filename);
 
   LeaveCriticalSection(&CriticalSection);
 }
@@ -93,7 +92,7 @@ void sys::RemoveDirectoryOnSignal(const sys::Path& path) {
   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>;
 
@@ -124,7 +123,7 @@ static void Cleanup() {
   if (FilesToRemove != NULL)
     while (!FilesToRemove->empty()) {
       try {
-        FilesToRemove->back().destroy_file();
+        FilesToRemove->back().destroyFile();
       } catch (...) {
       }
       FilesToRemove->pop_back();
@@ -133,7 +132,7 @@ static void Cleanup() {
   if (DirectoriesToRemove != NULL)
     while (!DirectoriesToRemove->empty()) {
       try {
-        DirectoriesToRemove->back().destroy_directory(true);
+        DirectoriesToRemove->back().destroyDirectory(true);
       } catch (...) {
       }
       DirectoriesToRemove->pop_back();