OSDN Git Service

2010-04-24 Kai Tietz <kai.tietz@onevision.com>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gfortran.dg / transfer_resolve_1.f90
1 ! { dg-do run }
2 ! PR40847 - an error in gfc_resolve_transfer caused the character length
3 ! of 'mold' to be set incorrectly.
4 !
5 ! Contributed by Joost VandeVondele <jv244@cam.ac.uk>
6 !
7 program test_elemental
8
9 if (any (transfer_size((/0.,0./),(/'a','b'/)) .ne. [4 ,4])) call abort
10
11 contains
12
13    elemental function transfer_size (source, mold)
14      real, intent(in)         :: source
15      character(*), intent(in) :: mold
16      integer                  :: transfer_size
17      transfer_size = SIZE(TRANSFER(source, (/mold/)))
18      return
19    end function transfer_size
20
21 end program test_elemental