[Orc] Take another shot at working around the GCC 4.7 ICE in
authorLang Hames <lhames@gmail.com>
Tue, 12 Jan 2016 17:04:12 +0000 (17:04 +0000)
committerLang Hames <lhames@gmail.com>
Tue, 12 Jan 2016 17:04:12 +0000 (17:04 +0000)
http://lab.llvm.org:8011/builders/clang-x86_64-ubuntu-gdb-75/builds/27486

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@257486 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h

index 596a075..d1bbaf3 100644 (file)
@@ -102,47 +102,44 @@ public:
                                 uint32_t RWDataAlign) override {
       Unmapped.push_back(ObjectAllocs());
 
-//      DEBUG(dbgs() << "Allocator " << Id << " reserved:\n");
+      DEBUG(dbgs() << "Allocator " << Id << " reserved:\n");
 
       if (CodeSize != 0) {
-        if (std::error_code EC = Client.reserveMem(
-                Unmapped.back().RemoteCodeAddr, Id, CodeSize, CodeAlign)) {
-          (void)EC;
-          // FIXME; Add error to poll.
-          llvm_unreachable("Failed reserving remote memory.");
-        }
-//         DEBUG(dbgs() << "  code: "
-//                      << format("0x%016x", Unmapped.back().RemoteCodeAddr)
-//                      << " (" << CodeSize << " bytes, alignment " << CodeAlign
-//                      << ")\n");
+        std::error_code EC = Client.reserveMem(
+          Unmapped.back().RemoteCodeAddr, Id, CodeSize, CodeAlign);
+        // FIXME; Add error to poll.
+        assert(!EC && "Failed reserving remote memory.");
+        (void)EC;
+        DEBUG(dbgs() << "  code: "
+                     << format("0x%016x", Unmapped.back().RemoteCodeAddr)
+                     << " (" << CodeSize << " bytes, alignment " << CodeAlign
+                     << ")\n");
       }
 
       if (RODataSize != 0) {
-        if (std::error_code EC =
+        std::error_code EC =
                 Client.reserveMem(Unmapped.back().RemoteRODataAddr, Id,
-                                  RODataSize, RODataAlign)) {
-          (void)EC;
-          // FIXME; Add error to poll.
-          llvm_unreachable("Failed reserving remote memory.");
-        }
-//         DEBUG(dbgs() << "  ro-data: "
-//                      << format("0x%016x", Unmapped.back().RemoteRODataAddr)
-//                      << " (" << RODataSize << " bytes, alignment "
-//                      << RODataAlign << ")\n");
+                                  RODataSize, RODataAlign);
+        // FIXME; Add error to poll.
+        assert(!EC && "Failed reserving remote memory.");
+        (void)EC;
+        DEBUG(dbgs() << "  ro-data: "
+                     << format("0x%016x", Unmapped.back().RemoteRODataAddr)
+                     << " (" << RODataSize << " bytes, alignment "
+                     << RODataAlign << ")\n");
       }
 
       if (RWDataSize != 0) {
-        if (std::error_code EC =
-                Client.reserveMem(Unmapped.back().RemoteRWDataAddr, Id,
-                                  RWDataSize, RWDataAlign)) {
-          (void)EC;
-          // FIXME; Add error to poll.
-          llvm_unreachable("Failed reserving remote memory.");
-        }
-//         DEBUG(dbgs() << "  rw-data: "
-//                      << format("0x%016x", Unmapped.back().RemoteRWDataAddr)
-//                      << " (" << RWDataSize << " bytes, alignment "
-//                      << RWDataAlign << ")\n");
+        std::error_code EC =
+          Client.reserveMem(Unmapped.back().RemoteRWDataAddr, Id,
+                            RWDataSize, RWDataAlign);
+        // FIXME; Add error to poll.
+        assert(!EC && "Failed reserving remote memory.");
+        (void)EC;
+        DEBUG(dbgs() << "  rw-data: "
+                     << format("0x%016x", Unmapped.back().RemoteRWDataAddr)
+                     << " (" << RWDataSize << " bytes, alignment "
+                     << RWDataAlign << ")\n");
       }
     }