This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/51520] New: ICE in gfortran 4.6.2, x86_64


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

             Bug #: 51520
           Summary: ICE in gfortran 4.6.2, x86_64
    Classification: Unclassified
           Product: gcc
           Version: 4.6.2
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: fortran
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: adrian@llnl.gov


I'm getting an ICE in gfortran 4.6.2 .
The machine is running Ubuntu 10.04, 64 bit on an Intel Xeon.

  $ gfortran -I. -O0  -c -o test.o test.f03 

  test.f03: In function âevalresaâ:
  test.f03:40:0: internal compiler error: Segmentation fault
  Please submit a full bug report,
  with preprocessed source if appropriate.
  See <http://gcc.gnu.org/bugs.html> for instructions.

below is the nonsensical delta-reduced test program:

test.f03 
=======================================================
module sidl
  use, intrinsic :: iso_c_binding
  enum, bind(c)
    enumerator :: sidl_row_major_order = 2
  end enum
  interface
  end interface
contains
  logical function sidl_opaque_is_null_p (opaq) 
  end function sidl_opaque_is_null_p
end module sidl
module sidl_array_type
  use sidl
  type sidl__array
    type(c_ptr) :: d_array = c_null_ptr
  end type sidl__array
end module sidl_array_type
module sidl_array_array_F03
  use sidl_array_type
  interface is_null
    module procedure is_null_p
  end interface
contains
  logical function is_null_p(array)
    type(sidl__array), intent(in) :: array
  end function is_null_p
end module sidl_array_array_F03
module vect_Utils_F03
  use sidl_array_array_F03
  type vect_Utils_t
  end type vect_Utils_t
  interface is_null
    module procedure is_null_s
end interface
contains
  logical function is_null_s(ext)
    class(vect_Utils_t), intent(in) :: ext
  end function is_null_s
end module vect_Utils_F03
subroutine evalResA(tracker, partNum, res, expected, tol, okay)
  use vect_Utils_F03
  type (sidl__array) :: res, expected
  if (.not. is_null(res)) then
  endif
end subroutine evalResA
subroutine runProduct(tracker, partNum, a, u, tol, badLvl, res, okay,
expectExc, desc)
    if (expectExc .eq. NoneExp) then
      call evalResA(tracker, partNum, x, res, tol, okay)
    endif
end subroutine runProduct
program vectortest
  call runProduct(tracker, partNum, ZERO, n, TOL, NoVio, n, .true., NoneExp,&
   'passing vuProduct() a null array - no precondition vio        ')
end program vectortest
=========================================================

valgrind output:

==18442== Invalid read of size 1
==18442==    at 0x5F49EE: mpz_get_double_int (double-int.c:1145)
==18442==    by 0x550521: gfc_conv_mpz_to_tree (trans-const.c:204)
==18442==    by 0x550D2F: gfc_conv_constant (trans-const.c:396)
==18442==    by 0x5650FB: gfc_conv_initializer (trans-expr.c:4155)
==18442==    by 0x55D80B: gfc_conv_structure (trans-expr.c:4666)
==18442==    by 0x5651EB: gfc_conv_initializer (trans-expr.c:4197)
==18442==    by 0x554620: gfc_get_symbol_decl (trans-decl.c:1379)
==18442==    by 0x554C2F: generate_local_decl (trans-decl.c:4161)
==18442==    by 0x52BD26: traverse_ns (symbol.c:3333)
==18442==    by 0x52BD15: traverse_ns (symbol.c:3330)
==18442==    by 0x52BD15: traverse_ns (symbol.c:3330)
==18442==    by 0x52BD15: traverse_ns (symbol.c:3330)
==18442==  Address 0x2 is not stack'd, malloc'd or (recently) free'd
==18442== 
test.f03: In function âevalresaâ:
test.f03:40:0: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
==18442== 
==18442== HEAP SUMMARY:
==18442==     in use at exit: 868,466 bytes in 3,301 blocks
==18442==   total heap usage: 8,088 allocs, 4,787 frees, 1,634,007 bytes
allocated
==18442== 
==18442== LEAK SUMMARY:
==18442==    definitely lost: 12,428 bytes in 74 blocks
==18442==    indirectly lost: 3,496 bytes in 5 blocks
==18442==      possibly lost: 352 bytes in 18 blocks
==18442==    still reachable: 852,190 bytes in 3,204 blocks
==18442==         suppressed: 0 bytes in 0 blocks
==18442== Rerun with --leak-check=full to see details of leaked memory
==18442== 
==18442== For counts of detected and suppressed errors, rerun with: -v
==18442== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 4 from 4)
==18439== 
==18439== HEAP SUMMARY:
==18439==     in use at exit: 32,293 bytes in 86 blocks
==18439==   total heap usage: 502 allocs, 416 frees, 61,072 bytes allocated
==18439== 
==18439== LEAK SUMMARY:
==18439==    definitely lost: 5,444 bytes in 29 blocks
==18439==    indirectly lost: 45 bytes in 3 blocks
==18439==      possibly lost: 29 bytes in 2 blocks
==18439==    still reachable: 26,775 bytes in 52 blocks
==18439==         suppressed: 0 bytes in 0 blocks
==18439== Rerun with --leak-check=full to see details of leaked memory
==18439== 
==18439== For counts of detected and suppressed errors, rerun with: -v
==18439== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 4 from 4)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]