This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]