C-Fortran interface type in CFI_cdesc_t

I think that this is basically because you could as well write:

integer(kind=4) :: arr(1)

and still have a perfectly valid Fortran code with an interoperable array arr. In such a case what should the compiler put in data->type? Why more CFI_type_int rather than CFI_type_int32_t or CFI_type_int_least32_t ? nvfortran/nvcc just decides that any integer(kind=x) with x=4 is described with CFI_type_int32_t in the descriptor, which is plain correct.

The weird thing is to have different CFI_type_* values that map to the same actual type, but they have maybe some good reason for that.