From 4685872078f71705c53c19d79121bd9d76b83265 Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 16 Feb 2010 13:24:44 -0500 Subject: FortranCInterface: Fix PathScale detection again PathScale Fortran mangles module symbols as "MY_SUB.in.MY_MODULE" and also requires "my_module_" when the module is imported. We cannot provide the symbol with ".in." mangling so we should not provide "my_module_" because it would duplicate the one in the Fortran-provided object file. Commit "FortranCInterface: Fix PathScale detection" (2010-01-22) already made the same fix for the non-underscore module case. --- Modules/FortranCInterface/my_module_.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Modules/FortranCInterface/my_module_.c b/Modules/FortranCInterface/my_module_.c index 0d7091f..364b214 100644 --- a/Modules/FortranCInterface/my_module_.c +++ b/Modules/FortranCInterface/my_module_.c @@ -1,2 +1,8 @@ +#if defined(__PATHSCALE__) +/* PathScale Fortran wants my_module_ when calling any my_module symbol, + but module symbols use '.in.' so we cannot provide them anyway. */ +void pathscale_my_module_(void) {} +#else /* PGI Fortran wants my_module_ when calling any my_module symbol. */ void my_module_(void) {} +#endif -- cgit v0.12