Hi Mikael,
+ gcc_assert (backexpr->expr_type == EXPR_VARIABLE);
drop it, downgrade to checking, or is it worth?
Whether it is worth it, I don't know; it's protecting the access to
backexpr->symtree a few lines down, idependently of the implementation
of maybe_absent_optional_variable.
I expect the compiler to optimize it away, so I can surely make it a
checking-only assert.
I would also lean towards checking only.
OK with that change (or, if you really prefer, as submitted is also
fine).
Thanks for the patch! It's good to see so much progress...
Best regards
Thomas