[Bug fortran/72770] [7 Regression] ICE in make_ssa_name_fn, at tree-ssanames.c:263
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72770 vehre at gcc dot gnu.org changed: What|Removed |Added Status|WAITING |RESOLVED Resolution|--- |FIXED --- Comment #9 from vehre at gcc dot gnu.org --- No regressions so far. Closing.
[Bug fortran/72770] [7 Regression] ICE in make_ssa_name_fn, at tree-ssanames.c:263
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72770 --- Comment #8 from vehre at gcc dot gnu.org --- Author: vehre Date: Tue Oct 25 17:01:58 2016 New Revision: 241528 URL: https://gcc.gnu.org/viewcvs?rev=241528=gcc=rev Log: gcc/testsuite/ChangeLog: 2016-10-25 Andre VehreschildPR fortran/72770 * gfortran.dg/alloc_comp_class_5.f03: Added test again that caused this pr. gcc/fortran/ChangeLog: 2016-10-25 Andre Vehreschild PR fortran/72770 * class.c (find_intrinsic_vtab): No longer encode the string length into vtype's name and use the char's kind for the size instead of the string_length time the size. * trans-array.c (gfc_conv_ss_descriptor): For deferred length char arrays the dynamically sized type needs to be declared. (build_class_array_ref): Address the i-th array element by multiplying it with the _vptr->_size and the _len to make sure char arrays are addressed correctly. * trans-expr.c (gfc_conv_intrinsic_to_class): Made comment more precise. Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/class.c trunk/gcc/fortran/trans-array.c trunk/gcc/fortran/trans-expr.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gfortran.dg/alloc_comp_class_5.f03
[Bug fortran/72770] [7 Regression] ICE in make_ssa_name_fn, at tree-ssanames.c:263
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72770 --- Comment #7 from Dominique d'Humieres --- *** Bug 78053 has been marked as a duplicate of this bug. ***
[Bug fortran/72770] [7 Regression] ICE in make_ssa_name_fn, at tree-ssanames.c:263
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72770 vehre at gcc dot gnu.org changed: What|Removed |Added Status|NEW |WAITING CC||vehre at gcc dot gnu.org Assignee|unassigned at gcc dot gnu.org |vehre at gcc dot gnu.org --- Comment #6 from vehre at gcc dot gnu.org --- Patch available at: https://gcc.gnu.org/ml/fortran/2016-10/msg00189.html Waiting for review.
[Bug fortran/72770] [7 Regression] ICE in make_ssa_name_fn, at tree-ssanames.c:263
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72770 --- Comment #5 from Richard Biener --- Note this just exposed a latent issue in the FE.
[Bug fortran/72770] [7 Regression] ICE in make_ssa_name_fn, at tree-ssanames.c:263
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72770 --- Comment #4 from Dominique d'Humieres --- Caused by revision r235817.
[Bug fortran/72770] [7 Regression] ICE in make_ssa_name_fn, at tree-ssanames.c:263
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72770 --- Comment #3 from Richard Biener --- .original has: case 85893463:; .__tmp_CHARACTER_0_1 = x->_len; __tmp_CHARACTER_0_1 = x->_data; __tmp_CHARACTER_0_1.dtype = ((integer(kind=8)) SAVE_EXPR <(sizetype) .__tmp_CHARACTER_0_1> << 6) + 49; { logical(kind=4) test.2; character(kind=1)[0:][1:.__tmp_CHARACTER_0_1] * D.3488; integer(kind=8) D.3489; integer(kind=8) D.3490; integer(kind=8) D.3491; integer(kind=8) D.3494; test.2 = 0; D.3488 = (character(kind=1)[0:][1:.__tmp_CHARACTER_0_1] *) __tmp_CHARACTER_0_1.data; D.3489 = __tmp_CHARACTER_0_1.offset; D.3490 = __tmp_CHARACTER_0_1.dim[0].lbound; ... and the type of D.3488 misses a DECL_EXPR (or manual handling in the Fortran FE like we do for some cases - simply copy x->_len to a decl and use that for the upper bound).
[Bug fortran/72770] [7 Regression] ICE in make_ssa_name_fn, at tree-ssanames.c:263
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72770 Richard Biener changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2016-08-02 CC||rguenth at gcc dot gnu.org Target Milestone|--- |7.0 Summary|ICE in make_ssa_name_fn, at |[7 Regression] ICE in |tree-ssanames.c:263 |make_ssa_name_fn, at ||tree-ssanames.c:263 Ever confirmed|0 |1 --- Comment #2 from Richard Biener --- #2 0x00fc40ea in remap_ssa_name (name=, id=0x7fffda60) at /space/rguenther/src/svn/trunk/gcc/tree-inline.c:238 238 new_tree = make_ssa_name (remap_type (TREE_TYPE (name), id)); (gdb) p name $1 = (gdb) p debug_tree (name) probably caused by early-SSA and not properly gimplified type sizes. Thus a fortran FE issue with respect to missing DECL_EXPRs.