[clang-offload-bundler] use std::forward_list for storing temp file names [NFC]
Use a different container that preserves existing elements on modification for storing temporary file names. Current container can make StringRefs returned earlier invalid on reallocation. Reviewed By: ABataev Differential Revision: https://reviews.llvm.org/D92010
This commit is contained in:
parent
c8414fa941
commit
1b0ca81a6c
|
@ -41,6 +41,7 @@
|
|||
#include <cassert>
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
#include <forward_list>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <system_error>
|
||||
|
@ -394,7 +395,7 @@ public:
|
|||
if (std::error_code EC =
|
||||
sys::fs::createTemporaryFile("clang-offload-bundler", "tmp", File))
|
||||
return createFileError(File, EC);
|
||||
Files.push_back(File);
|
||||
Files.push_front(File);
|
||||
|
||||
if (Contents) {
|
||||
std::error_code EC;
|
||||
|
@ -403,11 +404,11 @@ public:
|
|||
return createFileError(File, EC);
|
||||
OS.write(Contents->data(), Contents->size());
|
||||
}
|
||||
return Files.back();
|
||||
return Files.front();
|
||||
}
|
||||
|
||||
private:
|
||||
SmallVector<SmallString<128u>, 4u> Files;
|
||||
std::forward_list<SmallString<128u>> Files;
|
||||
};
|
||||
|
||||
} // end anonymous namespace
|
||||
|
|
Loading…
Reference in New Issue