From 539f23eaec856f28e7776e94b077e0ddd775fee5 Mon Sep 17 00:00:00 2001 From: pommicket Date: Thu, 27 Jan 2022 10:57:18 -0500 Subject: structs mostly working --- 05/constants.b | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to '05/constants.b') diff --git a/05/constants.b b/05/constants.b index 06b141f..a04fc1d 100644 --- a/05/constants.b +++ b/05/constants.b @@ -134,7 +134,8 @@ ; - for unary operators, the operand ; - for casts, the operand (type is given by type member) ; - for binary operators, the first operand followed by the second -; - for the operators . and ->, the first argument is a 64-bit pointer to the name of the member and the second is the left hand side of the . / -> +; - for the operators . and ->, the first argument is the expression on the left-hand side, and the second argument is a 64-bit offset. +; we could use a 32-bit offset but that would cause things to be unaligned. ; - for the ternary operator ? :, the first followed by the second followed by the third ; - for function calls, the function, followed by each of the arguments to the function — info indicates the number of arguments ; Note that file/line number are not stored in expressions. @@ -685,3 +686,6 @@ :str_union string union byte 0 +:str_typedef ; currently only used for nice debug output + string typedef + byte 0 -- cgit v1.2.3