X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=libgfortran%2Fintrinsics%2Ftranspose_generic.c;h=5b1929ca55ddac21e488fec8c5b8d5a901c30a19;hb=3571925eb5e0d39f1a1cf3de64e3e9648329cb81;hp=1daae8bb5b786908dbe9328811068310750e1a67;hpb=6ff24d45dc7bf2691b6c2c3f9e9830360dc572a6;p=gcc.git diff --git a/libgfortran/intrinsics/transpose_generic.c b/libgfortran/intrinsics/transpose_generic.c index 1daae8bb5b7..5b1929ca55d 100644 --- a/libgfortran/intrinsics/transpose_generic.c +++ b/libgfortran/intrinsics/transpose_generic.c @@ -1,5 +1,5 @@ /* Implementation of the TRANSPOSE intrinsic - Copyright 2003, 2006 Free Software Foundation, Inc. + Copyright 2003, 2006, 2007 Free Software Foundation, Inc. Contributed by Tobias Schlüter This file is part of the GNU Fortran 95 runtime library (libgfortran). @@ -28,11 +28,10 @@ License along with libgfortran; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -#include "config.h" +#include "libgfortran.h" #include #include #include -#include "libgfortran.h" extern void transpose (gfc_array_char *, gfc_array_char *); export_proto(transpose); @@ -95,6 +94,7 @@ transpose_internal (gfc_array_char *ret, gfc_array_char *source, } } + extern void transpose (gfc_array_char *, gfc_array_char *); export_proto(transpose); @@ -104,6 +104,7 @@ transpose (gfc_array_char *ret, gfc_array_char *source) transpose_internal (ret, source, GFC_DESCRIPTOR_SIZE (source)); } + extern void transpose_char (gfc_array_char *, GFC_INTEGER_4, gfc_array_char *, GFC_INTEGER_4); export_proto(transpose_char); @@ -115,3 +116,16 @@ transpose_char (gfc_array_char *ret, { transpose_internal (ret, source, source_length); } + + +extern void transpose_char4 (gfc_array_char *, GFC_INTEGER_4, + gfc_array_char *, GFC_INTEGER_4); +export_proto(transpose_char4); + +void +transpose_char4 (gfc_array_char *ret, + GFC_INTEGER_4 ret_length __attribute__((unused)), + gfc_array_char *source, GFC_INTEGER_4 source_length) +{ + transpose_internal (ret, source, source_length * sizeof (gfc_char4_t)); +}