> > FAIL: cxa5012
>
> I think this one is an artifact (sometimes an error is reported when
> chopping/building/running the test). x86_64-linux is clean too.
Unfortunately this is a real core dump while running the test on my
machine (glibc-2.3.3-118 SuSE 9.2) at -O2 or -O0, and this does not
reproduce under GDB, see below. I don't know about valgrind on x86_64,
is it available?
Indeed I see it as a Heisenbug too. This tiny test case also shows it
for me:
with Ada.Numerics.Float_Random;
with Ada.Numerics.Discrete_Random;
with ImpDef;
use Ada.Numerics;
procedure CXA5012 is
subtype Discrete_Range is Integer range 1..10_000;
package Discrete_Pack is new Discrete_Random(Discrete_Range);
DState_1 : Discrete_Pack.State;
Not_A_State : constant String := ImpDef.Non_State_String;
begin
DState_1 := Discrete_Pack.Value(ImpDef.Non_State_String);
end CXA5012;
It's almost certainly a problem in exception dispatching.