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

Subversion Repositories openrisc

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc2/] [gcc/] [testsuite/] [gfortran.dg/] [nonreturning_statements.f90] - Diff between revs 302 and 384

Only display areas with differences | Details | Blame | View Log

Rev 302 Rev 384
! { dg-final { scan-assembler-not "should_be_noreturn" } }
! { dg-final { scan-assembler-not "should_be_noreturn" } }
! PR 17758
! PR 17758
! This checks that non-returning subroutines and statements
! This checks that non-returning subroutines and statements
! really don't return by calling non-existing subroutines
! really don't return by calling non-existing subroutines
! afterwards.  These calls are supposed to be optimized away, so
! afterwards.  These calls are supposed to be optimized away, so
! they won't show up in the generated assembly.
! they won't show up in the generated assembly.
program main
program main
  character(len=5) :: c
  character(len=5) :: c
  c = '12345'
  c = '12345'
  read(unit=c,fmt='(A)') i
  read(unit=c,fmt='(A)') i
  select case(i)
  select case(i)
     case(1)
     case(1)
        call abort
        call abort
        call abort_should_be_noreturn
        call abort_should_be_noreturn
     case(2)
     case(2)
        stop 65
        stop 65
        call stop_numeric_should_be_noreturn
        call stop_numeric_should_be_noreturn
     case(3)
     case(3)
        stop "foobar"
        stop "foobar"
        call stop_string_should_be_noreturn
        call stop_string_should_be_noreturn
     case(4)
     case(4)
        call exit
        call exit
        call exit_should_be_noreturn
        call exit_should_be_noreturn
     end select
     end select
end program main
end program main
 
 

powered by: WebSVN 2.1.0

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