Home | History | Annotate | Line # | Download | only in m4
      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,`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);
      8 export_proto(findloc2_'atype_code`);
      9 
     10 index_type
     11 findloc2_'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
     14 dnl
     15 define(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);
     19 export_proto(mfindloc2_'atype_code`);
     20 
     21 index_type
     22 mfindloc2_'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
     26 dnl
     27 define(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);
     31 export_proto(sfindloc2_'atype_code`);
     32 
     33 index_type
     34 sfindloc2_'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
     38 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(ifindloc2.m4)dnl
     45