eval value array indexing; type-only evaluation of array indexing and member accesses; various fixes

This commit is contained in:
Ryan Fleury
2024-08-20 16:13:01 -07:00
parent 156a94b286
commit 4611ddb536
11 changed files with 130 additions and 71 deletions
+2 -1
View File
@@ -92,7 +92,7 @@ RDI_U8 rdi_section_is_required_table[37] =
0,
};
RDI_U8 rdi_eval_op_ctrlbits_table[46] =
RDI_U8 rdi_eval_op_ctrlbits_table[47] =
{
RDI_EVAL_CTRLBITS(0, 0, 0),
RDI_EVAL_CTRLBITS(0, 0, 0),
@@ -139,6 +139,7 @@ RDI_EVAL_CTRLBITS(2, 1, 1),
RDI_EVAL_CTRLBITS(1, 0, 1),
RDI_EVAL_CTRLBITS(0, 1, 0),
RDI_EVAL_CTRLBITS(1, 0, 0),
RDI_EVAL_CTRLBITS(1, 2, 1),
RDI_EVAL_CTRLBITS(0, 0, 0),
};
+4 -2
View File
@@ -482,7 +482,8 @@ RDI_EvalOp_Convert = 41,
RDI_EvalOp_Pick = 42,
RDI_EvalOp_Pop = 43,
RDI_EvalOp_Insert = 44,
RDI_EvalOp_COUNT = 45,
RDI_EvalOp_ValueRead = 45,
RDI_EvalOp_COUNT = 46,
} RDI_EvalOpEnum;
typedef RDI_U8 RDI_EvalTypeGroup;
@@ -886,6 +887,7 @@ X(Convert)\
X(Pick)\
X(Pop)\
X(Insert)\
X(ValueRead)\
#define RDI_EvalTypeGroup_XList \
X(Other)\
@@ -1355,6 +1357,6 @@ RDI_PROC RDI_U8 *rdi_explanation_string_from_eval_conversion_kind(RDI_EvalConver
extern RDI_U16 rdi_section_element_size_table[37];
extern RDI_U8 rdi_section_is_required_table[37];
extern RDI_U8 rdi_eval_op_ctrlbits_table[46];
extern RDI_U8 rdi_eval_op_ctrlbits_table[47];
#endif // RDI_FORMAT_H