------- Comment #3 from janus at gcc dot gnu dot org 2010-04-18 11:09 ------- It turns out this problem is not specific to the OOP stuff on fortran-dev, but instead is due to an underlying problem with PROCEDURE statements (which affects procedure pointers as well as PPCs), demonstrated by this test case:
module m_string procedure(string_to_char) :: char1 ! segfault ! procedure(string_to_char),pointer :: char2 ! segfault ! type t_string ! procedure(string_to_char),pointer,nopass :: char3 ! segfault ! end type t_string contains function string_to_char (s) result(res) character, dimension(:), intent(in) :: s character(len=size(s)) :: res end function string_to_char end module m_string All of the three forms of the PROCEDURE statement shown above trigger the same ICE (which is also the same ICE as in comment #0 and #1, due to fortran-dev's usage of PPCs in the implementation of polymorphic TBPs). The above test case segfaults with 4.3, works with 4.4, and then fails again with 4.5, 4.6 and fortran-dev. Therefore this PR is rather a 4.5 regression than a fortran-dev regressions. -- janus at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Keywords| |ice-on-valid-code Last reconfirmed|0000-00-00 00:00:00 |2010-04-18 11:09:35 date| | Summary|[fortran-dev Regression] |[4.5 Regression] ICE: |ICE: segmentation fault in |segmentation fault in |mio_expr |mio_expr http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43227