This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] PR fortran/65173 -- kill off old_cl_list from gfc_namespace.
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 <pault@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
<kargl@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.thomas@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