https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97272
--- Comment #6 from anlauf at gcc dot gnu.org --- (In reply to Bill Long from comment #5) > The original intent of adding the KIND argument was because some > implementations used a 32-bit integer for the result, and it is possible for > the answer to be larger than 2**31-1. Just checking to be sure that the > underlying library code returns a 64-bit integer that can later be converted > based on the KIND value. Did you try? It's not exactly fast, but program test implicit none integer(8) :: k, l = 10 + 2_8**32 character, allocatable :: a(:) allocate (a(l)) print *, l a(:) = 'a' l = l - 1 a(l) = 'b' print *, l print *, size (a, kind=8) k = maxloc (a, dim=1, kind=8, back=.true.) print *, 'k = ', k, 'a(k) = ', a(k) end works for me on master now on a 64-bit platform: 4294967306 4294967305 4294967306 k = 4294967305 a(k) = b