1 /* PR fortran/92470 - to be used with ISO_Fortran_binding_17.f90 */ 2 3 #include <stdio.h> 4 #include <assert.h> 5 #include "../../../libgfortran/ISO_Fortran_binding.h" 6 7 void Csub(const CFI_cdesc_t *, size_t, CFI_index_t invalid); 8 Csub(const CFI_cdesc_t * dv,size_t locd,CFI_index_t invalid)9void Csub(const CFI_cdesc_t * dv, size_t locd, CFI_index_t invalid) { 10 11 CFI_index_t lb[1]; 12 lb[0] = dv->dim[0].lower_bound; 13 size_t ld = (size_t)CFI_address(dv, lb); 14 15 if (ld != locd) 16 printf ("In C function: CFI_address of dv = %I64x\n", ld); 17 assert( ld == locd ); 18 19 lb[0] = invalid; 20 /* Shall return NULL and produce stderr diagnostic with -fcheck=array. */ 21 ld = (size_t)CFI_address(dv, lb); 22 assert (ld == 0); 23 24 return; 25 } 26