ICE due to an elemental function returning a derived type

Mark Hesselink mhesseli@alumni.caltech.edu
Sun Aug 6 17:31:00 GMT 2006


Dear all,

I discovered a few problems with the code in my previous email. Please 
find an updated version attached.

Kind regards,

Mark

---

MODULE types
    TYPE, PUBLIC   :: ieee_class_type
       INTEGER     :: ieee_particular_features
    END TYPE
END MODULE types

MODULE foo
    USE types
    PUBLIC                                    :: ieee_class_type
    TYPE(ieee_class_type), PARAMETER, PUBLIC  :: &
       IEEE_SIGNALING_NAN=ieee_class_type(0)
CONTAINS
    ELEMENTAL FUNCTION bar (x) RESULT(class)
       USE types
       REAL, INTENT(IN)        :: x
       TYPE(ieee_class_type)   :: class
       class=IEEE_SIGNALING_NAN
    END FUNCTION bar
END MODULE

LOGICAL ELEMENTAL FUNCTION foobar (x)
    USE foo
    REAL, INTENT(IN)        :: x
    TYPE(ieee_class_type)   :: class

    foobar=.FALSE.
    class=bar (x)

END FUNCTION foobar



More information about the Fortran mailing list