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 <janus@gcc.gnu.org>
PR fortran/52909
* trans-decl.c (get_proc_pointer_decl): Apply name mangling.
2012-04-09 Janus Weil <janus@gcc.gnu.org>
PR fortran/52909
* gfortran.dg/proc_ptr_37.f90: New test case.