aboutsummaryrefslogtreecommitdiff
path: root/libgfortran/intrinsics/unpack_generic.c
diff options
context:
space:
mode:
Diffstat (limited to 'libgfortran/intrinsics/unpack_generic.c')
-rw-r--r--libgfortran/intrinsics/unpack_generic.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/libgfortran/intrinsics/unpack_generic.c b/libgfortran/intrinsics/unpack_generic.c
index 2dcef78..0256b25 100644
--- a/libgfortran/intrinsics/unpack_generic.c
+++ b/libgfortran/intrinsics/unpack_generic.c
@@ -250,6 +250,7 @@ unpack1 (gfc_array_char *ret, const gfc_array_char *vector,
mask, (gfc_array_i16 *) field);
return;
#endif
+
case GFC_DTYPE_REAL_4:
unpack1_r4 ((gfc_array_r4 *) ret, (gfc_array_r4 *) vector,
mask, (gfc_array_r4 *) field);
@@ -264,7 +265,7 @@ unpack1 (gfc_array_char *ret, const gfc_array_char *vector,
case GFC_DTYPE_REAL_10:
unpack1_r10 ((gfc_array_r10 *) ret, (gfc_array_r10 *) vector,
mask, (gfc_array_r10 *) field);
- return;
+ return;
#endif
#ifdef HAVE_GFC_REAL_16
@@ -443,6 +444,7 @@ unpack0 (gfc_array_char *ret, const gfc_array_char *vector,
mask, (GFC_INTEGER_16 *) field);
return;
#endif
+
case GFC_DTYPE_REAL_4:
unpack0_r4 ((gfc_array_r4 *) ret, (gfc_array_r4 *) vector,
mask, (GFC_REAL_4 *) field);
@@ -490,6 +492,7 @@ unpack0 (gfc_array_char *ret, const gfc_array_char *vector,
mask, (GFC_COMPLEX_16 *) field);
return;
#endif
+
case GFC_DTYPE_DERIVED_2:
if (GFC_UNALIGNED_2(ret->data) || GFC_UNALIGNED_2(vector->data)
|| GFC_UNALIGNED_2(field))
@@ -522,6 +525,7 @@ unpack0 (gfc_array_char *ret, const gfc_array_char *vector,
mask, (GFC_INTEGER_8 *) field);
return;
}
+
#ifdef HAVE_GFC_INTEGER_16
case GFC_DTYPE_DERIVED_16:
if (GFC_UNALIGNED_16(ret->data) || GFC_UNALIGNED_16(vector->data)
@@ -534,6 +538,7 @@ unpack0 (gfc_array_char *ret, const gfc_array_char *vector,
return;
}
#endif
+
}
memset (&tmp, 0, sizeof (tmp));