| Index: src/IceTranslator.cpp
|
| diff --git a/src/IceTranslator.cpp b/src/IceTranslator.cpp
|
| index ce54c218405d6c7466715f73b76ed27096728b75..181fd44c3dcb11e76d9fa7c61fa036c505205821 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() {}
|
| @@ -55,7 +69,7 @@ bool Translator::checkIfUnnamedNameSafe(const IceString &Name, const char *Kind,
|
| }
|
|
|
| void Translator::translateFcn(std::unique_ptr<Cfg> Func) {
|
| - Ctx->optQueueBlockingPush(std::move(Func));
|
| + Ctx->optQueueBlockingPush(makeUnique<CfgOptWorkItem>(std::move(Func)));
|
| }
|
|
|
| void Translator::lowerGlobals(
|
|
|