summaryrefslogtreecommitdiff
path: root/libgfortran/intrinsics/pack_generic.c
diff options
context:
space:
mode:
authoraj <aj@138bc75d-0d04-0410-961f-82ee72b054a4>2005-05-15 15:37:18 +0000
committeraj <aj@138bc75d-0d04-0410-961f-82ee72b054a4>2005-05-15 15:37:18 +0000
commit09e5829fd4031fb5e82eb1d74174e5054a487d28 (patch)
tree86a911fd57b949150311c11e562e0608b3efc89c /libgfortran/intrinsics/pack_generic.c
parentd5142e57e2c79ae7f28ae7b2a6dda2ad18dc5d69 (diff)
downloadgcc-09e5829fd4031fb5e82eb1d74174e5054a487d28.tar.gz
* intrinsics/pack_generic.c (pack): Remove unneeded calculation.
* m4/matmull.m4 (matmul_): Remove unneeded calculations, fix pointer cast to avoid warning. * generated/matmul_l4.c: Regenerated. * generated/matmul_l8.c: Regenerated. * Makefile.am: Remove AM_CFLAGS here. * configure.ac: Define AM_CFLAGS and AM_FCFLAGS so that warnings are set. Set additionally -Wstrict-prototypes for CFLAGS. * Makefile.in: Regenerated * configure: Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99723 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgfortran/intrinsics/pack_generic.c')
-rw-r--r--libgfortran/intrinsics/pack_generic.c35
1 files changed, 17 insertions, 18 deletions
diff --git a/libgfortran/intrinsics/pack_generic.c b/libgfortran/intrinsics/pack_generic.c
index cdc043b4636..06298bb23ef 100644
--- a/libgfortran/intrinsics/pack_generic.c
+++ b/libgfortran/intrinsics/pack_generic.c
@@ -1,5 +1,5 @@
/* Generic implementation of the PACK intrinsic
- Copyright (C) 2002, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
@@ -37,7 +37,7 @@ Boston, MA 02111-1307, USA. */
/* PACK is specified as follows:
13.14.80 PACK (ARRAY, MASK, [VECTOR])
-
+
Description: Pack an array into an array of rank one under the
control of a mask.
@@ -49,7 +49,7 @@ Boston, MA 02111-1307, USA. */
VECTOR (optional) shall be of the same type and type parameters
as ARRAY. VECTOR shall have at least as many elements as
there are true elements in MASK. If MASK is a scalar
- with the value true, VECTOR shall have at least as many
+ with the value true, VECTOR shall have at least as many
elements as there are in ARRAY.
Result Characteristics: The result is an array of rank one with the
@@ -69,7 +69,7 @@ Boston, MA 02111-1307, USA. */
| 9 0 0 | may be "gathered" by the function PACK. The result of
| 0 0 7 |
PACK (M, MASK = M.NE.0) is [9,7] and the result of PACK (M, M.NE.0,
- VECTOR = (/ 2,4,6,8,10,12 /)) is [9,7,6,8,10,12].
+ VECTOR = (/ 2,4,6,8,10,12 /)) is [9,7,6,8,10,12].
There are two variants of the PACK intrinsic: one, where MASK is
array valued, and the other one where MASK is scalar. */
@@ -125,7 +125,6 @@ pack (gfc_array_char *ret, const gfc_array_char *array,
runtime_error ("Funny sized logical array");
for (n = 0; n < dim; n++)
mstride[n] <<= 1;
- mstride0 <<= 1;
mptr = GFOR_POINTER_L8_TO_L4 (mptr);
}
@@ -134,15 +133,15 @@ pack (gfc_array_char *ret, const gfc_array_char *array,
/* Allocate the memory for the result. */
int total;
- if (vector != NULL)
- {
+ if (vector != NULL)
+ {
/* The return array will have as many
- elements as there are in VECTOR. */
- total = vector->dim[0].ubound + 1 - vector->dim[0].lbound;
- }
- else
- {
- /* We have to count the true elements in MASK. */
+ elements as there are in VECTOR. */
+ total = vector->dim[0].ubound + 1 - vector->dim[0].lbound;
+ }
+ else
+ {
+ /* We have to count the true elements in MASK. */
/* TODO: We could speed up pack easily in the case of only
few .TRUE. entries in MASK, by keeping track of where we
@@ -152,7 +151,7 @@ pack (gfc_array_char *ret, const gfc_array_char *array,
only have to traverse the list, and copy those elements
into the result array. In the case of datatypes which fit
in one of the integer types we could also cache the
- value instead of a pointer to it.
+ value instead of a pointer to it.
This approach might be bad from the point of view of
cache behavior in the case where our cache is not big
enough to hold all elements that have to be copied. */
@@ -195,7 +194,7 @@ pack (gfc_array_char *ret, const gfc_array_char *array,
}
}
}
-
+
/* Setup the array descriptor. */
ret->dim[0].lbound = 0;
ret->dim[0].ubound = total - 1;
@@ -344,7 +343,7 @@ pack_s (gfc_array_char *ret, const gfc_array_char *array,
ret->dim[0].stride = 1;
ret->data = internal_malloc_size (0);
ret->base = 0;
-
+
return;
}
}
@@ -363,7 +362,7 @@ pack_s (gfc_array_char *ret, const gfc_array_char *array,
rstride0 = size;
rptr = ret->data;
- /* The remaining possibilities are now:
+ /* The remaining possibilities are now:
If MASK is .TRUE., we have to copy the source array into the
result array. We then have to fill it up with elements from VECTOR.
If MASK is .FALSE., we have to copy VECTOR into the result
@@ -404,7 +403,7 @@ pack_s (gfc_array_char *ret, const gfc_array_char *array,
}
}
}
-
+
/* Add any remaining elements from VECTOR. */
if (vector)
{