view gcc/testsuite/gfortran.dg/boz_4.f90 @ 118:fd00160c1b76

ifdef TARGET_64BIT
author mir3636
date Tue, 27 Feb 2018 15:01:35 +0900
parents 04ced10e8804
children 1830386684a0
line wrap: on
line source

! { dg-do compile }
! Test that the conversion of a BOZ constant that is too large for the
! integer variable is caught by the compiler.
program boz

   implicit none

   integer(1), parameter :: &
   &  b1 = b'0101010110101010'  ! { dg-error "overflow converting" }
   integer(2), parameter :: &
   &  b2 = b'01110000111100001111000011110000'  ! { dg-error "overflow converting" }
   integer(4), parameter :: &
   &  b4 = b'0111000011110000111100001111000011110000111100001111000011110000'  ! { dg-error "overflow converting" }

   integer(1), parameter :: &
   &  o1 = o'1234567076543210'  ! { dg-error "overflow converting" }
   integer(2), parameter :: &
   &  o2 = o'1234567076543210'  ! { dg-error "overflow converting" }
   integer(4), parameter :: &
   &  o4 = o'1234567076543210'  ! { dg-error "overflow converting" }

   integer(1), parameter :: &
   &  z1 = z'deadbeef'  ! { dg-error "overflow converting" }
   integer(2), parameter :: &
   &  z2 = z'deadbeef'  ! { dg-error "overflow converting" }
   integer(4), parameter :: &
   &  z4 = z'deadbeeffeed'  ! { dg-error "overflow converting" }

end program boz