1! { dg-do compile }
2!
3! PR 45933: [4.6 regression] [OOP] ICE in gfc_add_component_ref, at fortran/class.c:77
4!
5! Contributed by Mark Rashid <mmrashid@ucdavis.edu>
6
7MODULE DEF1
8  TYPE :: DAT
9    INTEGER :: NN
10  CONTAINS
11    PROCEDURE :: LESS_THAN
12    GENERIC :: OPERATOR (.LT.) => LESS_THAN
13  END TYPE
14CONTAINS
15  LOGICAL FUNCTION LESS_THAN(A, B)
16    CLASS (DAT), INTENT (IN) :: A, B
17    LESS_THAN = (A%NN .LT. B%NN)
18  END FUNCTION
19END MODULE
20
21PROGRAM P
22  USE DEF1
23  TYPE NODE
24    TYPE (DAT), POINTER :: PT
25  END TYPE
26  CLASS (NODE),POINTER :: A, B
27  PRINT *, A%PT .LT. B%PT
28END
29