3 ! PR 45961: [4.6 Regression] [OOP] Problem with polymorphic type-bound operators
5 ! Contributed by Mark Rashid <mmrashid@ucdavis.edu>
12 PROCEDURE :: LESS_THAN
13 GENERIC :: OPERATOR (.LT.) => LESS_THAN
18 LOGICAL FUNCTION LESS_THAN(A, B)
19 CLASS (DAT), INTENT (IN) :: A, B
20 LESS_THAN = (A%NN .LT. B%NN)
21 END FUNCTION LESS_THAN
31 CLASS (DAT), POINTER :: PT
34 GENERIC :: OPERATOR (.LT.) => LST
39 LOGICAL FUNCTION LST(A, B)
40 CLASS (NODE), INTENT (IN) :: A, B
41 IF (A%KEY .GT. 0 .AND. B%KEY .GT. 0) THEN
42 LST = (A%KEY .LT. B%KEY)
44 LST = (A%PT .LT. B%PT)
55 CLASS (DAT), POINTER :: POINTA => NULL(), POINTB => NULL()
56 CLASS (NODE), POINTER :: NDA => NULL(), NDB => NULL()
58 ALLOCATE (DAT :: POINTA)
59 ALLOCATE (DAT :: POINTB)
60 ALLOCATE (NODE :: NDA)
61 ALLOCATE (NODE :: NDB)
70 if (.NOT. NDA .LT. NDB) call abort()