URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 816 |
Rev 826 |
! Check that character valued statement functions honour length parameters
|
! Check that character valued statement functions honour length parameters
|
program st_function_1
|
program st_function_1
|
character(8) :: foo
|
character(8) :: foo
|
character(15) :: bar
|
character(15) :: bar
|
character(6) :: p
|
character(6) :: p
|
character (7) :: s
|
character (7) :: s
|
foo(p) = p // "World"
|
foo(p) = p // "World"
|
bar(p) = p // "World"
|
bar(p) = p // "World"
|
|
|
! Expression longer than function, actual arg shorter than dummy.
|
! Expression longer than function, actual arg shorter than dummy.
|
call check (foo("Hello"), "Hello Wo") ! { dg-warning "Character length of actual argument shorter" }
|
call check (foo("Hello"), "Hello Wo") ! { dg-warning "Character length of actual argument shorter" }
|
|
|
! Expression shorter than function, actual arg longer than dummy.
|
! Expression shorter than function, actual arg longer than dummy.
|
! Result shorter than type
|
! Result shorter than type
|
s = "Hello"
|
s = "Hello"
|
call check (bar(s), "Hello World ")
|
call check (bar(s), "Hello World ")
|
contains
|
contains
|
subroutine check(a, b)
|
subroutine check(a, b)
|
character (len=*) :: a, b
|
character (len=*) :: a, b
|
|
|
if ((a .ne. b) .or. (len(a) .ne. len(b))) call abort ()
|
if ((a .ne. b) .or. (len(a) .ne. len(b))) call abort ()
|
end subroutine
|
end subroutine
|
end program
|
end program
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.