diff options
author | Tobias Burnus <burnus@net-b.de> | 2013-01-04 22:51:34 +0100 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2013-01-04 22:51:34 +0100 |
commit | 0881224eee2aba544af6ff30601d69c1995200ec (patch) | |
tree | d5979c9b555dd393249623f63e19dec89246793a /gcc/fortran/intrinsic.c | |
parent | 94241120154b0a20b40764c56d0d26f3538927ca (diff) | |
download | gcc-0881224eee2aba544af6ff30601d69c1995200ec.zip gcc-0881224eee2aba544af6ff30601d69c1995200ec.tar.gz gcc-0881224eee2aba544af6ff30601d69c1995200ec.tar.bz2 |
intrinsic.c (add_functions): New internal intrinsic function GFC_PREFIX ("stride").
2013-01-04 Tobias Burnus <burnus@net-b.de>
* intrinsic.c (add_functions): New internal intrinsic
function GFC_PREFIX ("stride").
* gfortran.h (gfc_isym_id): Add GFC_ISYM_STRIDE.
* intrinsic.h (gfc_resolve_stride): New prototypes.
* iresolve.c (gfc_resolve_stride): New function.
* trans-intrinsic.c (conv_intrinsic_stride): New static
function.
(gfc_conv_intrinsic_function): Use it.
From-SVN: r194918
Diffstat (limited to 'gcc/fortran/intrinsic.c')
-rw-r--r-- | gcc/fortran/intrinsic.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/fortran/intrinsic.c b/gcc/fortran/intrinsic.c index d26f8b0..5f1b8e7 100644 --- a/gcc/fortran/intrinsic.c +++ b/gcc/fortran/intrinsic.c @@ -2640,6 +2640,14 @@ add_functions (void) make_generic ("size", GFC_ISYM_SIZE, GFC_STD_F95); + /* Obtain the stride for a given dimensions; to be used only internally. + "make_from_module" makes inaccessible for external users. */ + add_sym_2 (GFC_PREFIX ("stride"), GFC_ISYM_STRIDE, CLASS_INQUIRY, ACTUAL_NO, + BT_INTEGER, gfc_index_integer_kind, GFC_STD_GNU, + NULL, NULL, gfc_resolve_stride, + ar, BT_REAL, dr, REQUIRED, dm, BT_INTEGER, ii, OPTIONAL); + make_from_module(); + add_sym_1 ("sizeof", GFC_ISYM_SIZEOF, CLASS_IMPURE, ACTUAL_NO, BT_INTEGER, ii, GFC_STD_GNU, gfc_check_sizeof, NULL, NULL, x, BT_UNKNOWN, 0, REQUIRED); |