gfortran-20070412 segfaults on the code below, gfortran-20070316 doesn't.

$> cat segfault.f90
MODULE class_dummy_atom_types
TYPE :: dummy_atom_list
  TYPE(dummy_atom), DIMENSION(:), POINTER :: table
  INTEGER                                 :: nused
END TYPE

TYPE :: dummy_atom
  TYPE(dummy_atom_private), POINTER :: p
END TYPE

TYPE :: dummy_atom_private
  TYPE(dummy_atom_list)       :: neighbours
END TYPE
END MODULE

MODULE class_dummy_atom_list
USE class_dummy_atom_types, ONLY: dummy_atom_list

INTERFACE 
  SUBROUTINE dummy_atom_list_init_copy(this, other)
    USE class_dummy_atom_types, ONLY: dummy_atom_list
    TYPE(dummy_atom_list), INTENT(out) :: this
    TYPE(dummy_atom_list), INTENT(in)  :: other
  END SUBROUTINE
END INTERFACE

INTERFACE
  SUBROUTINE dummy_atom_list_merge(this, other)
    USE class_dummy_atom_types, ONLY: dummy_atom_list
    TYPE(dummy_atom_list), INTENT(inout) :: this
    TYPE(dummy_atom_list), INTENT(in)    :: other
  END SUBROUTINE
END INTERFACE
END MODULE

SUBROUTINE dummy_atom_list_init_copy(this, other)
  USE class_dummy_atom_list, ONLY: dummy_atom_list, dummy_atom_list_merge

  TYPE(dummy_atom_list), INTENT(out) :: this
  TYPE(dummy_atom_list), INTENT(in)  :: other

  this%table(1:this%nused) = other%table(1:other%nused)
END SUBROUTINE

$> gfortran-svn -g -Wall segfault.f90
segfault.f90: In function 'dummy_atom_list_init_copy':
segfault.f90:42: internal compiler error: Segmentation fault

$> gfortran-svn -v
gcc version 4.3.0 20070412 (experimental)


Backtrace:
run -g -Wall segfault.f90
Starting program:
/h/franke/packages/i686-pc-linux-gnu/gcc/libexec/gcc/i686-pc-linux-gnu/4.3.0/f951
-g -Wall segfault.f90
 dummy_atom_list_init_copy
Program received signal SIGSEGV, Segmentation fault.
size_binop (code=EXACT_DIV_EXPR, arg0=0x0, arg1=0xb7c8c4b4) at
../../../svn/gcc/gcc/fold-const.c:1963
1963      tree type = TREE_TYPE (arg0);
(gdb) bt
#0  size_binop (code=EXACT_DIV_EXPR, arg0=0x0, arg1=0xb7c8c4b4) at
../../../svn/gcc/gcc/fold-const.c:1963
#1  0x08230389 in gimplify_compound_lval (expr_p=0xb7c912ec, pre_p=0xbff57a00,
post_p=0xbff579fc, fallback=fb_lvalue)
    at ../../../svn/gcc/gcc/gimplify.c:1788
#2  0x0822c6da in gimplify_expr (expr_p=0xb7c912ec, pre_p=0xbff57a00,
post_p=0xbff579fc, gimple_test_f=0x8337ec0 <is_gimple_lvalue>,
fallback=fb_lvalue)
    at ../../../svn/gcc/gcc/gimplify.c:5503
#3  0x0823e507 in gimplify_modify_expr (expr_p=0xb7ce7a28, pre_p=0xbff57a00,
post_p=0xbff579fc, want_value=0 '\0') at ../../../svn/gcc/gcc/gimplify.c:3597
#4  0x0822bfcb in gimplify_expr (expr_p=0xb7ce7a28, pre_p=0xbff57a00,
post_p=0xbff579fc, gimple_test_f=0x8338360 <is_gimple_stmt>, fallback=fb_none)
    at ../../../svn/gcc/gcc/gimplify.c:5543
#5  0x0823239f in gimplify_stmt (stmt_p=0xb7ce7a28) at
../../../svn/gcc/gcc/gimplify.c:4334
#6  0x0822bd55 in gimplify_expr (expr_p=0xbff57b30, pre_p=0xbff57ae0,
post_p=0xbff57adc, gimple_test_f=0x8338360 <is_gimple_stmt>, fallback=fb_none)
    at ../../../svn/gcc/gcc/gimplify.c:3794
