Help getting HelloMeshF77.F to run on GRUMMP
Tim Tautges
tautges at mcs.anl.gov
Tue Nov 3 15:46:14 CST 2009
Mark Miller wrote:
> Hi Tim,
>
> Sorry if you wound up re-stating something from a previous email.
>
...
>> To be a bit more precise, and to indicate the motivation a bit better, these macros map what the code says is the
>> unmangled iMesh function names into the mangled form, which is callable as-is from C and Fortran both. So, the user
>> always sees the unmangled names in code. The mangled names are usually different from those.
>
> Thats only true as long as they never debug anything.
>
Not that this justifies the current approach entirely, but at least we don't need to trace through 4-6 function layers
from the application to the implementation, as we had to with the SIDL-based interface. Also, it's only a subset of
debugging operations for which you need to specify a breakpoint in terms of the iMesh function name. Other operations
include specifying by line, stepping into, specifying by name in the implementation-native function, etc.
>> Well, many large Fortran applications use CPP to preprocess their fortran anyway (thus the .F extension, rather than .f
>> or .f77), and all the systems I know of support this (that's not precise, but it's not worth the time to state
>> properly). So it's not a matter of doing it easily with the preprocessor. The real crux is that we don't want to call
>> wrapper functions, which impose an overhead that can be avoided. One could argue you could do this with inlining too,
>> but then you wouldn't be compatible with f77.
>
> Ok, I understand that. At least in theory. In practice, I really wonder
> if that overhead -- which would exist only for a fortran caller -- is
> going to be any factor in adoption.
>
Yes, so it's subjective. Is the potential confusion during debugging (and possibly configuring for implementation
developers) worth the overhead of a wrapper layer.
>
> Funny you should say that. Becuase, you just requested we add
> iBase_OPTION_NOT_PROCESSED.
>
Yep, but that proves my point, I think - out of all the enum values, just one new one in about 5 years doesn't seem like
much.
- tim
--
================================================================
"You will keep in perfect peace him whose mind is
steadfast, because he trusts in you." Isaiah 26:3
Tim Tautges Argonne National Laboratory
(tautges at mcs.anl.gov) (telecommuting from UW-Madison)
phone: (608) 263-8485 1500 Engineering Dr.
fax: (608) 263-4499 Madison, WI 53706
More information about the tstt-interface
mailing list