Hey, On Tue, May 14, 2019 at 11:13:40PM +0200, Fernando Fernandez Mancera wrote: [...] > diff --git a/src/datatype.c b/src/datatype.c > index 6aaf9ea..7e9ec5e 100644 > --- a/src/datatype.c > +++ b/src/datatype.c > @@ -297,11 +297,22 @@ static void verdict_type_print(const struct expr *expr, struct output_ctx *octx) > } > } > > +static struct error_record *verdict_type_parse(const struct expr *sym, > + struct expr **res) > +{ > + *res = constant_expr_alloc(&sym->location, &string_type, > + BYTEORDER_HOST_ENDIAN, > + (strlen(sym->identifier) + 1) * BITS_PER_BYTE, > + sym->identifier); > + return NULL; > +} One more thing: The above lacks error checking of any kind. I *think* this is the place where one should make sure the symbol expression is actually a string (but I'm not quite sure how you do that). In any case, please try to exploit that variable support in the testcase (or maybe a separate one), just to make sure we don't allow weird things. Thanks, Phil