diff options
Diffstat (limited to 'include/cps/ArrayHandler.h')
| -rw-r--r-- | include/cps/ArrayHandler.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/cps/ArrayHandler.h b/include/cps/ArrayHandler.h index 5052de4..734f464 100644 --- a/include/cps/ArrayHandler.h +++ b/include/cps/ArrayHandler.h @@ -3,6 +3,7 @@ #include "llvm/IR/LLVMContext.h" #include "llvm/IR/Module.h" #include "cps/AST.h" +#include "cps/RuntimeCheck.h" #include <map> #include <string> #include <vector> @@ -26,6 +27,7 @@ class ArrayHandler { std::map<std::string, llvm::AllocaInst*> *NamedValues; std::map<std::string, ArrayMetadata> ArrayTable; + RuntimeCheck &RuntimeChecker; llvm::FunctionCallee MallocFunc; llvm::FunctionCallee FreeFunc; @@ -41,6 +43,7 @@ public: void emitArrayDeclare(ArrayDeclareStmtAST *Stmt, CodeGen &CG); void emitArrayAssign(ArrayAssignStmtAST *Stmt, CodeGen &CG); + ArrayHandler(llvm::LLVMContext &C, llvm::IRBuilder<> &B, llvm::Module &M, std::map<std::string, llvm::AllocaInst*> &NV, RuntimeCheck &RC); llvm::Value* emitArrayAccess(ArrayAccessExprAST *Expr, CodeGen &CG); |
