------- Comment #1 from burnus at gcc dot gnu dot org 2008-06-13 16:54 ------- For gfortran documentation, see: http://gcc.gnu.org/onlinedocs/gfortran/Cray-pointers.html#Cray-pointers
a) If used directly, the tree is wrong (see dump), but it works nonetheless (I somehow have not to realize this) b) If used as actual argument, it is completely mishandled. Without explicit interface, it should be: myfunc( (void)(*<T4>)(void) pointee) (i.e. "build_pointer_type (build_function_type (void_type_node, NULL_TREE))") and with an explicit interface, it should convert pointee to the tree TYPE of the dummy argument.) c) TODO: Check whether using the pointee as non-procedure actual argument works (incl. VALUE attribute and similar things; it probably works.) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36528