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.
fix-pr91169
Description: Binary data