From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII X-Google-Thread: 103376,a4c1c8c629c470f7 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-11-22 06:12:05 PST Path: archiver1.google.com!news2.google.com!news1.google.com!sn-xit-02!supernews.com!newsfeed.direct.ca!look.ca!feed2.news.rcn.net!feed1.news.rcn.net!rcn!not-for-mail From: Dan Nagle Newsgroups: comp.lang.ada Subject: Re: Interface Ada95 => Fortran90 Date: Thu, 22 Nov 2001 08:52:16 -0500 Organization: Purple Sage Computing Solutions, Inc. Message-ID: References: <3BFCC902.758ADC8D@setra.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: UmFuZG9tSVYxCtKr8g6bxVI+ZtDA8nx5beEuIBFzJZMyzN2MRYIUerH9IIVHz4qW X-Complaints-To: abuse@rcn.com NNTP-Posting-Date: 22 Nov 2001 13:52:34 GMT X-Newsreader: Forte Agent 1.8/32.553 Xref: archiver1.google.com comp.lang.ada:16863 Date: 2001-11-22T13:52:34+00:00 List-Id: Hello, Most modern Fortran compilers document their pointer & allocatable structure, so RTFM for your target compiler. Try using the "sequence" keyword in the derived type definition on the Fortran side, if you can. It causes the compiler to lay out in memory the derived type in the same order as the components are declared. Otherwise, the Fortran compiler is free to reorder for alignment or other purposes. Check for f90/95 compilers which support the Fortran 2000 C Interoperability features. (Judging from traffic in the Fortran newsgroups & mailing lists, this is one of the most requested features so it may be one of the first to be implemented.) I know of none which are available now, but some vendors have been hinting RSN. I'm told by some members of the Fortran C Interoperability subcommittee (of J3) that if the Fortran definition specify that the derived type (or procedure) is to interoperate with C, and the other language also specifies that its objects are to interoperate with C, that there's a high probability of both non-C languages being able to meet in the middle. The most important parameter here is both compilers targeting the same C compiler. -- Cheers! Dan Nagle Purple Sage Computing Solutions, Inc. On Thu, 22 Nov 2001 10:44:34 +0100, Claude SIMON wrote: >I think problems come from arrays, fortran derived types and pointers. > >With arrays the problem come with assumed-shape array, array pointer and >allocatable array. >With fortran derived type the problem come from array component of the >above type. >Each fortran compiler has his own representation of pointer. > >One way to avoid the problem is to code wrapper to translate from >fortran 90 to fortran 77 >when arrays and pointers are involved. > >Claude Simon > >Jean Claude Berges a �crit : > >> Hello all , >> >> Can someone point me to tutorials, websites covering the topic of >> "Interface Ada95 ==> Fortran90" (call Fortran90 subroutines or >> functions from Ada95), like the work of Duncan Sands (see: >> http://topo.math.u-psud.fr/~sands/BLAS/) but for Fortran90 types, >> not only basic Fortran77 types. >> >> In particular, examples about the "Import" of Fortran90 derived >> type, the use of Fortran90 optional statement for dummy >> arguments, ... >> >> Thanks in advance. >> >> Jean Claude BERGES >> French Space Center ( DTS/MPI/MS/MN) >> 18,Av. Edouard Belin >> 31401 TOULOUSE Cedex 04 - FRANCE >> >> E-mail : Jean-Claude.Berges@cnes.fr