!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 98-03-27 !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). ****************************************************************