OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.2.2/] [gcc/] [testsuite/] [gfortran.dg/] [negative_automatic_size.f90] - Diff between revs 149 and 154

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 149 Rev 154
! { dg-do run }
! { dg-do run }
! { dg-options "-O2" }
! { dg-options "-O2" }
! Tests the fix PR29451, in which the negative size of the
! Tests the fix PR29451, in which the negative size of the
! automatic array 'jello' was not detected and the
! automatic array 'jello' was not detected and the
! runtime error: Attempt to allocate a negative amount of memory
! runtime error: Attempt to allocate a negative amount of memory
! resulted.
! resulted.
!
!
! Contributed by Philip Mason  
! Contributed by Philip Mason  
!
!
program fred
program fred
  call jackal (1, 0)
  call jackal (1, 0)
  call jackal (2, 1)
  call jackal (2, 1)
  call jackal (3, 0)
  call jackal (3, 0)
end
end
subroutine jackal (b, c)
subroutine jackal (b, c)
  integer :: b, c
  integer :: b, c
  integer :: jello(b:c), cake(1:2, b:c), soda(b:c, 1:2)
  integer :: jello(b:c), cake(1:2, b:c), soda(b:c, 1:2)
  if (lbound (jello, 1) <= ubound (jello, 1)) call abort ()
  if (lbound (jello, 1) <= ubound (jello, 1)) call abort ()
  if (size (jello) /= 0) call abort ()
  if (size (jello) /= 0) call abort ()
  if (.not.any(lbound (cake) <= ubound (cake))) call abort ()
  if (.not.any(lbound (cake) <= ubound (cake))) call abort ()
  if (size (cake) /= 0) call abort ()
  if (size (cake) /= 0) call abort ()
  if ((lbound (soda, 1) > ubound (soda, 1)) .and. &
  if ((lbound (soda, 1) > ubound (soda, 1)) .and. &
      (lbound (soda, 2) > ubound (soda, 2))) call abort ()
      (lbound (soda, 2) > ubound (soda, 2))) call abort ()
  if (size (soda) /= 0) call abort ()
  if (size (soda) /= 0) call abort ()
end subroutine jackal
end subroutine jackal
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.