diff options
Diffstat (limited to 'libgfortran/intrinsics/unpack_generic.c')
-rw-r--r-- | libgfortran/intrinsics/unpack_generic.c | 7 |
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)); |