On Mon, Aug 5, 2019 at 10:28 AM Eric Botcazou <ebotca...@adacore.com> wrote:
>
> > Testing went OK but it looks like acats doesn't honor
> > RUNTESTFLAGS so I got no multilib testing for it :/
> > And the PR didn't contain sth I could plug into gnat.dg so I checked
> > with visual inspection of dumps on the reduced testcase.
>
> Sorry about that, gnat.dg/array37.adb now attached.
>
> > I notice pretty-printing is also confused about the wrapping ;)
> >
> >   static struct p__intarray___PAD intarray = {.F={-100, [0]=0, 100}};
> >
> > the [0]= is not necessary.
> >
> > Anyway, I can see bogus IL before and still after the proposed patch :/
> > This is because I forgot to adjust cfield handling of setting index.
> >
> > So I'm testing the adjusted patch attached which fixes the IL
> > and for testing have patched gcc/testsuite/ada/acats/run_all.sh
> > to add -m32.
>
> Thanks!

Fixed as follows - I've added checking asserts that wrapping doesn't
occur and also fixed another bug which treated

 { .el = { RANGE [1, 4], 0 }, .el = { NULL_TREE, 1 } }

as setting [2] to 1.

Bootstrapped and tested on x86_64-unknown-linux-gnu, applied.

Richard.

Attachment: fix-pr91169
Description: Binary data

Reply via email to