From 1c04435e5d33378ffa8eca65ca1ed35f3f9f4134 Mon Sep 17 00:00:00 2001 From: lemon Date: Mon, 29 May 2023 11:37:32 +0200 Subject: field access --- parse.h | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'parse.h') diff --git a/parse.h b/parse.h index dee1115..a28c301 100644 --- a/parse.h +++ b/parse.h @@ -152,17 +152,17 @@ struct expr { union type ty; struct span span; union { - struct expr *sub; + struct { + struct expr *sub; + struct { + ushort off; + uchar bitsiz, bitoff; + } fld; /* EGETF */ + }; uvlong u; vlong i; double f; /* ENUMLIT */ struct bytes s; /* ESTRLIT */ struct decl *sym; /* ESYM */ struct initializer *ini; /* EINIT */ - struct { /* EGETF */ - const char *name; - uint off; - uchar bitsiz, bitoff; - } fld; - char dummy; }; }; @@ -180,6 +180,7 @@ enum evalmode { EVINTCONST, EVARITH, EVSTATICINI, + EVFOLD, }; bool eval(struct expr *, enum evalmode); -- cgit v1.2.3