[llvm] r257367 - Fix some GCC 4.7 issues with the new Orc remote JIT support

Lang Hames via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 11 11:33:18 PST 2016


Thanks for that!

- Lang.

On Mon, Jan 11, 2016 at 11:26 AM, David Blaikie via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

> Author: dblaikie
> Date: Mon Jan 11 13:26:01 2016
> New Revision: 257367
>
> URL: http://llvm.org/viewvc/llvm-project?rev=257367&view=rev
> Log:
> Fix some GCC 4.7 issues with the new Orc remote JIT support
>
> I'm still seeing GCC ICE locally, but figured I'd throw this at the wall
> & see if it sticks for the bots at least. Will continue investigating
> the ICE in any case.
>
> Modified:
>     llvm/trunk/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
>     llvm/trunk/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h
>
> Modified:
> llvm/trunk/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h?rev=257367&r1=257366&r2=257367&view=diff
>
> ==============================================================================
> --- llvm/trunk/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
> (original)
> +++ llvm/trunk/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
> Mon Jan 11 13:26:01 2016
> @@ -701,10 +701,11 @@ private:
>      if (auto EC = call<ReserveMem>(Channel, Id, Size, Align))
>        return EC;
>
> -    if (auto EC = expect<ReserveMemResponse>(Channel, [&](TargetAddress
> Addr) {
> -          RemoteAddr = Addr;
> -          return std::error_code();
> -        }))
> +    if (std::error_code EC =
> +            expect<ReserveMemResponse>(Channel, [&](TargetAddress Addr) {
> +              RemoteAddr = Addr;
> +              return std::error_code();
> +            }))
>        return EC;
>
>      return std::error_code();
>
> Modified:
> llvm/trunk/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h?rev=257367&r1=257366&r2=257367&view=diff
>
> ==============================================================================
> --- llvm/trunk/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h
> (original)
> +++ llvm/trunk/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h
> Mon Jan 11 13:26:01 2016
> @@ -163,13 +163,16 @@ private:
>      typedef int (*IntVoidFnTy)();
>
>      IntVoidFnTy Fn = nullptr;
> -    if (auto EC = handle<CallIntVoid>(Channel, [&](TargetAddress Addr) {
> -          Fn =
> reinterpret_cast<IntVoidFnTy>(static_cast<uintptr_t>(Addr));
> -          return std::error_code();
> -        }))
> +    if (std::error_code EC =
> +            handle<CallIntVoid>(Channel, [&](TargetAddress Addr) {
> +              Fn =
> reinterpret_cast<IntVoidFnTy>(static_cast<uintptr_t>(Addr));
> +              return std::error_code();
> +            }))
>        return EC;
>
> -    DEBUG(dbgs() << "  Calling " << reinterpret_cast<void *>(Fn) << "\n");
> +    DEBUG(dbgs() << "  Calling "
> +                 << reinterpret_cast<void
> *>(reinterpret_cast<intptr_t>(Fn))
> +                 << "\n");
>      int Result = Fn();
>      DEBUG(dbgs() << "  Result = " << Result << "\n");
>
> @@ -181,7 +184,7 @@ private:
>
>      MainFnTy Fn = nullptr;
>      std::vector<std::string> Args;
> -    if (auto EC = handle<CallMain>(
> +    if (std::error_code EC = handle<CallMain>(
>              Channel, [&](TargetAddress Addr, std::vector<std::string> &A)
> {
>                Fn =
> reinterpret_cast<MainFnTy>(static_cast<uintptr_t>(Addr));
>                Args = std::move(A);
> @@ -207,10 +210,11 @@ private:
>      typedef void (*VoidVoidFnTy)();
>
>      VoidVoidFnTy Fn = nullptr;
> -    if (auto EC = handle<CallIntVoid>(Channel, [&](TargetAddress Addr) {
> -          Fn =
> reinterpret_cast<VoidVoidFnTy>(static_cast<uintptr_t>(Addr));
> -          return std::error_code();
> -        }))
> +    if (std::error_code EC =
> +            handle<CallIntVoid>(Channel, [&](TargetAddress Addr) {
> +              Fn =
> reinterpret_cast<VoidVoidFnTy>(static_cast<uintptr_t>(Addr));
> +              return std::error_code();
> +            }))
>        return EC;
>
>      DEBUG(dbgs() << "  Calling " << reinterpret_cast<void *>(Fn) << "\n");
> @@ -387,7 +391,7 @@ private:
>    std::error_code handleReadMem() {
>      char *Src = nullptr;
>      uint64_t Size = 0;
> -    if (auto EC =
> +    if (std::error_code EC =
>              handle<ReadMem>(Channel, [&](TargetAddress RSrc, uint64_t
> RSize) {
>                Src = reinterpret_cast<char
> *>(static_cast<uintptr_t>(RSrc));
>                Size = RSize;
> @@ -410,7 +414,7 @@ private:
>    std::error_code handleReserveMem() {
>      void *LocalAllocAddr = nullptr;
>
> -    if (auto EC =
> +    if (std::error_code EC =
>              handle<ReserveMem>(Channel, [&](ResourceIdMgr::ResourceId Id,
>                                              uint64_t Size, uint32_t
> Align) {
>                auto I = Allocators.find(Id);
>
>
> _______________________________________________
> 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/20160111/7615309b/attachment.html>


More information about the llvm-commits mailing list