itaps-parallel Fortran name mangling issues
Onkar Sahni
osahni at scorec.rpi.edu
Wed Nov 12 15:53:44 CST 2008
> The FC_FUNC macro winds up getting defined by something; Autoconf's
configure script does some work to define it. Or, like Onkar suggests,
you can define some logic ahead of time to set whatever FC_FUNC does
using logic like so...
>
> #ifdef AIX
> #define FC_FUNC(lowFunc,UPfunc) _lowFunc
> #elif GFORTRAN
> #define FC_FUNC(lowFunc,UPfunc) UPfunc
> #elif ...
> ..
> .
So here is my question (basically what I was trying to ask in tele-con)
which may or may not be possible:
Can "#define FC_FUNC............" be generated in a central place during
the process to install and build itaps softwares (before building any
implementation/library or service). This would be an extra configure
step in say /usr/local/itaps/headers (central location where all headers
sit along with probably configure stuff) and this step would just
generate a new header file say "itaps_fc_func.h".
Say if one uses gfortran then the header file generated in "central" place
(as an extra step using configure in "central" place) will contain
following lines and every service and implementation simply use it.
#ifndef _ITAPS_FC_FUNC_H_
#define _ITAPS_FC_FUNC_H_
/* following line is for specific platform, compiler... combination */
#define FC_FUNC(lowFunc,UPfunc) UPfunc
#endif
- Onkar
>
> The only issue I see with this approach is that you need to have defined
ahead of time all the possible #ifdef #elif cases above and whenever you
go to a new machine, then you'll have to re-visit this logic. So, I like
the approach where Autconf's configure is used to set FC_FUNC.
>
> Finally, whatever FC_FUNC is set to, it MUST match the actual name
mangling used by whatever fortran compiler is being used to compile the
code. So, it is not just a matter of everyone agreeing on an
> implementation for FC_FUNC. FC_FUNC must also address whatever name
mangling is being used by a given fortran compiler on a given platform
when the code is getting compiled. For that reason, I think the best
approach is the Autoconf approach.
>
> Mark
>
>
> --
> Mark C. Miller, Lawrence Livermore National Laboratory
> email: mailto:miller86 at llnl.gov
> (M/T/W) (925)-423-5901 (!!LLNL BUSINESS ONLY!!)
> (Th/F) (530)-753-8511 (!!LLNL BUSINESS ONLY!!)
>
>
More information about the itaps-parallel
mailing list