#include "llvm/Type.h"
#include "llvm/Instructions.h"
#include "llvm/ModuleProvider.h"
-#include "llvm/ExecutionEngine/ExecutionEngine.h"
+#include "llvm/ExecutionEngine/JIT.h"
+#include "llvm/ExecutionEngine/Interpreter.h"
#include "llvm/ExecutionEngine/GenericValue.h"
#include <iostream>
using namespace llvm;
// Create the add1 function entry and insert this entry into module M. The
// function will have a return type of "int" and take an argument of "int".
// The '0' terminates the list of argument types.
- Function *Add1F = M->getOrInsertFunction("add1", Type::IntTy, Type::IntTy, 0);
+ Function *Add1F = M->getOrInsertFunction("add1", Type::IntTy, Type::IntTy,
+ (Type *)0);
// Add a basic block to the function. As before, it automatically inserts
// because of the last argument.
// Now we going to create function `foo', which returns an int and takes no
// arguments.
- Function *FooF = M->getOrInsertFunction("foo", Type::IntTy, 0);
+ Function *FooF = M->getOrInsertFunction("foo", Type::IntTy, (Type *)0);
// Add a basic block to the FooF function.
BB = new BasicBlock("EntryBlock", FooF);