This is the mail archive of the gcc-patches@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]

[Patch, Fortran, 4.7 Regression] PR 59941: ICE with polymorphic types


Hi all,

the attached patch fixes an OOP-related 4.7-only regression. Pretty
much straightforward, for details see PR.

Regtested on x86_64-unknown-linux-gnu. Ok for 4.7?

Cheers,
Janus



2014-02-02  Janus Weil  <janus@gcc.gnu.org>

    PR fortran/59941
    * expr.c (replace_comp): Check for isym to avoid ICE.

2014-02-02  Janus Weil  <janus@gcc.gnu.org>

    PR fortran/59941
    * gfortran.dg/typebound_proc_26.f90: New.

Attachment: pr59941.diff
Description: Text document

! { dg-do compile }
!
! PR 59941: [4.7 Regression] [OOP] ICE with polymorphic types
!
! Contributed by JÃrgen Reuter <juergen.reuter@desy.de>

module tao_random_numbers
  integer, dimension(10), private :: s_buffer
  integer, private :: s_buffer_end = size (s_buffer)
end module


module beam_structures

  private

  type :: beam_structure_t
     integer, dimension(:), allocatable :: smatrix
   contains
     procedure :: get_smatrix
  end type
  
contains

  function get_smatrix (beam_structure) result (matrix)
    class(beam_structure_t), intent(in) :: beam_structure
    integer, dimension (size (beam_structure%smatrix)) :: matrix
  end function
  
end module


program p
  use tao_random_numbers
  use beam_structures
end

! { dg-final { cleanup-modules "tao_random_numbers beam_structures" } }

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