[llvm] r284745 - Put the move ctor for PassManager back for now, it breaks some builds.

David Blaikie via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 24 09:33:25 PDT 2016


Might be worth updating the comment about why it's there now.

On Thu, Oct 20, 2016 at 9:59 AM Benjamin Kramer via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

> Author: d0k
> Date: Thu Oct 20 11:50:07 2016
> New Revision: 284745
>
> URL: http://llvm.org/viewvc/llvm-project?rev=284745&view=rev
> Log:
> Put the move ctor for PassManager back for now, it breaks some builds.
>
> For some reason using the default move ctor creates undefined references
> to it.
>
> Modified:
>     llvm/trunk/include/llvm/IR/PassManager.h
>
> Modified: llvm/trunk/include/llvm/IR/PassManager.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/PassManager.h?rev=284745&r1=284744&r2=284745&view=diff
>
> ==============================================================================
> --- llvm/trunk/include/llvm/IR/PassManager.h (original)
> +++ llvm/trunk/include/llvm/IR/PassManager.h Thu Oct 20 11:50:07 2016
> @@ -241,8 +241,16 @@ public:
>    ///
>    /// It can be passed a flag to get debug logging as the passes are run.
>    PassManager(bool DebugLogging = false) : DebugLogging(DebugLogging) {}
> -  PassManager(PassManager &&) = default;
> -  PassManager &operator=(PassManager &&) = default;
> +  // We have to explicitly define all the special member functions
> because MSVC
> +  // refuses to generate them.
> +  PassManager(PassManager &&Arg)
> +      : Passes(std::move(Arg.Passes)),
> +        DebugLogging(std::move(Arg.DebugLogging)) {}
> +  PassManager &operator=(PassManager &&RHS) {
> +    Passes = std::move(RHS.Passes);
> +    DebugLogging = std::move(RHS.DebugLogging);
> +    return *this;
> +  }
>
>    /// \brief Run all of the passes in this manager over the IR.
>    PreservedAnalyses run(IRUnitT &IR, AnalysisManagerT &AM,
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161024/387cefe7/attachment.html>


More information about the llvm-commits mailing list