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

Reply via email to