Version 1.2 of ais/ai-00204.txt
!standard B.5 (00) 98-03-27 AI95-00204/00
!class confirmation 98-03-27
!status received 98-03-27
!priority High
!difficulty Medium
!subject Interfaces.Fortran must be absent, right?
!summary 98-03-27
!question 98-03-27
!response 98-03-27
!appendix
!section B.5(00)
!subject interfaces.fortran must be absent, right?
!reference AARM-B.5
!from Samuel T. Gregory 98-03-19
!reference 1998-15830.a Samuel T. Gregory 1998-3-19>>
!discussion
Because of a lack of a FORTRAN compiler, and lack of (scheduled) time to
get FORTRAN unconstrained array parameters right before scheduling an
AVF, we were not going to claim to interface to FORTRAN, then someone
here typed in INTERFACES.FORTRAN and checked it into our runtime. Now,
instead of getting an error on the "with Interfaces.Fortran" lines of
CXB50042 and CXB50052, we get other errors later on.
Please confirm that INTERFACES.FORTRAN must actually be absent in order
for an implementation not to claim to interface to FORTRAN and not have
the FORTRAN acvc tests apply. Or tell us the real criteria.
Ivan's reasoning follows:
- B.5(20) requires us to support convention FORTRAN for a
FORTRAN-eligible type.
- B.1(14-18) defines a FORTRAN-eligible type as one that either is, or
has only components that are, FORTRAN-compatible.
- B.1(13) says that a type is FORTRAN-compatible if it's declared in
package INTERFACES.FORTRAN or it's defined to be FORTRAN-COMPATIBLE.
- B.5(18) requires us to claim that the specified types (ie. all of them
in INTERFACES.FORTRAN) are FORTRAN-compatible.
- Ergo, if we provide INTERFACES.FORTRAN, then we must support
convention FORTRAN for any type that is derived from, or has
components of, any type within INTERFACES.FORTRAN.
- But, if we don't provide INTERFACES.FORTRAN, then B.1(20) allows us to
claim that we don't permit *any* FORTRAN-compatible type, and
therefore, that there are *no* FORTRAN-eligible types in our
implementation, and therefore, that B.5(20) is moot.
****************************************************************
From: Brashear, Phil
Sent: Friday, January 29, 1999 7:34 AM
Subject: Fortran support
On tests CXB5004 and CXB5005, an implementation rejects the Import pragma
because they do not define convention Fortran. As shown by CXB5001..3, they
do provide package Interface.Fortran, but they don't support actual linkages
to Fortran code.
The tests expect an implementation not fully supporting Fortran interfaces to
reject "with Interface.Fortran;" In the past, we have had implementations do
that and have also had implementations that accept the entire program but fail
at link time (because no Fortran compiler is available). Both behaviors have
been graded Not-Applicable.
We believe that rejecting the pragma (because of the undefined convention
Fortran) is a third way to handle this situation. Is this acceptable?
****************************************************************
From: Brukardt, Randy
Sent: Friday, January 29, 1999 1:33 PM
Subject: Re: Fortran support
The discussion of AI-00204 at the Paris meeting suggests that such an
implementation is not allowed. However, it would be best if the AI
write-up made clear whether or not the package Interface.Fortran implies
support for convention Fortran, and vice versa. (Of course, any such
result should apply to all language conventions).
****************************************************************
Questions? Ask the ACAA Technical Agent