diff options
Diffstat (limited to 'expression.h')
| -rw-r--r-- | expression.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/expression.h b/expression.h index 3b79e0f1..64aa1fc2 100644 --- a/expression.h +++ b/expression.h @@ -64,6 +64,7 @@ enum expression_type { EXPR_FVALUE, EXPR_SLICE, EXPR_OFFSETOF, + EXPR_GENERIC, }; @@ -147,6 +148,14 @@ struct asm_operand { unsigned int is_memory:1; }; +struct type_expression { + struct symbol *type; + struct expression *expr; + struct type_expression *next; +}; + +DECLARE_ALLOCATOR(type_expression); + struct expression { enum expression_type type:8; unsigned flags:8; @@ -246,6 +255,13 @@ struct expression { struct expression *index; }; }; + // EXPR_GENERIC + struct { + struct expression *control; + struct expression *def; + struct type_expression *map; + struct expression *result; + }; }; }; |
