This patch fixes support for complex types. It adds the entrypoints: gcc_jit_context_new_rvalue_from_complex_double gcc_jit_context_set_bool_enable_complex_types Aswell as the binary operator GCC_JIT_BINARY_OP_COMPLEX, to make complex numbers from two real number rvalues. Note that the complex types already are in the type enum, so I thought the cleanest solution is to enable them, rather than to have a "get_complex_type" function. When I wrote the patch originally, the complex enums were not usable due to a range check, but I think they accidentally were included when int8_t etc were added. However, casts to complex types segfaults currently and some other issues, so I would say an explicit enable is the least confusing, since the enums have been there since the get go. See attachement.