Hi! Attached is a patch with changes in line with the review of the prior patch. The patch adds support for initialization of global variables with rvalues as well as rvalue constructors for structs, arrays and unions. Review: https://gcc.gnu.org/pipermail/jit/2021q4/001400.html The points have been addressed, except: > Can the type be made const? I started to make types_kinda_same_internal () taking const args, but I felt the patch was ballooning because some spread out methods needed a const signature too. I could submit that in a separate patch. I also addressed a problem Antoni found: https://gcc.gnu.org/pipermail/jit/2021q4/001399.html , where you could not initialize global pointer variables to point to uninitialized variables. I did that by removing a redundant check with validate_var_has_init (), since that walking function would have to be quite complex to allow pointers to uninitialized variables. Any: const int foo; int bar = foo; will instead be reported as "not compile time constant" instead of a nice error message with names. make check-jit runs fine on gnu-linux-x64 Debian. Regards, Petter