1dnl Support macros for findloc.
2dnl This file is part of the GNU Fortran Runtime Library (libgfortran)
3dnl Distributed under the GNU GPL with exception.  See COPYING for details.
4include(iparm.m4)dnl
5define(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);
8export_proto(findloc2_'atype_code`);
9
10index_type
11findloc2_'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
14dnl
15define(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);
19export_proto(mfindloc2_'atype_code`);
20
21index_type
22mfindloc2_'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
26dnl
27define(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);
31export_proto(sfindloc2_'atype_code`);
32
33index_type
34sfindloc2_'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
38dnl
39define(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
42define(len_arg,`len_array, len_value')dnl
43define(base_mult,`len_array')dnl
44include(ifindloc2.m4)dnl
45