URL
https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk
Subversion Repositories openrisc_2011-10-31
[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [testsuite/] [gfortran.dg/] [volatile5.f90] - Rev 302
Compare with Previous | Blame | View Log
! { dg-do compile }
! { dg-options "-O3 -fdump-tree-optimized" }
! Tests whether volatile really works with modules
! PR fortran/29601
module volmod
implicit none
integer, volatile :: a
logical :: b,c
volatile :: b
contains
subroutine sample
a = 33.
if(a /= 432) print *,'aPresent'
b = .false.
if(b) print *,'bPresent'
c = .false.
if(c) print *,'cPresent'
end subroutine sample
end module volmod
program main
use volmod
implicit none
a = 432
if(a /= 432) print *,'aStillPresent'
b = .false.
if(b) print *,'bStillPresent'
c = .false.
if(c) print *,'cStillPresent'
end program main
! { dg-final { scan-tree-dump "aPresent" "optimized" } }
! { dg-final { scan-tree-dump "bPresent" "optimized" } }
! { dg-final { scan-tree-dump "aStillPresent" "optimized" } }
! { dg-final { scan-tree-dump "bStillPresent" "optimized" } }
! { dg-final { scan-tree-dump-not "cPresent" "optimized" } }
! { dg-final { scan-tree-dump-not "cStillPresent" "optimized" } }
! { dg-final { cleanup-tree-dump "optimized" } }
! { dg-final { cleanup-modules "volmod" } }