diff --git a/oberon.h b/oberon.h
index 86f95def78e74ccd07b87b82e8bdeefde13601eb..4b785453befda47bbdcfe1ccf9c7b9a67ccfd1cc 100644 (file)
--- a/oberon.h
+++ b/oberon.h
gcc_jit_result * gcc_result;
gen_block_t * block;
unsigned record_count;
+ gcc_jit_lvalue * gcc_alloc;
};
typedef struct oberon_type_s oberon_type_t;
oberon_type_t * base;
oberon_object_t * decl;
+ oberon_module_t * module;
+
int recursive;
int initialized;
gen_type_t * gen_type;
MODE_INDEX,
MODE_FIELD,
MODE_DEREF,
- MODE_NIL
+ MODE_NIL,
+ MODE_NEWARR
};
enum
int is_item; // == 1
oberon_type_t * result;
oberon_expr_t * next;
+ int read_only;
int mode;
int integer;
int num_args;
oberon_expr_t * args;
+ oberon_type_t * type;
};
struct oberon_oper_s
int is_item; // == 0
oberon_type_t * result;
oberon_expr_t * next;
+ int read_only;
int op;
oberon_expr_t * left;
int is_item;
oberon_type_t * result;
oberon_expr_t * next;
+ int read_only;
};
oberon_item_t item;