public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/58185] New: ICE when selector in SELECT TYPE is non-polymorphic
@ 2013-08-18  2:40 jwmwalrus at gmail dot com
  2013-08-18 10:01 ` [Bug fortran/58185] [4.8/4.9 Regression] [OOP] " janus at gcc dot gnu.org
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: jwmwalrus at gmail dot com @ 2013-08-18  2:40 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 58185
           Summary: ICE when selector in SELECT TYPE is non-polymorphic
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jwmwalrus at gmail dot com

With gfortran 4.8/4.9, I get an ICE for the following (invalid) code:

module mod1
    implicit none
    save

contains
    subroutine dosomething(array)
        !class(*), intent(IN) :: array
        integer, intent(IN) :: array
        select type (a => array)
            type is (integer)
            type is (real)
            class default
                stop
        end select
    end subroutine
end module


Bug #54435 seems similar, but is marked as fixed.

System information follows:

...:~$ ll `which gfortran-4.9` && /usr/lib/gcc-snapshot/bin/gfortran -v &&
apt-cache policy gfortran-4.8 gcc-snapshot && lsb_release -rd
lrwxrwxrwx 1 root staff 35 Aug 17 21:16 /usr/local/bin/gfortran-4.9 ->
../../lib/gcc-snapshot/bin/gfortran*
Using built-in specs.
COLLECT_GCC=/usr/lib/gcc-snapshot/bin/gfortran
COLLECT_LTO_WRAPPER=/usr/lib/gcc-snapshot/libexec/gcc/x86_64-linux-gnu/4.9.0/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 20130731-1'
--with-bugurl=file:///usr/share/doc/gcc-snapshot/README.Bugs
--enable-languages=c,ada,c++,java,go,fortran,objc,obj-c++
--prefix=/usr/lib/gcc-snapshot --enable-shared --enable-linker-build-id
--disable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug
--enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin
--with-system-zlib --disable-browser-plugin --enable-java-awt=gtk
--enable-gtk-cairo
--with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.9-snap-amd64/jre
--enable-java-home
--with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-snap-amd64
--with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-snap-amd64
--with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar
--enable-objc-gc --enable-multiarch --with-arch-32=i586 --with-abi=m64
--with-multilib-list=m32,m64,mx32 --with-tune=generic --disable-werror
--enable-checking=yes --build=x86_64-linux-gnu --host=x86_64-linux-gnu
--target=x86_64-linux-gnu
Thread model: posix
gcc version 4.9.0 20130731 (experimental) [trunk revision 201378] (Debian
20130731-1) 
gfortran-4.8:
  Installed: 4.8.1-9
  Candidate: 4.8.1-9
  Version table:
 *** 4.8.1-9 0
        200 http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
        100 /var/lib/dpkg/status
     4.8.1-2 0
        500 http://ftp.us.debian.org/debian/ testing/main amd64 Packages
gcc-snapshot:
  Installed: 20130731-1
  Candidate: 20130731-1
  Version table:
 *** 20130731-1 0
        200 http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
        100 /var/lib/dpkg/status
Description:    Debian GNU/Linux testing (jessie)
Release:    testing


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug fortran/58185] [4.8/4.9 Regression] [OOP] ICE when selector in SELECT TYPE is non-polymorphic
  2013-08-18  2:40 [Bug fortran/58185] New: ICE when selector in SELECT TYPE is non-polymorphic jwmwalrus at gmail dot com
@ 2013-08-18 10:01 ` janus at gcc dot gnu.org
  2013-08-22 11:58 ` janus at gcc dot gnu.org
  2013-08-24  9:14 ` janus at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: janus at gcc dot gnu.org @ 2013-08-18 10:01 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from janus at gcc dot gnu.org ---
