From 377a1fd2eadd2a70cd27f13e2fee6e96c8706a51 Mon Sep 17 00:00:00 2001 From: _ov4 Date: Sat, 17 Oct 2026 10:32:30 +0000 Subject: feat(codegen): overload global functions and procedures Co-Authored-By: Claude Opus 5.5 --- include/cps/CodeGen.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'include/cps/CodeGen.h') diff --git a/include/cps/CodeGen.h b/include/cps/CodeGen.h index d624ca6..463c613 100644 --- a/include/cps/CodeGen.h +++ b/include/cps/CodeGen.h @@ -120,7 +120,7 @@ class CodeGen { void registerSymbol(const std::string &Name, llvm::Value *Storage, const std::string &TypeName, bool IsArray = false); const SymbolInfo *getSymbolInfo(const std::string &Name) const; bool isWholeArrayVar(ExprAST *Expr) const; - const TypeInfo *getExprTypeInfo(ExprAST *Expr) const; + const TypeInfo *getExprTypeInfo(ExprAST *Expr); llvm::Value *coerceValueToType(llvm::Value *Val, const TypeInfo *TargetInfo); llvm::Value *convertNumericValue(llvm::Value *Val, const TypeInfo *Source, const TypeInfo *Target); @@ -150,7 +150,9 @@ class CodeGen { llvm::Value *emitAllocationSize(ExprAST *Expr); llvm::Value *emitCall(const std::string &Callee, const std::vector> &ArgExprs, int Line); - bool marshalCallArgs(const std::string &Callee, + const FuncSig *resolveCall(const std::string &Name, + const std::vector> &Args); + bool marshalCallArgs(const FuncSig &Signature, const std::vector> &ArgExprs, int Line, std::vector &Out); -- cgit v1.3.1-4-g156e