diff options
-rw-r--r-- | Modules/FortranCInterface/CMakeLists.txt | 1 | ||||
-rw-r--r-- | Modules/FortranCInterface/mymodule_.c | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/Modules/FortranCInterface/CMakeLists.txt b/Modules/FortranCInterface/CMakeLists.txt index d014d9a..18014af 100644 --- a/Modules/FortranCInterface/CMakeLists.txt +++ b/Modules/FortranCInterface/CMakeLists.txt @@ -56,6 +56,7 @@ list(REMOVE_DUPLICATES module_symbols) # Note that some compiler manglings cannot be invoked from C: # MIPSpro uses "MY_SUB.in.MY_MODULE" # SunPro uses "my_module.my_sub_" +# PathScale uses "MY_SUB.in.MY_MODULE" # Add module symbols only with Fortran90. if(CMAKE_Fortran_COMPILER_SUPPORTS_F90) diff --git a/Modules/FortranCInterface/mymodule_.c b/Modules/FortranCInterface/mymodule_.c index a7152af..b5feda6 100644 --- a/Modules/FortranCInterface/mymodule_.c +++ b/Modules/FortranCInterface/mymodule_.c @@ -1,2 +1,8 @@ +#if defined(__PATHSCALE__) +/* PathScale Fortran wants mymodule_ when calling any mymodule symbol, + but module symbols use '.in.' so we cannot provide them anyway. */ +void pathscale_mymodule_(void) {} +#else /* PGI Fortran wants mymodule_ when calling any mymodule symbol. */ void mymodule_(void) {} +#endif |