]> git.ipfire.org Git - thirdparty/gcc.git/blob - libgfortran/m4/iparm.m4
Merge tree-ssa-20020619-branch into mainline.
[thirdparty/gcc.git] / libgfortran / m4 / iparm.m4
1 dnl Support macro file for intrinsic functions.
2 dnl Works out all the function types from the filename.
3 dnl This file is part of the GNU Fortran 95 Runtime Library (libgfortran)
4 dnl Distributed under the GNU LGPL. See COPYING for details.
5 dnl M4 macro file to get type names from filenames
6 include(`types.m4')
7 define(type_letter, regexp(file, `_\([irlc]\)[^_]*$', \1))dnl
8 define(type_kind, regexp(file, `_[irlc]\([0-9]*\)[^_]*$', \1))dnl
9 define(rtype_kind, regexp(file, `_\([0-9]*\)_[irlc][0-9]*[^_]*$', `\1'))dnl
10 define(type_code, type_letter`'type_kind)dnl
11 define(type_name, get_typename(type_letter,type_kind))dnl
12 define(atype, get_arraytype(type_letter,type_kind))dnl
13 ifelse(rtype_kind,,
14 `define(rtype_letter,type_letter)dnl
15 define(rtype_name, type_name)dnl
16 define(rtype_code, type_code)dnl
17 define(rtype, atype)dnl
18 define(rtype_qual,`')dnl
19 ',
20 `define(rtype_letter,i)dnl
21 define(rtype_name, get_typename(rtype_letter,rtype_kind))dnl
22 define(rtype, get_arraytype(rtype_letter,rtype_kind))dnl
23 define(rtype_qual,`_'rtype_kind)dnl
24 ')dnl
25 define(type_max, type_name`_HUGE')dnl
26 define(type_min, `-'type_max)dnl