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

janus at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-on-invalid-code
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2013-08-18
                 CC|                            |janus at gcc dot gnu.org
            Summary|ICE when selector in SELECT |[4.8/4.9 Regression] [OOP]
                   |TYPE is non-polymorphic     |ICE when selector in SELECT
                   |                            |TYPE is non-polymorphic
     Ever confirmed|0                           |1

--- Comment #1 from janus at gcc dot gnu.org ---
Confirmed. Minimal test case:

  integer :: array
  select type (a => array)
  end select
end



With 4.7 this gives the correct error:

  select type (a => array)
                          1
Error: Selector shall be polymorphic in SELECT TYPE statement at (1)


while 4.8 and trunk show an ICE with the following backtrace:

f951: internal compiler error: Segmentation fault
0x8bb59f crash_signal
        /home/janus/gcc49/trunk/gcc/toplev.c:335
0x51c28c get_unique_type_string
        /home/janus/gcc49/trunk/gcc/fortran/class.c:466
0x51d566 get_unique_hashed_string
        /home/janus/gcc49/trunk/gcc/fortran/class.c:489
0x520ae6 gfc_build_class_symbol(gfc_typespec*, symbol_attribute*,
gfc_array_spec**, bool)
        /home/janus/gcc49/trunk/gcc/fortran/class.c:583
0x567f7e copy_ts_from_selector_to_associate
        /home/janus/gcc49/trunk/gcc/fortran/match.c:5171
0x567f7e gfc_match_select_type()
        /home/janus/gcc49/trunk/gcc/fortran/match.c:5342

Reply via email to