See the bit of code below dealing with the initialization of array contents
with
the "ubound" results called on another array.  If the "module" statements plus
the write(*,*) statements are both commented out, then this bit of code
compiles.  However, if either (a) this code is made into a module, or
(b) it remains as a program but the 'write(*,*)' statement is put back in, then
the compilation fails with an "internal compiler error: in
gfc_conv_array_initializer, 
at fortran/trans-array.c:3460"

!MODULE TEST_CERES

PROGRAM Test_ceres

implicit none

real, dimension(10, 10,  10, 3, 4) ::  TCg_coef 
integer, parameter, dimension(5)  :: &
    TCg_bband_coef_ranks = ubound(TCg_coef)

!write(*,*) 'array_ranks = ',TCg_bband_coef_ranks

end program Test_ceres
!end module Test_ceres


-- 
           Summary: internal compiler error on array initialization
                    statement using 'ubound'
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: Catherine dot M dot Moroney at jpl dot nasa dot gov


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

Reply via email to