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!
7program test_elemental
8
9if (any (transfer_size((/0.,0./),(/'a','b'/)) .ne. [4 ,4])) call abort
10
11contains
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
21end program test_elemental
22