AArch64: correct constraint on Upl early clobber alternatives
[official-gcc.git] / gcc / testsuite / gfortran.dg / unlimited_polymorphic_4.f03
blobd289b69199f2bde3950343d1c3cb233d9c423b33
1 ! { dg-do compile }\r
2 !\r
3 ! Fix PR55763\r
4 ! Contributed by Tobias Burnus  <burnus@gcc.gnu.org>\r
5 !\r
6 module mpi_f08_f\r
7   implicit none\r
8   abstract interface\r
9     subroutine user_function( inoutvec )\r
10       class(*), dimension(:), intent(inout) :: inoutvec\r
11     end subroutine user_function\r
12   end interface\r
13 end module\r
15 module mod_test1\r
16   use mpi_f08_f\r
17   implicit none\r
18 contains\r
19   subroutine my_function( invec )   ! { dg-error "no IMPLICIT type" }\r
20     class(*), dimension(:), intent(inout) :: inoutvec    ! { dg-error "not a DUMMY" }\r
22     select type (inoutvec)\r
23     type is (integer)\r
24          inoutvec = 2*inoutvec\r
25     end select\r
26   end subroutine my_function\r
27 end module\r
29 module mod_test2\r
30   use mpi_f08_f\r
31   implicit none\r
32 contains\r
33   subroutine my_function( inoutvec )  ! Used to produce a BOGUS ERROR\r
34     class(*), dimension(:), intent(inout) :: inoutvec\r
36     select type (inoutvec)\r
37     type is (integer)\r
38          inoutvec = 2*inoutvec\r
39     end select\r
40   end subroutine my_function\r
41 end module\r