summaryrefslogtreecommitdiffstats
path: root/Modules/FortranCInterface/my_module_.c
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2011-03-24 20:06:58 (GMT)
committerBrad King <brad.king@kitware.com>2011-03-24 20:06:58 (GMT)
commitd0203fb567cafc97138cff1128f78cb41203ceef (patch)
treecfe7a75bdca82d011284fadef2484361136a1e1d /Modules/FortranCInterface/my_module_.c
parent09d1c1080def2b060397469240f184b3fa5358d9 (diff)
downloadCMake-d0203fb567cafc97138cff1128f78cb41203ceef.zip
CMake-d0203fb567cafc97138cff1128f78cb41203ceef.tar.gz
CMake-d0203fb567cafc97138cff1128f78cb41203ceef.tar.bz2
FortranCInterface: Fix mangling detection with Cray Fortran >= 7.3.2
The Cray Fortran compiler started using module init symbols in version 7.3.2. Starting in commit 71287734 (Teach FortranC interface for Intel, PGI, and gcc 4.2, 2009-08-05) we provide C versions of the module init symbols so that the detection executable can link when the C versions of the module-mangled symbols are picked up. If no C module-mangled symbol matches then we cannot let the C module init symbol appear because it will be duplicated by the Fortran copy that provides the module-mangled symbol. This was first handled for the PathScale compiler in commit 21faaa5d (FortranCInterface: Fix PathScale detection, 2010-01-22) and commit 46858720 (FortranCInterface: Fix PathScale detection again, 2010-02-16). Handle it now for the Cray compiler too.
Diffstat (limited to 'Modules/FortranCInterface/my_module_.c')
-rw-r--r--Modules/FortranCInterface/my_module_.c7
1 files changed, 0 insertions, 7 deletions
diff --git a/Modules/FortranCInterface/my_module_.c b/Modules/FortranCInterface/my_module_.c
index 364b214..6510ae9 100644
--- a/Modules/FortranCInterface/my_module_.c
+++ b/Modules/FortranCInterface/my_module_.c
@@ -1,8 +1 @@
-#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