From c6dbd14ec8ff94df47d3c2137cc5234203ec5e0c Mon Sep 17 00:00:00 2001 From: _ov4 Date: Tue, 13 Oct 2026 08:43:17 +0000 Subject: fix: check division and modulo for zero divisors Co-Authored-By: Claude Fable 5.1 --- include/cps/ArithmeticHandler.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'include/cps/ArithmeticHandler.h') diff --git a/include/cps/ArithmeticHandler.h b/include/cps/ArithmeticHandler.h index ca6266d..af7394b 100644 --- a/include/cps/ArithmeticHandler.h +++ b/include/cps/ArithmeticHandler.h @@ -5,14 +5,18 @@ namespace cps { +class RuntimeCheck; + class ArithmeticHandler { llvm::LLVMContext &Context; llvm::IRBuilder<> &Builder; bool &HadError; + RuntimeCheck &RuntimeChecker; public: - ArithmeticHandler(llvm::LLVMContext &Ctx, llvm::IRBuilder<> &B, bool &HadErrorFlag) - : Context(Ctx), Builder(B), HadError(HadErrorFlag) {} + ArithmeticHandler(llvm::LLVMContext &Ctx, llvm::IRBuilder<> &B, bool &HadErrorFlag, + RuntimeCheck &RC) + : Context(Ctx), Builder(B), HadError(HadErrorFlag), RuntimeChecker(RC) {} llvm::Value *emitBinaryOp(int Op, llvm::Value *LHS, llvm::Value *RHS, int Line); }; -- cgit v1.3.1-4-g156e