summaryrefslogtreecommitdiff
path: root/libgfortran/libgfortran.h
diff options
context:
space:
mode:
authortkoenig <tkoenig@138bc75d-0d04-0410-961f-82ee72b054a4>2005-06-11 19:39:13 +0000
committertkoenig <tkoenig@138bc75d-0d04-0410-961f-82ee72b054a4>2005-06-11 19:39:13 +0000
commitf27ef64358c7b216ba0a11142364436a0aaebc33 (patch)
treeaad494096555f7a4cc32786401cfade71ce1dc21 /libgfortran/libgfortran.h
parente5897c9259ebb0cfbb7fc82e9eeb3a95adcd4842 (diff)
downloadgcc-f27ef64358c7b216ba0a11142364436a0aaebc33.tar.gz
2005-06-11 Thomas Koenig <Thomas.Koenig@onlinde.de>
PR libfortran/21333 * Makefile.am: Add in_pack_c4.c, in_pack_c8.c, in_unpack_c4.c and in_unpack_c8.c. * Makefile.in: Regenerate. * libgfortran.h: Declare internal_pack_c4, internal_pack_c8, internal_unpack_c4 and internal_unpack_c8. * m4/in_pack.m4: Use rtype_ccode insteald of rtype_kind in function name. Use sizeof (rtype_name) as size for memory allocation. * m4/in_unpack.m4: Use rtype_ccode insteald of rtype_kind in function name. Use sizeof (rtype_name) for calculation of sizes for memcpy. * runtime/in_pack_generic.c: For real, integer and logical call internal_pack_4 if size==4 and internal_pack_8 if size==8. For complex, call internal_pack_c4 if size==8 and internal_pack_c8 if size==16. * runtime/in_unpack_generic.c: For real, integer and logical call internal_unpack_4 if size==4 and internal_unpack_8 if size==8. For complex, call internal_unpack_c4 if size==8 and internal_unpack_c8 if size==16. * generated/in_pack_i4.c: Regenerated. * generated/in_pack_i8.c: Regenerated. * generated/in_unpack_i4.c: Regenerated. * generated/in_unpack_i8.c: Regenerated. * generated/in_pack_c4.c: New file. * generated/in_pack_c8.c: New file. * generated/in_unpack_c4.c: New file. * generated/in_unpack_c8.c: New file. 2005-05-11 Thomas Koenig <Thomas.Koenig@online.de> * gfortran.fortran-torture/execute/in-pack.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100842 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgfortran/libgfortran.h')
-rw-r--r--libgfortran/libgfortran.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/libgfortran/libgfortran.h b/libgfortran/libgfortran.h
index c525fad7a2e..e5485d1ba8b 100644
--- a/libgfortran/libgfortran.h
+++ b/libgfortran/libgfortran.h
@@ -482,7 +482,7 @@ internal_proto(reshape_packed);
/* Repacking functions. */
-/* ??? These four aren't currently used by the compiler, though we
+/* ??? These eight aren't currently used by the compiler, though we
certainly could do so. */
GFC_INTEGER_4 *internal_pack_4 (gfc_array_i4 *);
internal_proto(internal_pack_4);
@@ -490,12 +490,24 @@ internal_proto(internal_pack_4);
GFC_INTEGER_8 *internal_pack_8 (gfc_array_i8 *);
internal_proto(internal_pack_8);
+GFC_COMPLEX_4 *internal_pack_c4 (gfc_array_c4 *);
+internal_proto(internal_pack_c4);
+
+GFC_COMPLEX_8 *internal_pack_c8 (gfc_array_c8 *);
+internal_proto(internal_pack_c8);
+
extern void internal_unpack_4 (gfc_array_i4 *, const GFC_INTEGER_4 *);
internal_proto(internal_unpack_4);
extern void internal_unpack_8 (gfc_array_i8 *, const GFC_INTEGER_8 *);
internal_proto(internal_unpack_8);
+extern void internal_unpack_c4 (gfc_array_c4 *, const GFC_COMPLEX_4 *);
+internal_proto(internal_unpack_c4);
+
+extern void internal_unpack_c8 (gfc_array_c8 *, const GFC_COMPLEX_8 *);
+internal_proto(internal_unpack_c8);
+
/* string_intrinsics.c */
extern GFC_INTEGER_4 compare_string (GFC_INTEGER_4, const char *,