Handle zero arg function case
authorChris Lattner <sabre@nondot.org>
Sun, 15 Aug 2004 23:31:43 +0000 (23:31 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 15 Aug 2004 23:31:43 +0000 (23:31 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15794 91177308-0d34-0410-b5e6-96231b3b80d8

lib/ExecutionEngine/JIT/JIT.cpp

index 87331fb30159ac8c3238ab9e02fcfaaad21c5b9e..586936f21c7607ce8eff893c9ebac43e4c893c5f 100644 (file)
@@ -62,7 +62,7 @@ GenericValue JIT::runFunction(Function *F,
   GenericValue rv;
 
   void *FPtr = getPointerToFunction(F);
-  assert(PFtr && "Pointer to fn's code was null after getPointerToFunction");
+  assert(FPtr && "Pointer to fn's code was null after getPointerToFunction");
 
   if (ArgValues.size() == 3) {
     int (*PF)(int, char **, const char **) =
@@ -76,6 +76,10 @@ GenericValue JIT::runFunction(Function *F,
     int (*PF)(int) = (int(*)(int))FPtr;
     rv.IntVal = PF(ArgValues[0].IntVal);
     return rv;
+  } else if (ArgValues.size() == 0) {
+    int (*PF)() = (int(*)())FPtr;
+    rv.IntVal = PF();
+    return rv;
   }
 
   // FIXME: This code should handle a couple of common cases efficiently, but