Index: src/IceTranslator.cpp |
diff --git a/src/IceTranslator.cpp b/src/IceTranslator.cpp |
index c05f58dc1151a4fec5010c1fc452d999061c53a6..e2bc5fcfd6e14399814a05b53c9a1f1b02a95bba 100644 |
--- a/src/IceTranslator.cpp |
+++ b/src/IceTranslator.cpp |
@@ -53,8 +53,9 @@ bool Translator::checkIfUnnamedNameSafe(const IceString &Name, const char *Kind, |
return false; |
} |
-void Translator::translateFcn(Cfg *Func) { |
- Ctx->cfgQueueBlockingPush(Func); |
+void Translator::translateFcn(std::unique_ptr<Cfg> Func) { |
+ Cfg::updateTLS(nullptr); |
+ Ctx->cfgQueueBlockingPush(Func.release()); |
if (Ctx->getFlags().NumTranslationThreads == 0) { |
Ctx->translateFunctions(); |
} |