comp.lang.ada
 help / color / mirror / Atom feed
From: Simon Wright <simon@pushface.org>
Subject: Re: Strange bug in GNAT
Date: Wed, 02 Jul 2014 21:12:06 +0100
Date: 2014-07-02T21:12:06+01:00	[thread overview]
Message-ID: <lyr423bjvt.fsf@pushface.org> (raw)
In-Reply-To: slrnlr8k48.i0l.lithiumcat@nat.rebma.instinctive.eu

Natasha Kerensikova <lithiumcat@instinctive.eu> writes:

> After a lot of experimentation, I found the following workaround, which
> is committed:
>
>          when others =>
>             begin
>                return Error_Page
>                  (AWS.Messages.S405,
>                   Dispatcher.DB.Query.Data.Error_Template);
>             end;
>       end case;
>
> How can an anonymous block change anything?
[...]
> At this point, I'm completely lost on how to proceed. I would love to
> report the bug, so that hopefully it might eventually be fixed, but
> without a smallish reproducer I don't dare bothering AdaCore.

Back when I was working on a supported project, I had a somewhat similar
problem with a deeply-nested loop; AdaCore suggested using an anonymous
block around some of the inner levels, which turned out to be a good
workround.

I suppose that the block resets some of the compiler internals, enough
to prevent the problem manifesting itself.

I don't think you should worry too much about the size of the
reproducer; if they're interested they'll look, if not, not. But it
might be best to supply all the source needed to compile the problematic
unit (in a zip archive, for example).

Is there any chance that you can reproduce the problem using GNAT GPL?
You stand a *much* better chance of getting the problem looked at if so.


  reply	other threads:[~2014-07-02 20:12 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-02 18:33 Strange bug in GNAT Natasha Kerensikova
2014-07-02 20:12 ` Simon Wright [this message]
2014-07-03 13:33   ` G.B.
2014-07-05 15:26     ` Natasha Kerensikova
2014-07-05 15:28   ` Natasha Kerensikova
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox