aboutsummaryrefslogtreecommitdiff
path: root/include/cps/ArithmeticHandler.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/cps/ArithmeticHandler.h')
-rw-r--r--include/cps/ArithmeticHandler.h8
1 files changed, 6 insertions, 2 deletions
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);
};