The gfortran documentation mentions the conversion that has to take place:
Note: Currently, GNU Fortran does not use internally the array descriptor (dope vector) as specified in the Technical Specification, but uses an array descriptor with different fields in functions without the
BIND(C)attribute. Arguments to functions markedBIND(C)are converted to the specified form.