1--  { dg-do run }
2--  { dg-options "-O0 -gnata -gnateV" }
3
4with Ada.Exceptions; use Ada.Exceptions;
5
6procedure Valid_Scalars2 is
7
8   Traced : Boolean := False;
9
10   procedure Trace (E : in Exception_Occurrence) is
11      pragma Assert (E'Valid_scalars);
12   begin
13      Traced := True;
14   end Trace;
15
16begin
17   raise Program_Error;
18exception
19   when E : others =>
20      pragma Assert (E'Valid_scalars);
21      Trace (E);
22      if not Traced then
23         raise Program_Error;
24      end if;
25end Valid_Scalars2;
26