1! { dg-do run }
2IF (T1(1.0,1.0) .NE. (1.0,1.0) ) CALL ABORT()
3IF (T1(1.0) .NE. (1.0,0.0)) CALL ABORT()
4IF (M1(1,2,3) .NE. 3) CALL ABORT()
5IF (M1(1,2,A4=4) .NE. 4) CALL ABORT()
6CONTAINS
7
8COMPLEX FUNCTION T1(X,Y)
9  REAL :: X
10  REAL, OPTIONAL :: Y
11  T1=CMPLX(X,Y)
12END FUNCTION T1
13
14INTEGER FUNCTION M1(A1,A2,A3,A4)
15  INTEGER :: A1,A2
16  INTEGER, OPTIONAL :: A3,A4
17  M1=MAX(A1,A2,A3,A4)
18END FUNCTION M1
19
20END
21