Browse Source

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.
Brad King 16 years ago
parent
commit
4685872078
1 changed files with 6 additions and 0 deletions
  1. 6 0
      Modules/FortranCInterface/my_module_.c

+ 6 - 0
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