diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gfortran.dg/proc_ptr_comp_34.f90')
-rw-r--r-- | gcc-4.9/gcc/testsuite/gfortran.dg/proc_ptr_comp_34.f90 | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gfortran.dg/proc_ptr_comp_34.f90 b/gcc-4.9/gcc/testsuite/gfortran.dg/proc_ptr_comp_34.f90 new file mode 100644 index 000000000..031f74418 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/gfortran.dg/proc_ptr_comp_34.f90 @@ -0,0 +1,30 @@ +! { dg-do run } +! +! PR 51082: [F03] Wrong result for a pointer to a proc-pointer component +! +! Contributed by Tobias Burnus <burnus@gcc.gnu.org> + +program ala + implicit none + + type process_list + procedure(ala1), pointer, nopass :: process + end type + + type(process_list), target :: p_list + type(process_list), pointer :: p + + p_list%process => ala1 + p => p_list + + write(*,*) p_list%process(1.0) + write(*,*) p%process(1.0) !!!! failed + +contains + + real function ala1(x) + real, intent(in) :: x + ala1 = x + end function + +end program |