2014-04-15 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / gfortran.dg / value_3.f90
blobc5d2d1f27df6944d579b92e7d645a43f8f21e20b
1 ! { dg-do compile }
2 ! Tests the constraints in the patch for PR29642, which requested the
3 ! implementation of the F2003 VALUE attribute for gfortran.
5 ! Contributed by Paul Thomas <pault@gcc.gnu.org>
7 program test_value
8 integer(8) :: i = 42, j ! { dg-error "not a dummy" }
9 integer(8), value :: k ! { dg-error "not a dummy" }
10 value :: j
12 contains
13 subroutine bar_1 (i)
14 integer(8) :: i
15 dimension i(8)
16 value :: i ! { dg-error "conflicts with DIMENSION" }
17 i = 0
18 end subroutine bar_1
20 subroutine bar_2 (i)
21 integer(8) :: i
22 pointer :: i
23 value :: i ! { dg-error "conflicts with POINTER" }
24 i = 0
25 end subroutine bar_2
27 integer function bar_3 (i)
28 integer(8) :: i
29 dimension i(8)
30 value :: bar_3 ! { dg-error "conflicts with FUNCTION" }
31 i = 0
32 bar_3 = 0
33 end function bar_3
35 subroutine bar_4 (i, j)
36 integer(8), intent(inout) :: i
37 integer(8), intent(out) :: j
38 value :: i ! { dg-error "conflicts with INTENT" }
39 value :: j ! { dg-error "conflicts with INTENT" }
40 i = 0
41 j = 0
42 end subroutine bar_4
44 integer function bar_5 ()
45 integer(8) :: i
46 external :: i
47 integer, parameter :: j = 99
48 value :: i ! { dg-error "conflicts with EXTERNAL" }
49 value :: j ! { dg-error "PARAMETER attribute conflicts with" }
50 bar_5 = 0
51 end function bar_5
53 end program test_value