regressions with recent subref_array_pointer changes
Steve Kargl
sgk@troutmask.apl.washington.edu
Wed Sep 19 22:32:00 GMT 2007
On Wed, Sep 19, 2007 at 03:19:42PM -0700, Steve Kargl wrote:
> On Wed, Sep 19, 2007 at 03:01:48PM -0700, Steve Kargl wrote:
> > Something is not correct with
> >
> > 2007-09-16 Paul Thomas <pault@gcc.gnu.org>
> >
> > PR fortran/29396
> > PR fortran/29606
> > PR fortran/30625
> > PR fortran/30871
> > <details deleted>
> >
> >
>
> We're clearly not walking the expr2 correctly
> in line 3469 because it gives
>
> (gdb) print *rss
> $5 = {type = 1515870810, expr = 0x5a5a5a5a5a5a5a5a, shape = 0x5a5a5a5a5a5a5a5a,
> string_length = 0x5a5a5a5a5a5a5a5a, data = {scalar = {expr = 0x5a5a5a5a5a5a5a5a},
> temp = {dimen = 1515870810, type = 0x5a5a5a5a5a5a5a5a}, info = {dimen = 1515870810,
> ref = 0x5a5a5a5a5a5a5a5a, descriptor = 0x5a5a5a5a5a5a5a5a,
> data = 0x5a5a5a5a5a5a5a5a, offset = 0x5a5a5a5a5a5a5a5a,
> saved_offset = 0x5a5a5a5a5a5a5a5a, stride0 = 0x5a5a5a5a5a5a5a5a, subscript = {
> 0x5a5a5a5a5a5a5a5a, 0x5a5a5a5a5a5a5a5a, 0x5a5a5a5a5a5a5a5a, 0x5a5a5a5a5a5a5a5a,
> 0x5a5a5a5a5a5a5a5a, 0x5a5a5a5a5a5a5a5a, 0x5a5a5a5a5a5a5a5a}, start = {
> 0x5a5a5a5a5a5a5a5a, 0x5a5a5a5a5a5a5a5a, 0x5a5a5a5a5a5a5a5a, 0x5a5a5a5a5a5a5a5a,
> 0x5a5a5a5a5a5a5a5a, 0x5a5a5a5a5a5a5a5a, 0x5a5a5a5a5a5a5a5a}, end = {
> 0x5a5a5a5a5a5a5a5a, 0x5a5a5a5a5a5a5a5a, 0x5a5a5a5a5a5a5a5a, 0x5a5a5a5a5a5a5a5a,
> 0x5a5a5a5a5a5a5a5a, 0x5a5a5a5a5a5a5a5a, 0x5a5a5a5a5a5a5a5a}, stride = {
> 0x5a5a5a5a5a5a5a5a, 0x5a5a5a5a5a5a5a5a, 0x5a5a5a5a5a5a5a5a, 0x5a5a5a5a5a5a5a5a,
> 0x5a5a5a5a5a5a5a5a, 0x5a5a5a5a5a5a5a5a, 0x5a5a5a5a5a5a5a5a}, delta = {
> 0x5a5a5a5a5a5a5a5a, 0x5a5a5a5a5a5a5a5a, 0x5a5a5a5a5a5a5a5a, 0x5a5a5a5a5a5a5a5a,
> 0x5a5a5a5a5a5a5a5a, 0x5a5a5a5a5a5a5a5a, 0x5a5a5a5a5a5a5a5a}, dim = {1515870810,
> 1515870810, 1515870810, 1515870810, 1515870810, 1515870810, 1515870810}}},
> loop_chain = 0x5a5a5a5a5a5a5a5a, next = 0x5a5a5a5a5a5a5a5a, useflags = 2}
The guilt line is actually
(gdb) print *rss
$8 = {type = GFC_SS_SECTION, expr = 0x201611c80, shape = 0x0, string_length = 0x0,
data = {scalar = {expr = 0x1}, temp = {dimen = 1, type = 0x2016150c0}, info = {
dimen = 1, ref = 0x2016150c0, descriptor = 0x0, data = 0x0, offset = 0x0,
saved_offset = 0x0, stride0 = 0x0, subscript = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
start = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, end = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0}, stride = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, delta = {0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0}, dim = {0, 0, 0, 0, 0, 0, 0}}}, loop_chain = 0x0,
next = 0x2016194e0, useflags = 0}
(gdb) n
3498 lse.direct_byref = 1;
(gdb) n
3499 gfc_conv_expr_descriptor (&lse, expr2, rss);
3449, which after calling gfc_conv_expr_descriptor fills rss with junk.
--
Steve
More information about the Fortran
mailing list