summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/class_result_6.f90
blob: 9daabb0a0d6b479926b8118ad1936055afeb0abd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
! { dg-do run }
!
! Test the fix for PR79072 comment #12. A description of the problem
! is to be found in class_result_5.f90.
!
! Contributed by Neil Carlson  <neil.n.carlson@gmail.com>
!
  character(3), target :: a = 'foo'
  class(*), pointer :: b
  b => ptr()
  select type (b)
    type is (character(*))
      if (a .ne. "bar") STOP 1
  end select
contains
  function ptr()
    class(*), pointer :: ptr
    ptr => a
    select type (ptr)
      type is (character(*))
        ptr = "bar"
    end select
  end function
end