! { dg-do run } ! ! Test the fix for PR85742 in which the descriptors, passed to alsize, ! for 'a' and 'b' had the wrong element length. ! ! Contributed by Cesar Philippidis ! program main implicit none integer, allocatable :: a real, pointer :: b integer, allocatable :: am(:,:) real, pointer :: bm(:,:) allocate (a) allocate (b) allocate (am(3,3)) allocate (bm(4,4)) if (sizeof (a) /= alsize (a)) stop 1 if (sizeof (b) /= alsize (b)) stop 2 if (sizeof (am) /= alsize (am)) stop 3 if (sizeof (bm) /= alsize (bm)) stop 4 deallocate (b) deallocate (bm) contains function alsize (a) integer alsize type (*), dimension (..), contiguous :: a alsize = sizeof(a) end function end program main