Hi all, here is a simple patch for a problem recently reported by Andrew Benson: Procedure pointers inside a module don't receive the proper name mangling, which can lead to name collisions (as the test case demonstrates).
The patch fixes this and regtests cleanly on x86_64-unknown-linux-gnu. I am aware that it will break the ABI, but only for programs involving procedure pointers (which still is a 'relatively' new feature, supported since gfortran 4.4). So, ok for trunk? Btw, speaking of ABI breaking: What are the chances of the array descriptor update and ABI cleanup happening for the 4.8 release? I know such an ABI breaking has been planned for some time, but I haven't followed the gfortran mailing list in detail during the last weeks and months, so I'm not sure what the current status is. Cheers, Janus 2012-04-09 Janus Weil <ja...@gcc.gnu.org> PR fortran/52909 * trans-decl.c (get_proc_pointer_decl): Apply name mangling. 2012-04-09 Janus Weil <ja...@gcc.gnu.org> PR fortran/52909 * gfortran.dg/proc_ptr_37.f90: New test case.
pr52909.diff
Description: Binary data
proc_ptr_37.f90
Description: Binary data