URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Go to most recent revision |
Only display areas with differences |
Details |
Blame |
View Log
Rev 154 |
Rev 816 |
! { dg-do run }
|
! { dg-do run }
|
!
|
!
|
! This tests the improved version of the patch for PR16861. Testing
|
! This tests the improved version of the patch for PR16861. Testing
|
! after committing the first version, revealed that this test did
|
! after committing the first version, revealed that this test did
|
! not work but was not regtested for, either.
|
! not work but was not regtested for, either.
|
!
|
!
|
! Contributed by Paul Thomas
|
! Contributed by Paul Thomas
|
!
|
!
|
MODULE foo
|
MODULE foo
|
TYPE type1
|
TYPE type1
|
INTEGER i1
|
INTEGER i1
|
END TYPE type1
|
END TYPE type1
|
END MODULE
|
END MODULE
|
|
|
MODULE bar
|
MODULE bar
|
CONTAINS
|
CONTAINS
|
SUBROUTINE sub1 (x, y)
|
SUBROUTINE sub1 (x, y)
|
USE foo
|
USE foo
|
TYPE (type1) :: x
|
TYPE (type1) :: x
|
INTEGER :: y(x%i1)
|
INTEGER :: y(x%i1)
|
y = 1
|
y = 1
|
END SUBROUTINE SUB1
|
END SUBROUTINE SUB1
|
SUBROUTINE sub2 (u, v)
|
SUBROUTINE sub2 (u, v)
|
USE foo
|
USE foo
|
TYPE (type1) :: u
|
TYPE (type1) :: u
|
INTEGER :: v(u%i1)
|
INTEGER :: v(u%i1)
|
v = 2
|
v = 2
|
END SUBROUTINE SUB2
|
END SUBROUTINE SUB2
|
END MODULE
|
END MODULE
|
|
|
MODULE foobar
|
MODULE foobar
|
USE foo
|
USE foo
|
USE bar
|
USE bar
|
CONTAINS
|
CONTAINS
|
SUBROUTINE sub3 (s, t)
|
SUBROUTINE sub3 (s, t)
|
USE foo
|
USE foo
|
TYPE (type1) :: s
|
TYPE (type1) :: s
|
INTEGER :: t(s%i1)
|
INTEGER :: t(s%i1)
|
t = 3
|
t = 3
|
END SUBROUTINE SUB3
|
END SUBROUTINE SUB3
|
END MODULE foobar
|
END MODULE foobar
|
|
|
PROGRAM use_foobar
|
PROGRAM use_foobar
|
USE foo
|
USE foo
|
USE foobar
|
USE foobar
|
INTEGER :: j(3) = 0
|
INTEGER :: j(3) = 0
|
TYPE (type1) :: z
|
TYPE (type1) :: z
|
z%i1 = 3
|
z%i1 = 3
|
CALL sub1 (z, j)
|
CALL sub1 (z, j)
|
z%i1 = 2
|
z%i1 = 2
|
CALL sub2 (z, j)
|
CALL sub2 (z, j)
|
z%i1 = 1
|
z%i1 = 1
|
CALL sub3 (z, j)
|
CALL sub3 (z, j)
|
IF (ALL (j.ne.(/3,2,1/))) CALL abort ()
|
IF (ALL (j.ne.(/3,2,1/))) CALL abort ()
|
END PROGRAM use_foobar
|
END PROGRAM use_foobar
|
|
|
! { dg-final { cleanup-modules "foo bar foobar" } }
|
! { dg-final { cleanup-modules "foo bar foobar" } }
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.