58 lines
971 B
Fortran
58 lines
971 B
Fortran
! { dg-do compile }
|
|
! { dg-options "-fall-intrinsics -std=f95" }
|
|
program save_2
|
|
implicit none
|
|
integer i
|
|
integer foo1, foo2, foo3, foo4
|
|
do i=1,10
|
|
if (foo1().ne.i) then
|
|
call abort
|
|
end if
|
|
if (foo2().ne.i) then
|
|
call abort
|
|
end if
|
|
if (foo3().ne.i) then
|
|
call abort
|
|
end if
|
|
if (foo4().ne.i) then
|
|
call abort
|
|
end if
|
|
end do
|
|
end program save_2
|
|
|
|
integer function foo1 ()
|
|
integer j
|
|
save
|
|
save ! { dg-error "Blanket SAVE" }
|
|
data j /0/
|
|
j = j + 1
|
|
foo1 = j
|
|
end function foo1
|
|
|
|
integer function foo2 ()
|
|
integer j
|
|
save j
|
|
save j ! { dg-error "Duplicate SAVE" }
|
|
data j /0/
|
|
j = j + 1
|
|
foo2 = j
|
|
end function foo2
|
|
|
|
integer function foo3 ()
|
|
integer j
|
|
save
|
|
save j ! { dg-error "SAVE statement" }
|
|
data j /0/
|
|
j = j + 1
|
|
foo3 = j
|
|
end function foo3
|
|
|
|
integer function foo4 ()
|
|
integer j ! { dg-error "Duplicate SAVE" }
|
|
save j
|
|
save
|
|
data j /0/
|
|
j = j + 1
|
|
foo4 = j
|
|
end function foo4
|