1! { dg-do compile }
2! Tests the fix for 20871, in which elemental non-intrinsic procedures were
3! permitted to be dummy arguments.
4!
5! Contributed by Joost VandeVondele  <jv244@cam.ac.uk>
6!
7MODULE TT
8CONTAINS
9   ELEMENTAL INTEGER FUNCTION two(N)
10     INTEGER, INTENT(IN) :: N
11     two=2**N
12   END FUNCTION
13END MODULE
14USE TT
15 INTEGER, EXTERNAL  :: SUB
16 write(6,*) SUB(two)    ! { dg-error "not allowed as an actual argument " }
17END
18INTEGER FUNCTION SUB(XX)
19  INTEGER :: XX
20  SUB=XX()
21END
22