Re: Issue from IVF 9.0 to IVF 10.1



On Thu, 31 Jul 2008 10:45:48 +0200, "Jugoslav Dujic" <jdujic@xxxxxxxxx> wrote:

| May I use these features even with a non-default calling convention?

Yes (supposedly).

Roughly, the option /gen-interface works by "adding" module...end module around
the
source files in the background. /check-interface works by "adding" USE
statements
within calling routines, and then the normal interface checking rules apply. It
should be all on "source" or "preprocessor" level, i.e. be independent of the
calling convention. Steve can probably add more details.

It's not quite like that. When the compiler sees a non-CONTAINed procedure,
it generates a specially-named module with an interface for that routine. When
the compiler sees a call to a procedure that does not have an explicit
interface visible, it looks to see if one of these generated modules is
present. If so, it compares the call against the interface. This is NOT the
same as a USE, as the generated interface does not satisfy the need for an
explicit interface where required (array valued functions, etc.) Indeed, the
compiler will tell you this if you should have had an explicit interface
visible.

It's not a perfect system - in particular, order of compilation can affect it,
but it does catch a lot of problems.

Yes, it works even if you use STDCALL.
--
Steve Lionel
Developer Products Division
Intel Corporation
Nashua, NH

For email address, replace "invalid" with "com"

User communities for Intel Software Development Products
http://softwareforums.intel.com/
Intel Fortran Support
http://support.intel.com/support/performancetools/fortran
My Fortran blog
http://www.intel.com/software/drfortran
.



Relevant Pages

  • Re: MFC and c++ problems
    ... compiler to generate code that is architecturally nonsensical. ... So a design in which a control has any syntactic knowledge of any container of itself ... GetParent->SendMessage is the interface of choice, ...
    (microsoft.public.vc.mfc)
  • Re: Win32 API and gfortran
    ... write out a module containing only interface blocks and compile the ... that the /iface switches and ATTRIBUTES directives change the compiler ... arguments are passed in the normal Fortran way ...
    (comp.lang.fortran)
  • Re: Using early-bound interface on a late-bound object
    ... > the compiler determines which interfaces to use, ... > supports the declared interface. ... >> help if someone can point me to some authoritative document or reference ... within customer shops when they mirrored this 'division' to keep their ...
    (microsoft.public.vb.general.discussion)
  • Re: object system...
    ... in a statically compiled app, all of the type information is known at ... compiler starts integrating itself with the outside world, ... produces the result, the type or interface. ... optimizations the ...
    (comp.object)
  • Re: Some OO design principles WAS Re: Differences in data description in programming languages
    ... Late binding means it is resolved at run time. ... Conformance is a quality that applies to interfaces. ... * An interface can also be a collection of method prototypes, ... the Compiler provides conformance checking. ...
    (comp.lang.cobol)