From: Arjen M. <Arj...@de...> - 2016-05-09 18:50:15
|
Hi Wadud, > -----Original Message----- > From: Alan W. Irwin [mailto:ir...@be...] > > Hi Wadud: > > Thanks very much for your build test of PLplot using the NAG Fortran compiler. > > ... > > To investigate further why the above logic unexpectedly cannot be compiled with > the NAG compiler, I strongly suggest you make a small one-file example containing > a simplified plplot_types module that just defines private_plflt, and plcGrid exactly > like we do, and which also contains another module that includes the above > subroutine transform. > Then if that vastly simplified example also fails to compile you have that example to > take to the NAG developers concerning a possible bug in their compiler. Or they > may respond to your report by saying something like this: "to get that Fortran > standards compliant code to compile with the NAG compiler, you need xxx flag". > I prepared a small example (see below) that is generously accepted by the two compilers I have access to. I think it exhibits the characteristics of the code that is not accepted by the NAG compiler. The only difference that may be important is the fact that it does not contain the ISO_C_BINDING features. If this small example is accepted, then I would say it is indeed a problem in the NAG compiler. The alternative is that the example is not accepted and that the NAG compiler doesn't like the import through the nesting of interfaces. I would not think that the example is non-standard, but there can be subtleties that I am overlooking here. That is why it is important to see what the NAG compiler comes up with. Regards, Arjen ! nested_interface.f90 -- ! Attempt to reproduce a problem discovered by Wadud Miah ! module my_types implicit none type xyz integer :: x, y, z end type xyz end module my_types module my_interfaces use my_types implicit none interface subroutine use_transform( transform ) interface subroutine transform( data, result ) import :: xyz type(xyz) :: data real :: result end subroutine transform end interface end subroutine use_transform end interface end module my_interfaces DISCLAIMER: This message is intended exclusively for the addressee(s) and may contain confidential and privileged information. If you are not the intended recipient please notify the sender immediately and destroy this message. Unauthorized use, disclosure or copying of this message is strictly prohibited. The foundation 'Stichting Deltares', which has its seat at Delft, The Netherlands, Commercial Registration Number 41146461, is not liable in any way whatsoever for consequences and/or damages resulting from the improper, incomplete and untimely dispatch, receipt and/or content of this e-mail. |