diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index f23c9c1375a8a047b1d59ff64c9d5f58d9a54778..1d796a58298a232b5a1ea2a857646c2ce452fee5 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,8 @@
+2005-11-10  Andreas Jaeger  <aj@suse.de>
+
+	* libgfortran.h: Add missing prototypes for internal_pack
+	functions.
+
 2005-11-06  Janne Blomqvist <jb@gcc.gnu.org>
 
 	PR fortran/24174
@@ -5,7 +10,7 @@
 	* io/io.h: Add argument to prototypes, add prototypes for
 	size_from_*_kind functions.
 	* io/list_read.c (read_complex): Add size argument, use
-	it. 
+	it.
 	(list_formatted_read): Add size argument, cleanup.
 	(list_formatted_read_scalar): Add size argument.
 	(nml_read_obj): Fix for padding.
@@ -100,7 +105,7 @@
 	* Makefile.in: Regenerate.
 
 2005-10-28  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
-	
+
 
 	* Makefile.am (intrinsics): Add signal.c.
 	* Makefile.in: Regenerate.
diff --git a/libgfortran/libgfortran.h b/libgfortran/libgfortran.h
index 791a6f899a0ed0f937b279bf5530c84256fe8357..032dd9509f0de34b74a56d0fd3646c683bf8d45b 100644
--- a/libgfortran/libgfortran.h
+++ b/libgfortran/libgfortran.h
@@ -559,7 +559,7 @@ internal_proto(reshape_packed);
 
 /* Repacking functions.  */
 
-/* ??? These eight aren't currently used by the compiler, though we
+/* ??? These 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);
@@ -567,24 +567,36 @@ internal_proto(internal_pack_4);
 GFC_INTEGER_8 *internal_pack_8 (gfc_array_i8 *);
 internal_proto(internal_pack_8);
 
+GFC_INTEGER_16 *internal_pack_16 (gfc_array_i16 *);
+internal_proto(internal_pack_16);
+
 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);
 
+GFC_COMPLEX_10 *internal_pack_c10 (gfc_array_c10 *);
+internal_proto(internal_pack_c10);
+
 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_16 (gfc_array_i16 *, const GFC_INTEGER_16 *);
+internal_proto(internal_unpack_16);
+
 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);
 
+extern void internal_unpack_c10 (gfc_array_c10 *, const GFC_COMPLEX_10 *);
+internal_proto(internal_unpack_c10);
+
 /* string_intrinsics.c */
 
 extern GFC_INTEGER_4 compare_string (GFC_INTEGER_4, const char *,