Re: F2CL under LWW a few warnings

Raymond Toy <[email protected]> Wed, 11 Aug 2004 16:27:57 -0400
Newsgroups gmane.lisp.clocc.general
Message-ID <[email protected]>
>>>>> "Marco" == Marco Antoniotti <[email protected]> writes:

    Marco> I have a problem.

    Marco> Trying to set :declare-common t in all the files, I see that the
    Marco> definition of the common blocks (the DEFSTRUCTS) are different.
    Marco> Not all fields are generated all the time.

    Marco> If I try to selectively :declare-common t, then I get errors stating
    Marco> that this or that function is undefined.

    Marco> Any suggestion?

    Marco> Note that the instruction in the opkdmain.f file itself state that
    Marco> COMMON blocks should be treated specially, but mu Fortran is too weak
    Marco> to understand that comment.

Yuck.  You are now going to have to examine all declarations of common
blocks and make sure they're all consistently named and find (or
create) the one definition that includes all variables.  Then you can
:declare-common that particular definition and it should work for the
rest.  

This is really a deficiency in f2cl that I've never bothered to fix
because in most well-written Fortran code, common blocks are all
declared consistently with the same variable names and length,
although, I'm not sure that's a requirement.

I also see in opkdmain.f, there are two declarations for the dlss01
common block.  I don't know if that means to concatenate them or not,
but f2cl definitely doesn't handle that.  I'll have to read up on
Fortran to see what that means.

Sounds like you have a lot of fun ahead of you. :-(

And all bets are off if the code does type-punning on the common
blocks.   Give up now, if so.

Ray




-------------------------------------------------------
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285