#7  0x0823239f in gimplify_stmt (stmt_p=0xbff57b30) at
../../../svn/gcc/gcc/gimplify.c:4334
#8  0x08234d0f in gimplify_and_add (t=0xb7cfb914, list_p=0xbff57c00) at
../../../svn/gcc/gcc/gimplify.c:340
#9  0x082355b0 in gimplify_loop_expr (expr_p=0xb7ce7a40, pre_p=0xbff57c00) at
../../../svn/gcc/gcc/gimplify.c:1305
#10 0x0822c417 in gimplify_expr (expr_p=0xb7ce7a40, pre_p=0xbff57c00,
post_p=0xbff57bfc, gimple_test_f=0x8338360 <is_gimple_stmt>, fallback=fb_none)
    at ../../../svn/gcc/gcc/gimplify.c:5658
#11 0x0823239f in gimplify_stmt (stmt_p=0xb7ce7a40) at
../../../svn/gcc/gcc/gimplify.c:4334
#12 0x0822bd55 in gimplify_expr (expr_p=0xb7ce02f0, pre_p=0xbff57ce0,
post_p=0xbff57cdc, gimple_test_f=0x8338360 <is_gimple_stmt>, fallback=fb_none)
    at ../../../svn/gcc/gcc/gimplify.c:3794
#13 0x0823239f in gimplify_stmt (stmt_p=0xb7ce02f0) at
../../../svn/gcc/gcc/gimplify.c:4334
#14 0x08233bd7 in gimplify_to_stmt_list (stmt_p=0xb7ce02f0) at
../../../svn/gcc/gcc/gimplify.c:4342
#15 0x082341ad in gimplify_bind_expr (expr_p=0xb7ce7a58, pre_p=0xbff57e30) at
../../../svn/gcc/gcc/gimplify.c:1095
#16 0x0822c07c in gimplify_expr (expr_p=0xb7ce7a58, pre_p=0xbff57e30,
post_p=0xbff57e2c, gimple_test_f=0x8338360 <is_gimple_stmt>, fallback=fb_none)
    at ../../../svn/gcc/gcc/gimplify.c:5654
#17 0x0823239f in gimplify_stmt (stmt_p=0xb7ce7a58) at
../../../svn/gcc/gcc/gimplify.c:4334
#18 0x0822bd55 in gimplify_expr (expr_p=0xb7ce0318, pre_p=0xbff57f10,
post_p=0xbff57f0c, gimple_test_f=0x8338360 <is_gimple_stmt>, fallback=fb_none)
    at ../../../svn/gcc/gcc/gimplify.c:3794
#19 0x0823239f in gimplify_stmt (stmt_p=0xb7ce0318) at
../../../svn/gcc/gcc/gimplify.c:4334
#20 0x08233bd7 in gimplify_to_stmt_list (stmt_p=0xb7ce0318) at
../../../svn/gcc/gcc/gimplify.c:4342
#21 0x082341ad in gimplify_bind_expr (expr_p=0xb7cfd470, pre_p=0xbff58060) at
../../../svn/gcc/gcc/gimplify.c:1095
#22 0x0822c07c in gimplify_expr (expr_p=0xb7cfd470, pre_p=0xbff58060,
post_p=0xbff5805c, gimple_test_f=0x8338360 <is_gimple_stmt>, fallback=fb_none)
    at ../../../svn/gcc/gcc/gimplify.c:5654
#23 0x0823239f in gimplify_stmt (stmt_p=0xb7cfd470) at
../../../svn/gcc/gcc/gimplify.c:4334
#24 0x08232d41 in gimplify_body (body_p=0xb7cfd470, fndecl=0xb7cfd414,
do_parms=1 '\001') at ../../../svn/gcc/gcc/gimplify.c:6347
#25 0x0823332b in gimplify_function_tree (fndecl=0xb7cfd414) at
../../../svn/gcc/gcc/gimplify.c:6425
#26 0x080c169e in gfc_gimplify_function (fndecl=0xb7c8c4b4) at
../../../svn/gcc/gcc/fortran/trans-decl.c:1527
#27 0x080c825f in gfc_generate_function_code (ns=0x88351e8) at
../../../svn/gcc/gcc/fortran/trans-decl.c:3309
#28 0x0808cb7f in gfc_parse_file () at
../../../svn/gcc/gcc/fortran/parse.c:3264
#29 0x080ac7bd in gfc_be_parse_file (set_yydebug=0) at
../../../svn/gcc/gcc/fortran/f95-lang.c:305
#30 0x082f66e2 in toplev_main (argc=4, argv=0xbff58324) at
../../../svn/gcc/gcc/toplev.c:1050
#31 0x080ee6af in main (argc=Cannot access memory at address 0x0


-- 
           Summary: [regression] f951: segfault in fold-const.c:1963
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: dfranke at gcc dot gnu dot org


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

Reply via email to