annotate libgfortran/m4/findloc0s.m4 @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 1830386684a0
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,`extern void findloc0_'atype_code` (gfc_array_index_type * const restrict retarray,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
6 'atype` * const restrict array, 'atype_name` *value,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
7 GFC_LOGICAL_4 back, gfc_charlen_type len_array, gfc_charlen_type len_value);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
8
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
9 export_proto(findloc0_'atype_code`);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
10
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
11 void
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
12 findloc0_'atype_code` (gfc_array_index_type * const restrict retarray,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
13 'atype` * const restrict array, 'atype_name` *value,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
14 GFC_LOGICAL_4 back, gfc_charlen_type len_array, gfc_charlen_type len_value)')dnl
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
15 dnl
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
16 define(header2,`extern void mfindloc0_'atype_code` (gfc_array_index_type * const restrict retarray,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
17 'atype` * const restrict array, 'atype_name` *value,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
18 gfc_array_l1 *const restrict, GFC_LOGICAL_4 back, gfc_charlen_type len_array,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
19 gfc_charlen_type len_value);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
20 export_proto(mfindloc0_'atype_code`);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
21
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
22 void
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
23 mfindloc0_'atype_code` (gfc_array_index_type * const restrict retarray,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
24 'atype` * const restrict array, 'atype_name` *value,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
25 gfc_array_l1 *const restrict mask, GFC_LOGICAL_4 back,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
26 gfc_charlen_type len_array, gfc_charlen_type len_value)')
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
27 dnl
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
28 define(header3,`extern void sfindloc0_'atype_code` (gfc_array_index_type * const restrict retarray,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
29 'atype` * const restrict array, 'atype_name` *value,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
30 GFC_LOGICAL_4 *, GFC_LOGICAL_4 back, gfc_charlen_type len_array,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
31 gfc_charlen_type len_value);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
32 export_proto(sfindloc0_'atype_code`);
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
33
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
34 void
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
35 sfindloc0_'atype_code` (gfc_array_index_type * const restrict retarray,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
36 'atype` * const restrict array, 'atype_name` *value,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
37 GFC_LOGICAL_4 * mask, GFC_LOGICAL_4 back, gfc_charlen_type len_array,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
38 gfc_charlen_type len_value)')dnl
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
39 dnl
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
40 define(comparison,ifelse(atype_kind,4,dnl
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
41 `compare_string_char4 (len_array, base, len_value, value) == 0',dnl
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
42 `compare_string (len_array, (char *) base, len_value, (char *) value) == 0'))dnl
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
43 define(len_arg,`, len_array, len_value')dnl
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
44 define(base_mult,`len_array')dnl
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
45 include(ifindloc0.m4)dnl
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
46
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
47
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
48