diff options
Diffstat (limited to 'llvm/lib/Support/Windows/Signals.inc')
| -rw-r--r-- | llvm/lib/Support/Windows/Signals.inc | 7 | 
1 files changed, 6 insertions, 1 deletions
diff --git a/llvm/lib/Support/Windows/Signals.inc b/llvm/lib/Support/Windows/Signals.inc index 648d6a5..da68994 100644 --- a/llvm/lib/Support/Windows/Signals.inc +++ b/llvm/lib/Support/Windows/Signals.inc @@ -421,8 +421,13 @@ bool sys::RemoveFileOnSignal(StringRef Filename, std::string *ErrMsg) {      return true;    } -  if (FilesToRemove == NULL) +  if (FilesToRemove == NULL) {      FilesToRemove = new std::vector<std::string>; +    std::atexit([]() { +      delete FilesToRemove; +      FilesToRemove = NULL; +    }); +  }    FilesToRemove->push_back(std::string(Filename));  | 
