diff options
author | Brad King <brad.king@kitware.com> | 2011-03-24 20:06:58 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2011-03-24 20:06:58 (GMT) |
commit | d0203fb567cafc97138cff1128f78cb41203ceef (patch) | |
tree | cfe7a75bdca82d011284fadef2484361136a1e1d /Modules/FortranCInterface/my_module_.c | |
parent | 09d1c1080def2b060397469240f184b3fa5358d9 (diff) | |
download | CMake-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_.c | 7 |
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 |