1! { dg-do compile }
2! { dg-options "-O3" }
3!
4! PR fortran/53175
5!
6
7MODULE ENERGY_FUNCTION
8   IMPLICIT NONE
9
10   TYPE PARAM
11      PRIVATE
12         INTEGER :: WHICH_VECTOR
13   END TYPE PARAM
14
15   INTEGER, PRIVATE :: DIM2
16   INTEGER, PRIVATE :: DIM5
17
18   private :: specific
19   interface gen
20     module procedure  specific
21   end interface gen
22
23   CONTAINS
24
25      FUNCTION ENERGY_FUNCTION_CURRENT_ARGS()
26         INTEGER, DIMENSION(DIM2) :: ENERGY_FUNCTION_CURRENT_ARGS
27      END FUNCTION ENERGY_FUNCTION_CURRENT_ARGS
28
29      FUNCTION ENERGY_FUNCTION_GET_PARAMS()
30         TYPE(PARAM), DIMENSION(DIM2) :: ENERGY_FUNCTION_GET_PARAMS
31      END FUNCTION ENERGY_FUNCTION_GET_PARAMS
32
33      function specific()
34        character(len=dim5) :: specific
35      end function specific
36END MODULE ENERGY_FUNCTION
37
38! { dg-final { scan-assembler "__energy_function_MOD_dim2" } }
39! { dg-final { scan-assembler "__energy_function_MOD_dim5" } }
40
41