OSDN Git Service

Fix a problem in MCJIT identifying the module containing a global variable.
authorAndrew Kaylor <andrew.kaylor@intel.com>
Fri, 15 Nov 2013 22:10:21 +0000 (22:10 +0000)
committerAndrew Kaylor <andrew.kaylor@intel.com>
Fri, 15 Nov 2013 22:10:21 +0000 (22:10 +0000)
Patch by Keno Fischer!

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

lib/ExecutionEngine/MCJIT/MCJIT.cpp

index da4164e..195c458 100644 (file)
@@ -248,11 +248,11 @@ Module *MCJIT::findModuleForSymbol(const std::string &Name,
        I != E; ++I) {
     Module *M = *I;
     Function *F = M->getFunction(Name);
-    if (F && !F->empty())
+    if (F && !F->isDeclaration())
       return M;
     if (!CheckFunctionsOnly) {
       GlobalVariable *G = M->getGlobalVariable(Name);
-      if (G)
+      if (G && !G->isDeclaration())
         return M;
       // FIXME: Do we need to worry about global aliases?
     }