On Tue, Mar 12, 2019 at 10:42:21PM +0100, Thomas Koenig wrote: > > the attached patch fixes three very closely related 7/8/9 regressions. > The common root cause of these PRs was that , if a binding label > existed, gfc_get_extern_function_decl first looked for that name > in the global symbol table for that function and used its backend_decl. > If there was a module procedure with the same name as the BIND(C) > routine (perfectly legal), the wrong procedure would then be called. > > The approach is straightforward: In the global symbol table, record > whether we are looking at a "normal" or a BIND(C) name, and if we > come across the wrong kind of entry in gfc_get_extern_function_decl, > just ignore it. > > Regressoin-tested. OK for trunk?
Looks good to me. -- Steve