Dear Steve and Andre, It turns out that Andre's instrumented gfortran came up trumps. There was a block in resolve_structure_cons that attempted to remove a charlen and, in so doing, broke the charlen chain. I have left it to namespace cleanup to do the job in revision 243517. The module.c stuff was a very red fish of some kind.
Cheers Paul 2016-12-10 Paul Thomas <pa...@gcc.gnu.org> PR fortran/78350 * resolve.c (resolve_structure_cons): Remove the block that tried to remove a charlen and rely on namespace cleanup. On 9 December 2016 at 20:50, Steven G. Kargl <ka...@troutmask.apl.washington.edu> wrote: > On Fri, Dec 09, 2016 at 01:54:34PM +0200, Janne Blomqvist wrote: >> On Fri, Dec 9, 2016 at 1:47 PM, Paul Richard Thomas >> <paul.richard.tho...@gmail.com> wrote: >> >> 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 > > Ugh. I can only reproduce the ICE under valgrind. There is > some interesting stuff happening in module.c > > -- > Steve > http://troutmask.apl.washington.edu/~kargl/ > https://www.youtube.com/watch?v=6hwgPfCcpyQ -- If you're walking down the right path and you're willing to keep walking, eventually you'll make progress. Barack Obama