[Bug fortran/59906] New: [4.7/4.8 Regression] error: size of variable '<anonymous>' is too large

anlauf at gmx dot de gcc-bugzilla@gcc.gnu.org
Wed Jan 22 14:01:00 GMT 2014


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

            Bug ID: 59906
           Summary: [4.7/4.8 Regression] error: size of variable
                    '<anonymous>' is too large
           Product: gcc
           Version: 4.8.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: anlauf at gmx dot de

Hi,

a colleague just reported a regression for the code below.
It compiles fine with 4.3.4 and 4.5.0, but fails with 4.7.4 and 4.8.2.
Cannot check trunk right now.

% gfortran48 robin_gfortran_bug.f90
robin_gfortran_bug.f90: In function 'y':
robin_gfortran_bug.f90:17:0: error: size of variable '<anonymous>' is too large
     print*,str_cmp((/'aaa','bbb'/), str_aux)
 ^

% gfortran47 robin_gfortran_bug.f90      
robin_gfortran_bug.f90: In function 'y':
robin_gfortran_bug.f90:17:0: error: size of variable '<anonymous>' is too large


% cat robin_gfortran_bug.f90
program x
  implicit none
  call y('abcdef')
contains 

  subroutine y(str)
    character(len=*), intent(in) :: str

    character(len=len_trim(str)) :: str_aux

    str_aux = str

    ! Compiles
!   print*,str_cmp((/'aaa','bbb'/), str)

    ! Does not compile:
    print*,str_cmp((/'aaa','bbb'/), str_aux)

  end subroutine y

  elemental logical function str_cmp(str1, str2)
    character(len=*), intent(in) :: str1
    character(len=*), intent(in) :: str2
    str_cmp = (str1 == str2)
  end function str_cmp

end program x



More information about the Gcc-bugs mailing list