35 lines
983 B
Fortran
35 lines
983 B
Fortran
! { dg-do compile }
|
|
! { dg-options "-w" }
|
|
|
|
program c_by_val_2
|
|
external bar
|
|
real (4) :: bar, ar(2) = (/1.0,2.0/)
|
|
type :: mytype
|
|
integer :: i
|
|
end type mytype
|
|
type(mytype) :: z
|
|
character(8) :: c = "blooey"
|
|
real :: stmfun, x
|
|
stmfun(x)=x**2
|
|
|
|
x = 5
|
|
print *, stmfun(%VAL(x)) ! { dg-error "not allowed in this context" }
|
|
print *, sin (%VAL(2.0)) ! { dg-error "not allowed in this context" }
|
|
print *, foo (%VAL(1.0)) ! { dg-error "not allowed in this context" }
|
|
call foobar (%VAL(0.5)) ! { dg-error "not allowed in this context" }
|
|
print *, bar (%VAL(z)) ! { dg-error "not of numeric type" }
|
|
print *, bar (%VAL(c)) ! { dg-error "not of numeric type" }
|
|
print *, bar (%VAL(ar)) ! { dg-error "cannot be an array" }
|
|
print *, bar (%VAL(0.0))
|
|
contains
|
|
function foo (a)
|
|
real(4) :: a, foo
|
|
foo = cos (a)
|
|
end function foo
|
|
subroutine foobar (a)
|
|
real(4) :: a
|
|
print *, a
|
|
end subroutine foobar
|
|
end program c_by_val_2
|
|
|