From 766a4b8e5236bffb40984439a79186c5ee823ff8 Mon Sep 17 00:00:00 2001 From: ov-4 Date: Fri, 30 Jan 2026 02:06:37 +0000 Subject: Added runtime check for array index and division --- include/cps/ArrayHandler.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'include/cps/ArrayHandler.h') 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 #include #include @@ -26,6 +27,7 @@ class ArrayHandler { std::map *NamedValues; std::map 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 &NV, RuntimeCheck &RC); llvm::Value* emitArrayAccess(ArrayAccessExprAST *Expr, CodeGen &CG); -- cgit v1.3.1-4-g156e