aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Koenig <tkoenig@gcc.gnu.org>2008-03-21 15:33:13 +0000
committerThomas Koenig <tkoenig@gcc.gnu.org>2008-03-21 15:33:13 +0000
commit36240d3d4b9b91933abe260a4e8f241a70a08abf (patch)
treecbef24f33462befb64d9f8e7d9557f08343b67ab
parent3ef2513a1d3a2497773f9aa37ac1242e88df8652 (diff)
downloadgcc-36240d3d4b9b91933abe260a4e8f241a70a08abf.zip
gcc-36240d3d4b9b91933abe260a4e8f241a70a08abf.tar.gz
gcc-36240d3d4b9b91933abe260a4e8f241a70a08abf.tar.bz2
re PR libfortran/32972 (performance of pack/unpack)
2008-03-21 Thomas Koenig <tkoenig@gcc.gnu.org> PR libfortran/32972 * runtime/in_pack_generic.c (internal_pack): Call correct function, pack_i16, for GFC_INTEGER_16. From-SVN: r133428
-rw-r--r--libgfortran/ChangeLog6
-rw-r--r--libgfortran/intrinsics/pack_generic.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index b2efca9..61ed8d1 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,6 +1,12 @@
2008-03-21 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/32972
+ * runtime/in_pack_generic.c (internal_pack): Call correct
+ function, pack_i16, for GFC_INTEGER_16.
+
+2008-03-21 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR libfortran/32972
* Makefile.am: Add new variable, i_pack_c, containing
pack_i1.c, pack_i2.c, pack_i4.c, pack_i8.c, pack_i16.c,
pack_r4.c, pack_r8.c, pack_r10.c, pack_r16.c, pack_c4.c,
diff --git a/libgfortran/intrinsics/pack_generic.c b/libgfortran/intrinsics/pack_generic.c
index 77760b4..188c75b 100644
--- a/libgfortran/intrinsics/pack_generic.c
+++ b/libgfortran/intrinsics/pack_generic.c
@@ -347,7 +347,7 @@ pack (gfc_array_char *ret, const gfc_array_char *array,
#ifdef HAVE_GFC_INTEGER_16
case sizeof (GFC_INTEGER_16):
- pack_i1 ((gfc_array_i16 *) ret, (gfc_array_i16 *) array,
+ pack_i16 ((gfc_array_i16 *) ret, (gfc_array_i16 *) array,
(gfc_array_l1 *) mask, (gfc_array_i16 *) vector);
return;
#endif