aboutsummaryrefslogtreecommitdiff
path: root/include/ir
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2019-12-23 08:57:48 +0100
committerdec05eba <dec05eba@protonmail.com>2020-07-25 14:37:00 +0200
commit902a81528b9d2edcf93226a2ca13da6fcc1839e5 (patch)
treeea868fae662aab61f1caa50b16a8b02fe1e6836b /include/ir
parent111bd0c7cb4b446c4bfe192b1df82845de17c005 (diff)
wip: function pointers and other stuff
Diffstat (limited to 'include/ir')
-rw-r--r--include/ir/ir.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/ir/ir.h b/include/ir/ir.h
index f7aa4a7..dcc5ea0 100644
--- a/include/ir/ir.h
+++ b/include/ir/ir.h
@@ -15,6 +15,7 @@ typedef enum {
IR_ASSIGN_INTER,
IR_ASSIGN_STRING,
IR_ASSIGN_REG,
+ IR_ASSIGN_FUNC,
IR_ADD,
IR_SUB,
IR_IMUL,
@@ -39,6 +40,7 @@ typedef enum {
IR_CALL_START,
IR_CALL,
IR_CALL_EXTERN,
+ IR_CALLR,
IR_JUMP_ZERO,
IR_JUMP,
IR_RET,
@@ -161,5 +163,9 @@ typedef struct {
/* longjump to context->env on failure */
void scope_generate_ir(Scope *self, IrCompilerContext *context);
+/* longjump to context->env on failure */
+void scope_generate_function_ids(Scope *self, IrCompilerContext *context);
+/* longjump to context->env on failure */
+void scope_generate_functions_ir(Scope *self, IrCompilerContext *context);
#endif