Hi,
I am currently trying to get the argument lists for calling
intrinsic functions right, and I have run across something in a
tree I do not understand.
The declaration is:
<function_decl 0x7feefcdf8700 _gfortran_mmaxloc2_4_s1
type <function_type 0x7feefce495e8
type <integer_type 0x7feefcfec5e8 integer(kind=4) public SI
size <integer_cst 0x7feefcfd7df8 constant 32>
unit-size <integer_cst 0x7feefcfd7e10 constant 4>
align:32 warn_if_not_align:0 symtab:0 alias-set -1
canonical-type 0x7feefcfec5e8 precision:32 min <integer_cst
0x7feefcfd7db0 -2147483648> max <integer_cst 0x7feefcfd7dc8 2147483647>
pointer_to_this <pointer_type 0x7feefcff39d8>>
QI
size <integer_cst 0x7feefcfd7ca8 constant 8>
unit-size <integer_cst 0x7feefcfd7cc0 constant 1>
align:8 warn_if_not_align:0 symtab:0 alias-set -1
canonical-type 0x7feefce49540
attributes <tree_list 0x7feefce4cd20
purpose <identifier_node 0x7feefd048a00 fn spec>
value <tree_list 0x7feefce4ccf8
value <string_cst 0x7feefce47f00 constant ". r r r ">>>
arg-types <tree_list 0x7feefce4cc30 value <reference_type
0x7feefce491f8>
chain <tree_list 0x7feefce4cc08 value <pointer_type
0x7feefce493f0>
chain <tree_list 0x7feefce4cbe0 value <boolean_type
0x7feefcff9000 logical(kind=4)>
chain <tree_list 0x7feefce4cbb8 value <integer_type
0x7feefcfec738 integer(kind=8)>
chain <tree_list 0x7feefcfebb18 value
<void_type 0x7feefcfecf18 void>>>>>>
and the library function has
mmaxloc2_4_s1 (gfc_array_s1 * const restrict array,
gfc_array_l1 * const restrict mask,
GFC_LOGICAL_4 back,
gfc_charlen_type len)
As far as I can tell, the decl looks correct, but I am a bit
confused by the final
chain <tree_list 0x7feefcfebb18 value <void_type 0x7feefcfecf18 void>>>>>>
there. Should that be there? What does it mean?
Best regards
Thomas