1*760c2415Smrgdnl Support macros for findloc.
2*760c2415Smrgdnl This file is part of the GNU Fortran Runtime Library (libgfortran)
3*760c2415Smrgdnl Distributed under the GNU GPL with exception.  See COPYING for details.
4*760c2415Smrginclude(iparm.m4)dnl
5*760c2415Smrgdefine(header1,`extern void findloc0_'atype_code` (gfc_array_index_type * const restrict retarray,
6*760c2415Smrg       	    		'atype` * const restrict array, 'atype_name` value,
7*760c2415Smrg			 GFC_LOGICAL_4);
8*760c2415Smrgexport_proto(findloc0_'atype_code`);
9*760c2415Smrg
10*760c2415Smrgvoid
11*760c2415Smrgfindloc0_'atype_code` (gfc_array_index_type * const restrict retarray,
12*760c2415Smrg    	    'atype` * const restrict array, 'atype_name` value,
13*760c2415Smrg	    GFC_LOGICAL_4 back)')dnl
14*760c2415Smrgdnl
15*760c2415Smrgdefine(header2,`extern void mfindloc0_'atype_code` (gfc_array_index_type * const restrict retarray,
16*760c2415Smrg       	    		'atype` * const restrict array, 'atype_name` value,
17*760c2415Smrg			 gfc_array_l1 *const restrict, GFC_LOGICAL_4);
18*760c2415Smrgexport_proto(mfindloc0_'atype_code`);
19*760c2415Smrg
20*760c2415Smrgvoid
21*760c2415Smrgmfindloc0_'atype_code` (gfc_array_index_type * const restrict retarray,
22*760c2415Smrg    	    'atype` * const restrict array, 'atype_name` value,
23*760c2415Smrg	    gfc_array_l1 *const restrict mask, GFC_LOGICAL_4 back)')
24*760c2415Smrgdnl
25*760c2415Smrgdefine(header3,`extern void sfindloc0_'atype_code` (gfc_array_index_type * const restrict retarray,
26*760c2415Smrg       	    		'atype` * const restrict array, 'atype_name` value,
27*760c2415Smrg			 GFC_LOGICAL_4 *, GFC_LOGICAL_4);
28*760c2415Smrgexport_proto(sfindloc0_'atype_code`);
29*760c2415Smrg
30*760c2415Smrgvoid
31*760c2415Smrgsfindloc0_'atype_code` (gfc_array_index_type * const restrict retarray,
32*760c2415Smrg    	    'atype` * const restrict array, 'atype_name` value,
33*760c2415Smrg	    GFC_LOGICAL_4 * mask, GFC_LOGICAL_4 back)')dnl
34*760c2415Smrgdnl
35*760c2415Smrgdefine(comparison,`*base == value')dnl
36*760c2415Smrgdefine(len_arg,`')dnl
37*760c2415Smrgdefine(base_mult,1)dnl
38*760c2415Smrginclude(ifindloc0.m4)dnl
39