annotate libgfortran/m4/findloc2s.m4 @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
145
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1 dnl Support macros for findloc.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2 dnl This file is part of the GNU Fortran Runtime Library (libgfortran)
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
3 dnl Distributed under the GNU GPL with exception. See COPYING for details.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
4 include(iparm.m4)dnl
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
5 define(header1,`index_type findloc2_'atype_code` ('atype` * const restrict array,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
6 const 'atype_name` * restrict value, GFC_LOGICAL_4 back,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
7 gfc_charlen_type len_array, gfc_charlen_type len_value);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
8 export_proto(findloc2_'atype_code`);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
9
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
10 index_type
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
11 findloc2_'atype_code` ('atype` * const restrict array, const 'atype_name` * restrict value,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
12 GFC_LOGICAL_4 back,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
13 gfc_charlen_type len_array, gfc_charlen_type len_value)')dnl
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
14 dnl
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
15 define(header2,`index_type mfindloc2_'atype_code` ('atype` * const restrict array,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
16 const 'atype_name` * restrict value,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
17 gfc_array_l1 *const restrict mask, GFC_LOGICAL_4 back,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
18 gfc_charlen_type len_array, gfc_charlen_type len_value);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
19 export_proto(mfindloc2_'atype_code`);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
20
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
21 index_type
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
22 mfindloc2_'atype_code` ('atype` * const restrict array,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
23 const 'atype_name` * restrict value, gfc_array_l1 *const restrict mask,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
24 GFC_LOGICAL_4 back, gfc_charlen_type len_array,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
25 gfc_charlen_type len_value)')dnl
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
26 dnl
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
27 define(header3,`index_type sfindloc2_'atype_code` ('atype` * const restrict array,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
28 const 'atype_name` * restrict value,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
29 GFC_LOGICAL_4 *const restrict mask, GFC_LOGICAL_4 back,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
30 gfc_charlen_type len_array, gfc_charlen_type len_value);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
31 export_proto(sfindloc2_'atype_code`);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
32
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
33 index_type
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
34 sfindloc2_'atype_code` ('atype` * const restrict array,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
35 const 'atype_name` * restrict value, GFC_LOGICAL_4 *const restrict mask,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
36 GFC_LOGICAL_4 back, gfc_charlen_type len_array,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
37 gfc_charlen_type len_value)')dnl
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
38 dnl
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
39 define(comparison,ifelse(atype_kind,4,dnl
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
40 `compare_string_char4 (len_array, src, len_value, value) == 0',dnl
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
41 `compare_string (len_array, (char *) src, len_value, (char *) value) == 0'))dnl
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
42 define(len_arg,`len_array, len_value')dnl
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
43 define(base_mult,`len_array')dnl
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
44 include(ifindloc2.m4)dnl