45 lines
707 B
Fortran
45 lines
707 B
Fortran
|
! Check for valid VOLATILE uses
|
||
|
!
|
||
|
! Contributed by Steven Correll.
|
||
|
!
|
||
|
! PR fortran/30520
|
||
|
|
||
|
! { dg-do compile }
|
||
|
|
||
|
function f() result(fr)
|
||
|
integer, volatile :: fr
|
||
|
fr = 5
|
||
|
end function f
|
||
|
|
||
|
module mod13
|
||
|
implicit none
|
||
|
integer :: v13
|
||
|
end module mod13
|
||
|
|
||
|
module mod13a
|
||
|
use mod13
|
||
|
implicit none
|
||
|
volatile :: v13
|
||
|
real :: v14
|
||
|
contains
|
||
|
subroutine s13()
|
||
|
volatile :: v13
|
||
|
volatile :: v14
|
||
|
end subroutine s13
|
||
|
end module mod13a
|
||
|
|
||
|
module mod13b
|
||
|
use mod13a
|
||
|
implicit none
|
||
|
volatile :: v13
|
||
|
end module mod13b
|
||
|
|
||
|
|
||
|
subroutine s14()
|
||
|
use mod13a
|
||
|
implicit none
|
||
|
volatile :: v13
|
||
|
end subroutine s14
|
||
|
|
||
|
! { dg-final { cleanup-modules "mod13 mod13a mod13b" } }
|