| Index: src/IceTranslator.cpp
|
| diff --git a/src/IceTranslator.cpp b/src/IceTranslator.cpp
|
| index 04e2ffd9aee677c91a34bf5cf1617e58a4945e7a..b58573a4e0712c2b231d7da7bd5196681bcd003b 100644
|
| --- a/src/IceTranslator.cpp
|
| +++ b/src/IceTranslator.cpp
|
| @@ -24,6 +24,20 @@
|
|
|
| namespace Ice {
|
|
|
| +class CfgOptWorkItem final : public OptWorkItem {
|
| + CfgOptWorkItem() = delete;
|
| + CfgOptWorkItem(const CfgOptWorkItem &) = delete;
|
| + CfgOptWorkItem &operator=(const CfgOptWorkItem &) = delete;
|
| +
|
| +public:
|
| + CfgOptWorkItem(std::unique_ptr<Cfg> Func) : Func(std::move(Func)) {}
|
| + std::unique_ptr<Cfg> getParsedCfg() override { return std::move(Func); }
|
| + ~CfgOptWorkItem() override = default;
|
| +
|
| +private:
|
| + std::unique_ptr<Ice::Cfg> Func;
|
| +};
|
| +
|
| Translator::Translator(GlobalContext *Ctx)
|
| : Ctx(Ctx), NextSequenceNumber(GlobalContext::getFirstSequenceNumber()),
|
| ErrorStatus() {}
|
| @@ -57,7 +71,7 @@ bool Translator::checkIfUnnamedNameSafe(const std::string &Name,
|
| }
|
|
|
| void Translator::translateFcn(std::unique_ptr<Cfg> Func) {
|
| - Ctx->optQueueBlockingPush(std::move(Func));
|
| + Ctx->optQueueBlockingPush(makeUnique<CfgOptWorkItem>(std::move(Func)));
|
| }
|
|
|
| void Translator::lowerGlobals(
|
|
|