Recursive derived type specifications - PR21458 - a standard question.

Paul Thomas paulthomas2@wanadoo.fr
Sat Oct 1 15:49:00 GMT 2005


Steve,

>You can get a second opinion from www.lahey.com.  IIRC, the last
>listed item is an on-line conformance checker.  I'll run the
>code through NAG in a few hours.
>
I had forgotten about the Lahey checker.  Here is the result:

Source file       : SOURCE.F90

 Module "snafu"
  (line-no.)(nest)
          1        module snafu
          2          type       ::   a
          3            type(b), pointer    :: i
          4          end type a
          5          type       ::   b
          6            type(c)    :: i
          7          end type b
          8          type       ::   c
          9            type(a)    :: i
         10          end type c
         11          type (c), pointer   :: foo
         12        end module snafu

 Diagnostic messages: program name(snafu)
   1600-S: "SOURCE.F90", line 5: No component defined in derived type 
definition for 'b'.
   1498-S: "SOURCE.F90", line 6, column 10: 'c' invalid as derived type 
name.

... aginst ifort's

[root@localhost mytests]# ifc -c snafu.f90
   module SNAFU

    type(c)    :: i
         ^
Error 123 at (6:snafu.f90) : This derived type has not been defined

Hmmmmm....

Regards

Paul T





More information about the Fortran mailing list