The following invalid program (based on gfortran.dg/result_in_spec_1.f90 used
to find PR32046) causes an ICE.

NAG f95 duly reports:
  Error: result_in_spec_1.f90, line 4: Too few arguments in reference to F


result_in_spec_1.f90: In function 'MAIN__':
result_in_spec_1.f90:21: internal compiler error: Segmentation fault

==10984== Invalid read of size 8
==10984==    at 0x483928: gfc_apply_interface_mapping_to_expr
(trans-expr.c:1656)
==10984==    by 0x489D4E: gfc_apply_interface_mapping (trans-expr.c:1696)
==10984==    by 0x485302: gfc_conv_function_call (trans-expr.c:2301)


module test1
  implicit none
contains
  character(f()) function test2(x) result(r)
    implicit integer (x)
    dimension r(len(r)+1)
    integer, intent(in) :: x
    interface
      pure function f(x)
        integer, intent(in) :: x
        integer f
      end function f
    end interface
  end function test2
  pure function f()
    integer f
    f = 2
  end function f
end module test1

program test
  use test1
  implicit none
  integer :: i
  i = len(test2(10))
end program test


-- 
           Summary: ICE (segfault) for pure function without argument
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Keywords: ice-on-invalid-code
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: burnus at gcc dot gnu dot org


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

Reply via email to