module Allocation
   
   implicit none

   interface alloc
      module procedure allocI_
   end interface

contains

   subroutine allocI_(var, name, dims, file, line)
      integer, allocatable :: var(..)
      integer, intent(in)  :: dims(..)
      character(len = *), intent(in) :: name
      character(len = *), intent(in), optional :: file
      integer, intent(in), optional :: line
      integer :: dim_

! if I remove sizeof(), no ICE
         call allocOKMsg_(name, loc(var), sizeof(var))

   end subroutine allocI_

end module Allocation
