On 21 October 2016 at 15:48, Programmingkid <programmingk...@gmail.com> wrote: > In the tcg.h file, there is this line: typedef struct TCGv_i64_d *TCGv_i64; > > Would anyone know where the definition of struct TCGv_i64_d is?
There is none, because the "pointers" in these variables are never dereferenced. These are just magic to let us make use of the compiler's typechecking -- the actual values in the TCGv_i64 variables are integers (offsets into arrays describing the temporaries inside the TCG code). The only way to create a TCGv_i64 is with MAKE_TCGV_I64, and then you can get back to the underlying integer (if you're code in tcg/) is with GET_TCGV_I64. We used to typedef TCGv_i64 &c as plain "int"s, but then the compiler doesn't complain if you pass a TCGv_i32 to a function expecting a TCGv_i64. thanks -- PMM