diff options
| -rw-r--r-- | MLKLexicalContext-MLKLLVMCompilation.mm | 8 | 
1 files changed, 6 insertions, 2 deletions
| diff --git a/MLKLexicalContext-MLKLLVMCompilation.mm b/MLKLexicalContext-MLKLLVMCompilation.mm index 2ff7ec0..9ca18e4 100644 --- a/MLKLexicalContext-MLKLLVMCompilation.mm +++ b/MLKLexicalContext-MLKLLVMCompilation.mm @@ -50,10 +50,14 @@ using namespace std;  -(Value *) functionCellValueForSymbol:(id)name  { +  std::vector<const Type *> types (1, PointerType::get(Type::Int8Ty, 0));    return (new IntToPtrInst (ConstantInt::get(Type::Int64Ty,                                               (uint64_t)[self functionCellForSymbol:name],                                               false), -                            PointerType::get(Type::Int8Ty, 0))); +                            PointerType::get(FunctionType::get(PointerType::get(Type::Int8Ty, 0), +                                                               types, +                                                               true), +                                             0)));  }  -(Value *) closureDataPointerValueForSymbol:(id)name @@ -61,7 +65,7 @@ using namespace std;    return (new IntToPtrInst (ConstantInt::get(Type::Int64Ty,                                               (uint64_t)[self closureDataPointerForSymbol:name],                                               false), -                            PointerType::get(Type::Int8Ty, 0))); +                            PointerType::get(PointerType::get(Type::Int8Ty, 0), 0)));  }  -(Value *) bindingValueForSymbol:(id)name | 
