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

             Bug #: 56765
           Summary: compilation errors/ICE with unlimited polymorphic
                    array
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: escou...@gmail.com


When compiling following program:

program t_unlimited_2
    implicit none
    class(*), dimension(:), pointer :: u
    u => sub()
contains
    function sub() result(r)
        class(*), dimension(:), pointer :: r
        integer, dimension(3), target :: x = [1,2,3]
        r => x
    end function
end program

I get the output:
----------------------------------------------------------
$gfortran -Wall -Wextra t_unlimited_2.f90
t_unlimited_2.f90:4.4:

    u => sub()
    1
Error: Different ranks in pointer assignment at (1)
---------------------------------------------------------

u and sub are both of rank 1.

When compiling the following (u is scalar here):

program t_unlimited_3
    implicit none
    class(*), pointer :: u
    u => sub()
contains
    function sub() result(r)
        class(*), dimension(:), pointer :: r
        integer, dimension(3), target :: x = [1,2,3]
        r => x
    end function
end program  

I get an ICE:

------------------------------------------------------------
$gfortran -Wall -Wextra t_unlimited_3.f90
t_unlimited_3.f90: In function ‘t_unlimited_3’:
t_unlimited_3.f90:4:0: internal compiler error: in fold_convert_loc, at
fold-const.c:1862
     u => sub()
 ^

t_unlimited_3.f90:4:0: internal compiler error: Abort trap
gfortran: internal compiler error: Abort trap (program f951)
Abort trap
-------------------------------------------------------------

Version:

$gfortran -v
Using built-in specs.
COLLECT_GCC=/xsw/gf48/bin/gfortran
COLLECT_LTO_WRAPPER=/xsw/gcc-4.8-20130321/install/libexec/gcc/x86_64-apple-darwin10.8.0/4.8.0/lto-wrapper
Target: x86_64-apple-darwin10.8.0
Configured with: ../src/configure --prefix=/xsw/gcc-4.8-20130321/install
--enable-languages=c,fortran --with-gmp=/opt/local --with-mpfr=/opt/local
--with-mpc=/opt/local --with-libiconv-prefix=/opt/local
Thread model: posix
gcc version 4.8.0 20130321 (prerelease) (GCC) 


Running on Mac OS X 10.6.8

Reply via email to