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