d: Merge dmd, druntime a6f1083699, phobos 31dedd7da
[official-gcc.git] / libgfortran / m4 / findloc1s.m4
blob439617c6c9909a5b41c7e74704c33f363bf66866
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,`extern void findloc1_'atype_code` (gfc_array_index_type * const restrict retarray,
6                          'atype` * const restrict array, 'atype_name` *const restrict value,
7                          const 'index_type` * restrict pdim, GFC_LOGICAL_4 back,
8                          gfc_charlen_type len_array, gfc_charlen_type len_value);
9 export_proto(findloc1_'atype_code`);
11 extern void
12 findloc1_'atype_code` (gfc_array_index_type * const restrict retarray,
13             'atype` * const restrict array, 'atype_name` *const restrict value,
14             const 'index_type` * restrict pdim, GFC_LOGICAL_4 back,
15             gfc_charlen_type len_array, gfc_charlen_type len_value)')dnl
16 dnl
17 define(header2,`extern void mfindloc1_'atype_code` (gfc_array_index_type * const restrict retarray,
18                          'atype` * const restrict array, 'atype_name` *const restrict value,
19                          const 'index_type` * restrict pdim, gfc_array_l1 *const restrict mask,
20                          GFC_LOGICAL_4 back, gfc_charlen_type len_array, gfc_charlen_type len_value);
21 export_proto(mfindloc1_'atype_code`);
23 extern void
24 mfindloc1_'atype_code` (gfc_array_index_type * const restrict retarray,
25             'atype` * const restrict array, 'atype_name` *const restrict value,
26             const 'index_type` * restrict pdim, gfc_array_l1 *const restrict mask,
27             GFC_LOGICAL_4 back, gfc_charlen_type len_array, gfc_charlen_type len_value)')dnl
28 define(header3,`extern void sfindloc1_'atype_code` (gfc_array_index_type * const restrict retarray,
29                          'atype` * const restrict array, 'atype_name` *const restrict value,
30                          const 'index_type` * restrict pdim, GFC_LOGICAL_4 *const restrict mask,
31                          GFC_LOGICAL_4 back, gfc_charlen_type len_array, gfc_charlen_type len_value);
32 export_proto(sfindloc1_'atype_code`);
34 extern void
35 sfindloc1_'atype_code` (gfc_array_index_type * const restrict retarray,
36             'atype` * const restrict array, 'atype_name` *const restrict value,
37             const 'index_type` * restrict pdim, GFC_LOGICAL_4 *const restrict  mask,
38             GFC_LOGICAL_4 back, gfc_charlen_type len_array, gfc_charlen_type len_value)')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(ifindloc1.m4)dnl