On Fri, Dec 9, 2016 at 1:47 PM, Paul Richard Thomas <paul.richard.tho...@gmail.com> wrote: > Hi Steve, > > In doing the final regtest of the fix for PR44265, I found that > charlen_15.f90 is still giving the original error for PR78350. > > module.c:3419 is seeing (after continuing three times) > (gdb) print *e->ts.u.cl->length > $12 = {expr_type = 0, ts = {type = 81, kind = 0, u = {derived = 0x20ff570, > cl = 0x20ff570, pad = 34600304}, interface = 0x20ff340, > is_c_interop = 0, is_iso_c = 0, f90_type = BT_UNKNOWN, deferred = false}, > rank = 0, shape = 0x20fe310, symtree = 0x0, ref = 0x0, where = { > nextc = 0x50, lb = 0x50}, base_expr = 0x20fe5e0, is_boz = 0, is_snan = 0, > error = 0, user_operator = 0, mold = 0, must_finalize = 0, representation = > { > length = 4096, string = 0x7ffff1a68000 "\002"}, value = {logical = 471, > iokind = 471, integer = {{_mp_alloc = 471, _mp_size = 0, > _mp_d = 0x41006600000000}}, real = {{_mpfr_prec = 471, _mpfr_sign = 0, > _mpfr_exp = -1, _mpfr_d = 0x7fffffffff}}, complex = {{re = {{ > _mpfr_prec = 471, _mpfr_sign = 0, _mpfr_exp = -1, > _mpfr_d = 0x7fffffffff}}, im = {{_mpfr_prec = 0, _mpfr_sign = 241, > _mpfr_exp = 214358001816, _mpfr_d = 0x2100100}}}}, op = {op = 471, > uop = 0x41006600000000, op1 = 0xffffffffffffffff, op2 = 0x7fffffffff}, > function = {actual = 0x1d7, > name = 0x41006600000000 <Address 0x41006600000000 out of bounds>, > isym = 0xffffffffffffffff, esym = 0x7fffffffff}, compcall = { > actual = 0x1d7, > name = 0x41006600000000 <Address 0x41006600000000 out of bounds>, > base_object = 0xffffffffffffffff, tbp = 0x7fffffffff, ignore_pass = 0, > assign = 0}, character = {length = 471, string = 0x41006600000000}, > constructor = 0x1d7}} > > It is the expr_type == = that causes the ICE in gfc_code2string.
I'm seeing the same thing, I guess. Or rather that the ts->type == 81 which is non-sensical. No idea where that comes from.. Backtrace from gdb: #0 gfc_code2string (m=m@entry=0x182fe00 <bt_types>, code=code@entry=81) at ../../trunk-git/gcc/fortran/misc.c:193 #1 0x000000000065645f in mio_name (t=81, m=m@entry=0x182fe00 <bt_types>) at ../../trunk-git/gcc/fortran/module.c:1722 #2 0x000000000065acb9 in mio_name_bt (m=0x182fe00 <bt_types>, t=<optimized out>) at ../../trunk-git/gcc/fortran/module.c:2106 #3 mio_typespec (ts=ts@entry=0x2420918) at ../../trunk-git/gcc/fortran/module.c:2530 #4 0x000000000065ae50 in mio_expr (ep=0x24217d0) at ../../trunk-git/gcc/fortran/module.c:3432 #5 0x000000000065b300 in mio_charlen (clp=clp@entry=0x241fa80) at ../../trunk-git/gcc/fortran/module.c:2500 #6 0x000000000065ad50 in mio_typespec (ts=ts@entry=0x241fa78) at ../../trunk-git/gcc/fortran/module.c:2558 #7 0x000000000065ae50 in mio_expr (ep=ep@entry=0x24208a8) at ../../trunk-git/gcc/fortran/module.c:3432 #8 0x000000000065bb73 in mio_component (c=c@entry=0x2420830, vtype=vtype@entry=0) at ../../trunk-git/gcc/fortran/module.c:2799 #9 0x000000000065bbdb in mio_component_list (cp=cp@entry=0x2422138, vtype=0) at ../../trunk-git/gcc/fortran/module.c:2818 #10 0x000000000065c913 in mio_symbol (sym=sym@entry=0x2422090) at ../../trunk-git/gcc/fortran/module.c:4238 #11 0x000000000065cb8b in write_symbol (n=2, sym=sym@entry=0x2422090) at ../../trunk-git/gcc/fortran/module.c:5613 #12 0x000000000065e87f in write_symbol0 (st=0x2422680) at ../../trunk-git/gcc/fortran/module.c:5653 #13 0x000000000065e7f2 in write_symbol0 (st=0x2420650) at ../../trunk-git/gcc/fortran/module.c:5632 #14 0x000000000065ea03 in write_module () at ../../trunk-git/gcc/fortran/module.c:5992 #15 0x000000000065ec59 in dump_module (name=name@entry=0x7ffff6853060 "m", dump_flag=dump_flag@entry=1) at ../../trunk-git/gcc/fortran/module.c:6120 #16 0x000000000065edf8 in gfc_dump_module (name=0x7ffff6853060 "m", dump_flag=1) at ../../trunk-git/gcc/fortran/module.c:6163 #17 0x0000000000675edd in gfc_parse_file () at ../../trunk-git/gcc/fortran/parse.c:6158 #18 0x00000000006baa5b in gfc_be_parse_file () at ../../trunk-git/gcc/fortran/f95-lang.c:202 #19 0x0000000000ce0456 in compile_file () at ../../trunk-git/gcc/toplev.c:463 #20 0x0000000000ce240d in do_compile () at ../../trunk-git/gcc/toplev.c:1983 #21 0x0000000000ce2934 in toplev::main (this=this@entry=0x7fffffffd860, argc=argc@entry=13, argv=argv@entry=0x7fffffffd968) at ../../trunk-git/gcc/toplev.c:2117 #22 0x00000000016fc99c in main (argc=13, argv=0x7fffffffd968) at ../../trunk-git/gcc/main.c:39 > > Cheers > > Paul > > On 8 December 2016 at 22:33, Steve Kargl > <s...@troutmask.apl.washington.edu> wrote: >> On Thu, Dec 08, 2016 at 07:58:37AM +0100, Paul Richard Thomas wrote: >>> >>> "Accidence" == state of fixing non-deterministic ICEs? :-) >>> >>> OK for trunk. >>> >>> Thanks for dealing with this kind of dead wood. >>> >> >> Committed revision 243463. >> >> -- >> Steve > > > > -- > If you're walking down the right path and you're willing to keep > walking, eventually you'll make progress. > > Barack Obama -- Janne Blomqvist