145
|
1 dnl Support macros for findloc.
|
|
2 dnl This file is part of the GNU Fortran Runtime Library (libgfortran)
|
|
3 dnl Distributed under the GNU GPL with exception. See COPYING for details.
|
|
4 include(iparm.m4)dnl
|
|
5 define(header1,`index_type findloc2_'atype_code` ('atype` * const restrict array,
|
|
6 const 'atype_name` * restrict value, GFC_LOGICAL_4 back,
|
|
7 gfc_charlen_type len_array, gfc_charlen_type len_value);
|
|
8 export_proto(findloc2_'atype_code`);
|
|
9
|
|
10 index_type
|
|
11 findloc2_'atype_code` ('atype` * const restrict array, const 'atype_name` * restrict value,
|
|
12 GFC_LOGICAL_4 back,
|
|
13 gfc_charlen_type len_array, gfc_charlen_type len_value)')dnl
|
|
14 dnl
|
|
15 define(header2,`index_type mfindloc2_'atype_code` ('atype` * const restrict array,
|
|
16 const 'atype_name` * restrict value,
|
|
17 gfc_array_l1 *const restrict mask, GFC_LOGICAL_4 back,
|
|
18 gfc_charlen_type len_array, gfc_charlen_type len_value);
|
|
19 export_proto(mfindloc2_'atype_code`);
|
|
20
|
|
21 index_type
|
|
22 mfindloc2_'atype_code` ('atype` * const restrict array,
|
|
23 const 'atype_name` * restrict value, gfc_array_l1 *const restrict mask,
|
|
24 GFC_LOGICAL_4 back, gfc_charlen_type len_array,
|
|
25 gfc_charlen_type len_value)')dnl
|
|
26 dnl
|
|
27 define(header3,`index_type sfindloc2_'atype_code` ('atype` * const restrict array,
|
|
28 const 'atype_name` * restrict value,
|
|
29 GFC_LOGICAL_4 *const restrict mask, GFC_LOGICAL_4 back,
|
|
30 gfc_charlen_type len_array, gfc_charlen_type len_value);
|
|
31 export_proto(sfindloc2_'atype_code`);
|
|
32
|
|
33 index_type
|
|
34 sfindloc2_'atype_code` ('atype` * const restrict array,
|
|
35 const 'atype_name` * restrict value, GFC_LOGICAL_4 *const restrict mask,
|
|
36 GFC_LOGICAL_4 back, gfc_charlen_type len_array,
|
|
37 gfc_charlen_type len_value)')dnl
|
|
38 dnl
|
|
39 define(comparison,ifelse(atype_kind,4,dnl
|
|
40 `compare_string_char4 (len_array, src, len_value, value) == 0',dnl
|
|
41 `compare_string (len_array, (char *) src, len_value, (char *) value) == 0'))dnl
|
|
42 define(len_arg,`len_array, len_value')dnl
|
|
43 define(base_mult,`len_array')dnl
|
|
44 include(ifindloc2.m4)dnl
|