[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:
Sergey Dmitriev 2020-11-24 07:52:46 -08:00
parent c8414fa941
commit 1b0ca81a6c
1 changed files with 4 additions and 3 deletions

View File

@ -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