| ! { dg-do compile } |
| ! |
| ! PR fortran/36153 |
| ! Contributed by Jonathan Hogg |
| ! |
| program test_64 |
| implicit none |
| |
| integer, parameter :: long = selected_int_kind(18) |
| integer, parameter :: short = kind(0) |
| |
| integer(long), parameter :: big_sz = huge(0_short)+1000_long |
| integer(long), parameter :: max_32 = huge(0_short) |
| integer, dimension(:), allocatable :: array |
| |
| integer(long) :: i |
| |
| print *, "2**31 = ", 2_long**31 |
| print *, "max_32 = ", max_32 |
| print *, "big_sz = ", big_sz |
| |
| ! Disabled as it overflows on 32bit systems (at compile time) |
| ! (conversion of integer(8) to integer(4)) |
| ! allocate(array(big_sz)) |
| print *, "sz = ", size(array) |
| print *, "sz = ", size(array, kind=long) |
| end program |