OSDN Git Service

* runtime/select.c: Moved content to select_inc.c. Include it.
[pf3gnuchains/gcc-fork.git] / libgfortran / intrinsics / pack_generic.c
index bb4abae..8f1e08c 100644 (file)
@@ -457,6 +457,7 @@ pack (gfc_array_char *ret, const gfc_array_char *array,
   pack_internal (ret, array, mask, vector, size);
 }
 
+
 extern void pack_char (gfc_array_char *, GFC_INTEGER_4, const gfc_array_char *,
                       const gfc_array_l1 *, const gfc_array_char *,
                       GFC_INTEGER_4, GFC_INTEGER_4);
@@ -472,6 +473,23 @@ pack_char (gfc_array_char *ret,
   pack_internal (ret, array, mask, vector, array_length);
 }
 
+
+extern void pack_char4 (gfc_array_char *, GFC_INTEGER_4, const gfc_array_char *,
+                       const gfc_array_l1 *, const gfc_array_char *,
+                       GFC_INTEGER_4, GFC_INTEGER_4);
+export_proto(pack_char4);
+
+void
+pack_char4 (gfc_array_char *ret,
+           GFC_INTEGER_4 ret_length __attribute__((unused)),
+           const gfc_array_char *array, const gfc_array_l1 *mask,
+           const gfc_array_char *vector, GFC_INTEGER_4 array_length,
+           GFC_INTEGER_4 vector_length __attribute__((unused)))
+{
+  pack_internal (ret, array, mask, vector, array_length * sizeof (gfc_char4_t));
+}
+
+
 static void
 pack_s_internal (gfc_array_char *ret, const gfc_array_char *array,
                 const GFC_LOGICAL_4 *mask, const gfc_array_char *vector,
@@ -641,6 +659,7 @@ pack_s (gfc_array_char *ret, const gfc_array_char *array,
   pack_s_internal (ret, array, mask, vector, GFC_DESCRIPTOR_SIZE (array));
 }
 
+
 extern void pack_s_char (gfc_array_char *ret, GFC_INTEGER_4,
                         const gfc_array_char *array, const GFC_LOGICAL_4 *,
                         const gfc_array_char *, GFC_INTEGER_4,
@@ -656,3 +675,21 @@ pack_s_char (gfc_array_char *ret,
 {
   pack_s_internal (ret, array, mask, vector, array_length);
 }
+
+
+extern void pack_s_char4 (gfc_array_char *ret, GFC_INTEGER_4,
+                         const gfc_array_char *array, const GFC_LOGICAL_4 *,
+                         const gfc_array_char *, GFC_INTEGER_4,
+                         GFC_INTEGER_4);
+export_proto(pack_s_char4);
+
+void
+pack_s_char4 (gfc_array_char *ret,
+             GFC_INTEGER_4 ret_length __attribute__((unused)),
+             const gfc_array_char *array, const GFC_LOGICAL_4 *mask,
+             const gfc_array_char *vector, GFC_INTEGER_4 array_length,
+             GFC_INTEGER_4 vector_length __attribute__((unused)))
+{
+  pack_s_internal (ret, array, mask, vector,
+                  array_length * sizeof (gfc_char4_t));
+}