URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Subversion Repositories openrisc_me
[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [testsuite/] [gfortran.dg/] [string_length_1.f90] - Rev 302
Compare with Previous | Blame | View Log
! { dg-do run }! Testcase for PR 31203! We used to create strings with negative lengthsubroutine foo(i)integer :: icharacter(len=i) :: s(2)if (len(s) < 0) call abortif (len(s) /= max(i,0)) call abortendfunction gee(i)integer, intent(in) :: icharacter(len=i) :: geegee = ""end function geesubroutine s1(i,j)character(len=i-j) :: aif (len(a) < 0) call abort()end subroutineprogram testinterfacefunction gee(i)integer, intent(in) :: icharacter(len=i) :: geeend function geeend interfacecall foo(2)call foo(-1)call s1(1,2)call s1(-1,-8)call s1(-8,-1)if (len(gee(2)) /= 2) call abortif (len(gee(-5)) /= 0) call abortif (len(gee(intfunc(3))) /= max(intfunc(3),0)) call abortif (len(gee(intfunc(2))) /= max(intfunc(2),0)) call abortif (len(bar(2)) /= 2) call abortif (len(bar(-5)) /= 0) call abortif (len(bar(intfunc(3))) /= max(intfunc(3),0)) call abortif (len(bar(intfunc(2))) /= max(intfunc(2),0)) call abortif (cow(bar(2)) /= 2) call abortif (cow(bar(-5)) /= 0) call abortif (cow(bar(intfunc(3))) /= max(intfunc(3),0)) call abortif (cow(bar(intfunc(2))) /= max(intfunc(2),0)) call abortcontainsfunction bar(i)integer, intent(in) :: icharacter(len=i) :: barbar = ""end function barfunction cow(c)character(len=*), intent(in) :: cinteger :: cowcow = len(c)end function cowpure function intfunc(i)integer, intent(in) :: iinteger :: intfuncintfunc = 2*i-5end function intfuncend program test
