aboutsummaryrefslogtreecommitdiff
path: root/libgfortran/intrinsics/iso_c_binding.c
diff options
context:
space:
mode:
Diffstat (limited to 'libgfortran/intrinsics/iso_c_binding.c')
-rw-r--r--libgfortran/intrinsics/iso_c_binding.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libgfortran/intrinsics/iso_c_binding.c b/libgfortran/intrinsics/iso_c_binding.c
index a8d876832cb..f2296c5adc9 100644
--- a/libgfortran/intrinsics/iso_c_binding.c
+++ b/libgfortran/intrinsics/iso_c_binding.c
@@ -137,8 +137,8 @@ ISO_C_BINDING_PREFIX (c_f_pointer_u0) (void *c_ptr_in,
f_ptr_out->offset = f_ptr_out->dim[0].lbound * f_ptr_out->dim[0].stride;
for (i = 1; i < shapeSize; i++)
{
- f_ptr_out->dim[i].stride = (f_ptr_out->dim[i-1].ubound + 1)
- - f_ptr_out->dim[i-1].lbound;
+ f_ptr_out->dim[i].stride = ((f_ptr_out->dim[i-1].ubound + 1)
+ - f_ptr_out->dim[i-1].lbound) * f_ptr_out->dim[i-1].stride;
f_ptr_out->offset += f_ptr_out->dim[i].lbound
* f_ptr_out->dim[i].stride;
}