This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/47352] New: ICE with proc-pointers in generic procedures


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47352

           Summary: ICE with proc-pointers in generic procedures
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: burnus@gcc.gnu.org
                CC: janus@gcc.gnu.org


Found at
http://groups.google.com/group/comp.lang.fortran/browse_thread/thread/bbaf59ffd7c372e9#
 (There is another issue in that thread)

The following program causes an ICE with gfortran in:

==779== Invalid read of size 1
==779==    at 0x58B717: gfc_conv_expr_reference (trans-expr.c:4839)
==779==    by 0x5A400B: gfc_trans_transfer (trans-io.c:2328)
==779==    by 0x565607: trans_code (trans.c:1371)


Reduced (and w/o comments) full test case:

module mytypes
   implicit none
   abstract interface
      function f(x)
         real f, x
      end function f
!      function g(x)
!         integer g, x
!      end function g
   end interface
   procedure(f),pointer,save :: f1
!   procedure(g),pointer,save :: g1
   interface gen
      procedure f1!,g1
   end interface gen
end module mytypes

!module funcs
!   implicit none
!   contains
!      function f(x)
!         real f, x
!         f = 3*x
!      end function f
!      function g(x)
!         integer g, x
!         g = 3*x
!      end function g
!end module funcs

program test
   use mytypes
!   use funcs, f2=>f, g2=>g
   implicit none

!   f1 => f2
!   g1 => g2
!   write(*,*) gen(1)
   write(*,*) gen(1.0)
end program test


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]