1! { dg-do compile }
2! { dg-options "-O -fipa-pta" }
3
4MODULE dbcsr_dist_operations
5  TYPE dbcsr_mp_obj
6  END TYPE dbcsr_mp_obj
7  INTERFACE
8    SUBROUTINE dbcsr_mp_new(mp_env, pgrid, mp_group, mynode, numnodes, myprow,&
9         mypcol)
10      IMPORT
11      TYPE(dbcsr_mp_obj), INTENT(OUT)          :: mp_env
12      INTEGER, DIMENSION(0:, 0:), INTENT(IN)   :: pgrid
13    END SUBROUTINE dbcsr_mp_new
14  END INTERFACE
15CONTAINS
16  SUBROUTINE dbcsr_mp_make_env (mp_env, mp_group, &
17       nprocs, pgrid_dims, error)
18    TYPE(dbcsr_mp_obj), INTENT(OUT)          :: mp_env
19      OPTIONAL                               :: pgrid_dims
20    INTEGER                                  :: error_handle, group, mynode, &
21                                                numnodes, pcol, prow
22    INTEGER, ALLOCATABLE, DIMENSION(:, :)    :: pgrid
23    INTEGER, DIMENSION(2)                    :: coord, myploc, npdims
24    CALL dbcsr_mp_new (mp_env, pgrid, group, mynode, numnodes,&
25         myprow=myploc(1), mypcol=myploc(2))
26  END SUBROUTINE dbcsr_mp_make_env
27END MODULE dbcsr_dist_operations
28