diff options
| author | _ov4 <ov4@ov4.org> | 2026-10-17 15:06:44 +0000 |
|---|---|---|
| committer | _ov4 <ov4@ov4.org> | 2026-10-17 15:06:44 +0000 |
| commit | dc33cd2faf6fa52486c02e86038c8f8c07c0fe27 (patch) | |
| tree | d474619d75743399e7a324c8ae5ba04056333e0b /include/cps/CodeGen.h | |
| parent | a29cb23c5517fd4f8f5524fdf38b67ff5fe4a902 (diff) | |
feat(codegen): declare and call EXTERN C functions
Variadic arguments must be C values and receive C default argument
promotions; narrow integer parameters carry sign/zero extension.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'include/cps/CodeGen.h')
| -rw-r--r-- | include/cps/CodeGen.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/cps/CodeGen.h b/include/cps/CodeGen.h index 04bf25c..d81a82c 100644 --- a/include/cps/CodeGen.h +++ b/include/cps/CodeGen.h @@ -155,6 +155,7 @@ class CodeGen { const std::vector<std::unique_ptr<ExprAST>> &ArgExprs, int Line); const FuncSig *resolveCall(const std::string &Name, const std::vector<std::unique_ptr<ExprAST>> &Args); + llvm::Value *emitVariadicArgument(ExprAST *Expr, const std::string &Callee, size_t Position); bool marshalCallArgs(const FuncSig &Signature, const std::vector<std::unique_ptr<ExprAST>> &ArgExprs, int Line, |
