[llvm] r214379 - A std::unique_ptr case I missed in the previous patch.
David Blaikie
dblaikie at gmail.com
Thu Jul 31 11:58:36 PDT 2014
On Wed, Jul 30, 2014 at 8:36 PM, Rafael Espindola
<rafael.espindola at gmail.com> wrote:
> Author: rafael
> Date: Wed Jul 30 22:36:00 2014
> New Revision: 214379
>
> URL: http://llvm.org/viewvc/llvm-project?rev=214379&view=rev
> Log:
> A std::unique_ptr case I missed in the previous patch.
>
> Modified:
> llvm/trunk/include/llvm/Object/Archive.h
> llvm/trunk/lib/Object/Archive.cpp
> llvm/trunk/lib/Object/MachOUniversal.cpp
>
> Modified: llvm/trunk/include/llvm/Object/Archive.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Object/Archive.h?rev=214379&r1=214378&r2=214379&view=diff
> ==============================================================================
> --- llvm/trunk/include/llvm/Object/Archive.h (original)
> +++ llvm/trunk/include/llvm/Object/Archive.h Wed Jul 30 22:36:00 2014
> @@ -165,7 +165,8 @@ public:
> };
>
> Archive(std::unique_ptr<MemoryBuffer> Source, std::error_code &EC);
> - static ErrorOr<Archive *> create(std::unique_ptr<MemoryBuffer> Source);
> + static ErrorOr<std::unique_ptr<Archive>>
> + create(std::unique_ptr<MemoryBuffer> Source);
>
> enum Kind {
> K_GNU,
>
> Modified: llvm/trunk/lib/Object/Archive.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Object/Archive.cpp?rev=214379&r1=214378&r2=214379&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Object/Archive.cpp (original)
> +++ llvm/trunk/lib/Object/Archive.cpp Wed Jul 30 22:36:00 2014
> @@ -184,12 +184,13 @@ Archive::Child::getAsBinary(LLVMContext
> return createBinary(std::move(*BuffOrErr), Context);
> }
>
> -ErrorOr<Archive *> Archive::create(std::unique_ptr<MemoryBuffer> Source) {
> +ErrorOr<std::unique_ptr<Archive>>
> +Archive::create(std::unique_ptr<MemoryBuffer> Source) {
> std::error_code EC;
> std::unique_ptr<Archive> Ret(new Archive(std::move(Source), EC));
> if (EC)
> return EC;
> - return Ret.release();
> + return std::move(Ret);
Unnecessary/pessimizing (disables NRVO) std::move here.
> }
>
> Archive::Archive(std::unique_ptr<MemoryBuffer> Source, std::error_code &ec)
>
> Modified: llvm/trunk/lib/Object/MachOUniversal.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Object/MachOUniversal.cpp?rev=214379&r1=214378&r2=214379&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Object/MachOUniversal.cpp (original)
> +++ llvm/trunk/lib/Object/MachOUniversal.cpp Wed Jul 30 22:36:00 2014
> @@ -88,10 +88,11 @@ std::error_code MachOUniversalBinary::Ob
> std::string ObjectName = Parent->getFileName().str();
> std::unique_ptr<MemoryBuffer> ObjBuffer(
> MemoryBuffer::getMemBuffer(ObjectData, ObjectName, false));
> - ErrorOr<Archive *> Obj = Archive::create(std::move(ObjBuffer));
> + ErrorOr<std::unique_ptr<Archive>> Obj =
> + Archive::create(std::move(ObjBuffer));
> if (std::error_code EC = Obj.getError())
> return EC;
> - Result.reset(Obj.get());
> + Result = std::move(Obj.get());
> return object_error::success;
> }
> return object_error::parse_failed;
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list