Mercurial > hg > CbC > CbC_gcc
view libgfortran/m4/misc_specifics.m4 @ 158:494b0b89df80 default tip
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 18:13:55 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
include(head.m4)dnl dnl dnl This file contains the specific functions that are not handled in the dnl m4/specific.m4 file. #include "config.h" #include "kinds.inc" dnl This is from GNU m4 examples file foreach.m4: divert(-1) # foreach(x, (item_1, item_2, ..., item_n), stmt) define(`foreach', `pushdef(`$1', `')_foreach(`$1', `$2', `$3')popdef(`$1')') define(`_arg1', `$1') define(`_foreach', `ifelse(`$2', `()', , `define(`$1', _arg1$2)$3`'_foreach(`$1', (shift$2), `$3')')') # traceon(`define', `foreach', `_foreach', `ifelse') divert dnl NINT specifics foreach(`ikind', `(4, 8, 16)', `foreach(`rkind', `(4, 8, 10, 16)', ` `#if defined (HAVE_GFC_REAL_'rkind`) && defined (HAVE_GFC_INTEGER_'ikind`)' elemental function _gfortran_specific__nint_`'ikind`_'rkind (parm) real (kind=rkind) , intent (in) :: parm integer (kind=ikind) :: _gfortran_specific__nint_`'ikind`_'rkind _gfortran_specific__nint_`'ikind`_'rkind = nint (parm) end function #endif ')') dnl CHAR specifics foreach(`ckind', `(1)', `foreach(`ikind', `(4, 8, 16)', ` `#if defined (HAVE_GFC_INTEGER_'ikind`)' elemental function _gfortran_specific__char_`'ckind`_i'ikind (parm) integer (kind=ikind) , intent (in) :: parm character (kind=ckind,len=1) :: _gfortran_specific__char_`'ckind`_i'ikind _gfortran_specific__char_`'ckind`_i'ikind` = char (parm, kind='ckind`)' end function #endif ')') dnl LEN specifics foreach(`ckind', `(1)', `foreach(`ikind', `(4, 8, 16)', ` `#if defined (HAVE_GFC_INTEGER_'ikind`)' elemental function _gfortran_specific__len_`'ckind`_i'ikind (parm) character (kind=ckind,len=*) , intent (in) :: parm integer (kind=ikind) :: _gfortran_specific__len_`'ckind`_i'ikind _gfortran_specific__len_`'ckind`_i'ikind` = len (parm)' end function #endif ')') dnl INDEX specifics foreach(`ckind', `(1)', `foreach(`ikind', `(4, 8, 16)', ` `#if defined (HAVE_GFC_INTEGER_'ikind`)' elemental function _gfortran_specific__index_`'ckind`_i'ikind (parm1, parm2) character (kind=ckind,len=*) , intent (in) :: parm1, parm2 integer (kind=ikind) :: _gfortran_specific__index_`'ckind`_i'ikind _gfortran_specific__index_`'ckind`_i'ikind` = index (parm1, parm2)' end function #endif ')')