Merge pull request #8108 from google/benvanik-vm-yield
Preparing for VM coroutine yields via `vm.yield`.
diff --git a/llvm-external-projects/iree-compiler-api/python/IREECTransforms.cpp b/llvm-external-projects/iree-compiler-api/python/IREECTransforms.cpp
index c7c1d7a..74029b1 100644
--- a/llvm-external-projects/iree-compiler-api/python/IREECTransforms.cpp
+++ b/llvm-external-projects/iree-compiler-api/python/IREECTransforms.cpp
@@ -60,7 +60,10 @@
std::vector<const char *> cArgs;
for (auto &argObject : args) {
allocedArgs.push_back(py::cast<std::string>(argObject));
- cArgs.push_back(allocedArgs.back().c_str());
+ }
+ // Can only get c_str() after finished mutating the vector.
+ for (auto &argStr : allocedArgs) {
+ cArgs.push_back(argStr.c_str());
}
std::string errorMessage;