[Bug fortran/36528] Cray pointer to function mishandled
--- Comment #6 from pault at gcc dot gnu dot org 2009-04-06 11:07 --- Fixed on trunk and 4.4 Thanks for the report Paul -- pault at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36528
[Bug fortran/36528] Cray pointer to function mishandled
--- Comment #5 from pault at gcc dot gnu dot org 2009-03-28 17:39 --- (In reply to comment #4) Not so - this was the wrong message for another commit. This fix is on the way. Paul -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36528
[Bug fortran/36528] Cray pointer to function mishandled
--- Comment #3 from pault at gcc dot gnu dot org 2009-02-13 21:12 --- Subject: Bug 36528 Author: pault Date: Fri Feb 13 21:12:34 2009 New Revision: 144164 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=144164 Log: 2009-02-13 Paul Thomas pa...@gcc.gnu.org PR fortran/36703 PR fortran/36528 * trans-expr.c (gfc_conv_function_val): Stabilize Cray-pointer function references to ensure that a valid expression is used. (gfc_conv_function_call): Pass Cray pointers to procedures. 2009-02-13 Paul Thomas pa...@gcc.gnu.org PR fortran/36528 * gfortran.dg/cray_pointers_8.f90: New test. PR fortran/36703 * gfortran.dg/cray_pointers_9.f90: New test. Added: trunk/gcc/testsuite/gfortran.dg/cray_pointers_8.f90 trunk/gcc/testsuite/gfortran.dg/cray_pointers_9.f90 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/trans-expr.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36528
[Bug fortran/36528] Cray pointer to function mishandled
--- 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