aboutsummaryrefslogtreecommitdiff
path: root/libgfortran/intrinsics
diff options
context:
space:
mode:
authorSteven G. Kargl <kargls@comcast.net>2004-12-14 10:43:36 +0000
committerSteven Bosscher <steven@gcc.gnu.org>2004-12-14 10:43:36 +0000
commit985791f6feb0274ab67f192ab913628428cead91 (patch)
treea962594796d219a5d0f1ef5a80d214357231d6b3 /libgfortran/intrinsics
parent803140430a36062b98f1d9b3dced6e2a23a80e50 (diff)
downloadgcc-985791f6feb0274ab67f192ab913628428cead91.zip
gcc-985791f6feb0274ab67f192ab913628428cead91.tar.gz
gcc-985791f6feb0274ab67f192ab913628428cead91.tar.bz2
re PR libfortran/18966 (cshift etc. not implemented for kind=1 and kind=2 actual arguments)
PR libfortran/18966 * gfortran.h: typedef GFC_INTEGER_1 and GFC_INTEGER_2 * intrinsics/cshift0.c (cshift0_1,cshift0_2): New functions. * intrinsics/eoshift0.c (eoshift0_1,eoshift0_2): New functions. * intrinsics/eoshift2.c (eoshift2_1,eoshift2_2): New functions. From-SVN: r92132
Diffstat (limited to 'libgfortran/intrinsics')
-rw-r--r--libgfortran/intrinsics/cshift0.c26
-rw-r--r--libgfortran/intrinsics/eoshift0.c31
-rw-r--r--libgfortran/intrinsics/eoshift2.c31
3 files changed, 88 insertions, 0 deletions
diff --git a/libgfortran/intrinsics/cshift0.c b/libgfortran/intrinsics/cshift0.c
index 4783eda..f712629 100644
--- a/libgfortran/intrinsics/cshift0.c
+++ b/libgfortran/intrinsics/cshift0.c
@@ -238,6 +238,30 @@ cshift0 (gfc_array_char * ret, const gfc_array_char * array,
}
+extern void cshift0_1 (gfc_array_char *, const gfc_array_char *,
+ const GFC_INTEGER_1 *, const GFC_INTEGER_1 *);
+export_proto(cshift0_1);
+
+void
+cshift0_1 (gfc_array_char *ret, const gfc_array_char *array,
+ const GFC_INTEGER_1 *pshift, const GFC_INTEGER_1 *pdim)
+{
+ cshift0 (ret, array, *pshift, pdim ? *pdim : 1);
+}
+
+
+extern void cshift0_2 (gfc_array_char *, const gfc_array_char *,
+ const GFC_INTEGER_2 *, const GFC_INTEGER_2 *);
+export_proto(cshift0_2);
+
+void
+cshift0_2 (gfc_array_char *ret, const gfc_array_char *array,
+ const GFC_INTEGER_2 *pshift, const GFC_INTEGER_2 *pdim)
+{
+ cshift0 (ret, array, *pshift, pdim ? *pdim : 1);
+}
+
+
extern void cshift0_4 (gfc_array_char *, const gfc_array_char *,
const GFC_INTEGER_4 *, const GFC_INTEGER_4 *);
export_proto(cshift0_4);
@@ -249,6 +273,7 @@ cshift0_4 (gfc_array_char *ret, const gfc_array_char *array,
cshift0 (ret, array, *pshift, pdim ? *pdim : 1);
}
+
extern void cshift0_8 (gfc_array_char *, const gfc_array_char *,
const GFC_INTEGER_8 *, const GFC_INTEGER_8 *);
export_proto(cshift0_8);
@@ -259,3 +284,4 @@ cshift0_8 (gfc_array_char *ret, const gfc_array_char *array,
{
cshift0 (ret, array, *pshift, pdim ? *pdim : 1);
}
+
diff --git a/libgfortran/intrinsics/eoshift0.c b/libgfortran/intrinsics/eoshift0.c
index 66f0ab1..efe880d 100644
--- a/libgfortran/intrinsics/eoshift0.c
+++ b/libgfortran/intrinsics/eoshift0.c
@@ -187,6 +187,35 @@ eoshift0 (gfc_array_char * ret, const gfc_array_char * array,
}
}
+
+extern void eoshift0_1 (gfc_array_char *, const gfc_array_char *,
+ const GFC_INTEGER_1 *, const char *,
+ const GFC_INTEGER_1 *);
+export_proto(eoshift0_1);
+
+void
+eoshift0_1 (gfc_array_char *ret, const gfc_array_char *array,
+ const GFC_INTEGER_1 *pshift, const char *pbound,
+ const GFC_INTEGER_1 *pdim)
+{
+ eoshift0 (ret, array, *pshift, pbound, pdim ? *pdim : 1);
+}
+
+
+extern void eoshift0_2 (gfc_array_char *, const gfc_array_char *,
+ const GFC_INTEGER_2 *, const char *,
+ const GFC_INTEGER_2 *);
+export_proto(eoshift0_2);
+
+void
+eoshift0_2 (gfc_array_char *ret, const gfc_array_char *array,
+ const GFC_INTEGER_2 *pshift, const char *pbound,
+ const GFC_INTEGER_2 *pdim)
+{
+ eoshift0 (ret, array, *pshift, pbound, pdim ? *pdim : 1);
+}
+
+
extern void eoshift0_4 (gfc_array_char *, const gfc_array_char *,
const GFC_INTEGER_4 *, const char *,
const GFC_INTEGER_4 *);
@@ -200,6 +229,7 @@ eoshift0_4 (gfc_array_char *ret, const gfc_array_char *array,
eoshift0 (ret, array, *pshift, pbound, pdim ? *pdim : 1);
}
+
extern void eoshift0_8 (gfc_array_char *, const gfc_array_char *,
const GFC_INTEGER_8 *, const char *,
const GFC_INTEGER_8 *);
@@ -212,3 +242,4 @@ eoshift0_8 (gfc_array_char *ret, const gfc_array_char *array,
{
eoshift0 (ret, array, *pshift, pbound, pdim ? *pdim : 1);
}
+
diff --git a/libgfortran/intrinsics/eoshift2.c b/libgfortran/intrinsics/eoshift2.c
index e7409e6..67ca7d2 100644
--- a/libgfortran/intrinsics/eoshift2.c
+++ b/libgfortran/intrinsics/eoshift2.c
@@ -203,6 +203,35 @@ eoshift2 (gfc_array_char *ret, const gfc_array_char *array,
}
}
+
+extern void eoshift2_1 (gfc_array_char *, const gfc_array_char *,
+ const GFC_INTEGER_1 *, const gfc_array_char *,
+ const GFC_INTEGER_1 *);
+export_proto(eoshift2_1);
+
+void
+eoshift2_1 (gfc_array_char *ret, const gfc_array_char *array,
+ const GFC_INTEGER_1 *pshift, const gfc_array_char *bound,
+ const GFC_INTEGER_1 *pdim)
+{
+ eoshift2 (ret, array, *pshift, bound, pdim ? *pdim : 1);
+}
+
+
+extern void eoshift2_2 (gfc_array_char *, const gfc_array_char *,
+ const GFC_INTEGER_2 *, const gfc_array_char *,
+ const GFC_INTEGER_2 *);
+export_proto(eoshift2_2);
+
+void
+eoshift2_2 (gfc_array_char *ret, const gfc_array_char *array,
+ const GFC_INTEGER_2 *pshift, const gfc_array_char *bound,
+ const GFC_INTEGER_2 *pdim)
+{
+ eoshift2 (ret, array, *pshift, bound, pdim ? *pdim : 1);
+}
+
+
extern void eoshift2_4 (gfc_array_char *, const gfc_array_char *,
const GFC_INTEGER_4 *, const gfc_array_char *,
const GFC_INTEGER_4 *);
@@ -216,6 +245,7 @@ eoshift2_4 (gfc_array_char *ret, const gfc_array_char *array,
eoshift2 (ret, array, *pshift, bound, pdim ? *pdim : 1);
}
+
extern void eoshift2_8 (gfc_array_char *, const gfc_array_char *,
const GFC_INTEGER_8 *, const gfc_array_char *,
const GFC_INTEGER_8 *);
@@ -228,3 +258,4 @@ eoshift2_8 (gfc_array_char *ret, const gfc_array_char *array,
{
eoshift2 (ret, array, *pshift, bound, pdim ? *pdim : 1);
}
+