[PATCH] D62120: [ORC] fix unreachable code bug

Nick Desaulniers via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun May 19 22:28:42 PDT 2019


nickdesaulniers created this revision.
nickdesaulniers added a reviewer: lhames.
Herald added subscribers: llvm-commits, hiraditya.
Herald added a project: LLVM.

This was flagged in https://www.viva64.com/en/b/0629/ under "Snippet No.
31".

I assume that the CtorDtorsByPriority map is always meant to be cleared,
on success or failure.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D62120

Files:
  llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp


Index: llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
===================================================================
--- llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
+++ llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
@@ -128,6 +128,7 @@
   }
 
   auto &ES = JD.getExecutionSession();
+  Error E = Error::success();
   if (auto CtorDtorMap =
           ES.lookup(JITDylibSearchList({{&JD, true}}), std::move(Names),
                     NoDependenciesToRegister, true)) {
@@ -139,13 +140,12 @@
         CtorDtor();
       }
     }
-    return Error::success();
   } else
-    return CtorDtorMap.takeError();
+    E = CtorDtorMap.takeError();
 
   CtorDtorsByPriority.clear();
 
-  return Error::success();
+  return E;
 }
 
 void LocalCXXRuntimeOverridesBase::runDestructors() {


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D62120.200204.patch
Type: text/x-patch
Size: 788 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190520/d31b1f32/attachment.bin>


More information about the llvm-commits mailing list