X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=tools%2Fgold%2Fgold-plugin.cpp;h=27fe3acd0cf17709b02a2f1142bf8b97f13a6fa4;hb=b3cabb44c32b5a3aba9b4d23aae9723d498ea7a9;hp=40f5fd60865324e7d68a2975842ba7ef7fad2199;hpb=f010c464a11444733ec67e31aace8bcebeaf2588;p=oota-llvm.git diff --git a/tools/gold/gold-plugin.cpp b/tools/gold/gold-plugin.cpp index 40f5fd60865..27fe3acd0cf 100644 --- a/tools/gold/gold-plugin.cpp +++ b/tools/gold/gold-plugin.cpp @@ -17,6 +17,7 @@ #include "llvm-c/lto.h" #include "llvm/ADT/OwningPtr.h" #include "llvm/Support/Errno.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/MemoryBuffer.h" #include "llvm/Support/Path.h" #include "llvm/Support/Program.h" @@ -64,7 +65,7 @@ namespace { lto_codegen_model output_type = LTO_CODEGEN_PIC_MODEL_STATIC; std::string output_name = ""; std::list Modules; - std::vector Cleanup; + std::vector Cleanup; lto_code_gen_t code_gen = NULL; } @@ -447,18 +448,18 @@ static ld_plugin_status all_symbols_read_hook(void) { } if (options::obj_path.empty()) - Cleanup.push_back(sys::Path(objPath)); + Cleanup.push_back(objPath); return LDPS_OK; } static ld_plugin_status cleanup_hook(void) { - std::string ErrMsg; - - for (int i = 0, e = Cleanup.size(); i != e; ++i) - if (Cleanup[i].eraseFromDisk(false, &ErrMsg)) + for (int i = 0, e = Cleanup.size(); i != e; ++i) { + error_code EC = sys::fs::remove(Cleanup[i]); + if (EC) (*message)(LDPL_ERROR, "Failed to delete '%s': %s", Cleanup[i].c_str(), - ErrMsg.c_str()); + EC.message().c_str()); + } return LDPS_OK; }