(In reply to janus from comment #1)
> 0x567f7e copy_ts_from_selector_to_associate
>         /home/janus/gcc49/trunk/gcc/fortran/match.c:5171


I think this is where the problem is. This function should be fixed to not call
gfc_build_class_symbol with ts->u.derived == NULL.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug fortran/58185] [4.8/4.9 Regression] [OOP] ICE when selector in SELECT TYPE is non-polymorphic
  2013-08-18  2:40 [Bug fortran/58185] New: ICE when selector in SELECT TYPE is non-polymorphic jwmwalrus at gmail dot com
  2013-08-18 10:01 ` [Bug fortran/58185] [4.8/4.9 Regression] [OOP] " janus at gcc dot gnu.org
@ 2013-08-22 11:58 ` janus at gcc dot gnu.org
  2013-08-24  9:14 ` janus at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: janus at gcc dot gnu.org @ 2013-08-22 11:58 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from janus at gcc dot gnu.org ---
Fixed on trunk with the commit below. Backport pending.


Author: janus
Date: Thu Aug 22 11:49:46 2013
New Revision: 201919

URL: http://gcc.gnu.org/viewcvs?rev=201919&root=gcc&view=rev
Log:
2013-08-22  Janus Weil  <janus@gcc.gnu.org>

    PR fortran/58185
    * match.c (copy_ts_from_selector_to_associate): Only build class
    container for polymorphic selector. Some cleanup.


2013-08-22  Janus Weil  <janus@gcc.gnu.org>

    PR fortran/58185
    * gfortran.dg/select_type_34.f90: New.

Added:
    trunk/gcc/testsuite/gfortran.dg/select_type_34.f90
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/match.c
    trunk/gcc/testsuite/ChangeLog


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug fortran/58185] [4.8/4.9 Regression] [OOP] ICE when selector in SELECT TYPE is non-polymorphic
  2013-08-18  2:40 [Bug fortran/58185] New: ICE when selector in SELECT TYPE is non-polymorphic jwmwalrus at gmail dot com
  2013-08-18 10:01 ` [Bug fortran/58185] [4.8/4.9 Regression] [OOP] " janus at gcc dot gnu.org
  2013-08-22 11:58 ` janus at gcc dot gnu.org
@ 2013-08-24  9:14 ` janus at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: janus at gcc dot gnu.org @ 2013-08-24  9:14 UTC (permalink / raw)
  To: gcc-bugs

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

janus at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #5 from janus at gcc dot gnu.org ---
Fixed on 4.8, too. Closing.


Author: janus
Date: Sat Aug 24 09:12:21 2013
New Revision: 201964

URL: http://gcc.gnu.org/viewcvs?rev=201964&root=gcc&view=rev
Log:
2013-08-24  Janus Weil  <janus@gcc.gnu.org>

    Backport from trunk:
    2013-08-22  Janus Weil  <janus@gcc.gnu.org>

    PR fortran/58185
    * match.c (copy_ts_from_selector_to_associate): Only build class
    container for polymorphic selector. Some cleanup.


2013-08-24  Janus Weil  <janus@gcc.gnu.org>

    Backport from trunk:
    2013-08-22  Janus Weil  <janus@gcc.gnu.org>

    PR fortran/58185
    * gfortran.dg/select_type_34.f90: New.

Added:
    branches/gcc-4_8-branch/gcc/testsuite/gfortran.dg/select_type_34.f90
Modified:
    branches/gcc-4_8-branch/gcc/fortran/ChangeLog
    branches/gcc-4_8-branch/gcc/fortran/match.c
    branches/gcc-4_8-branch/gcc/testsuite/ChangeLog


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-08-24  9:14 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-08-18  2:40 [Bug fortran/58185] New: ICE when selector in SELECT TYPE is non-polymorphic jwmwalrus at gmail dot com
2013-08-18 10:01 ` [Bug fortran/58185] [4.8/4.9 Regression] [OOP] " janus at gcc dot gnu.org
2013-08-22 11:58 ` janus at gcc dot gnu.org
2013-08-24  9:14 ` janus at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).