JuliaLang/julia — pull request #8060 by ArchRobison (2014-08-19 21:17:41+00:00)
Title: Fix for compatibility with LLVM trunk changes that use unique_ptr<Module>

LLVM trunk recently started using ```std::unique_ptr``` in some interfaces that previous took ```Module*```. The change also avoid gratuitous copying of an ```EngineBuilder``` object (and all its string members). The latter point is obscured by C++ syntax. In the original code, a temporary object of type ```EngineBuilder``` is created, and then a chain of methods are applied to it, each returning a reference to the temporary. Then ```eb``` was being copy-constructed from the last reference in the chain.