annotate gcc/testsuite/gnat.dg/predicate3.adb @ 138:fc828634a951

merge
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Thu, 08 Nov 2018 14:17:14 +0900
parents 84e7813d76e9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
131
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
1 -- { dg-do run }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
2 -- { dg-options "-gnata" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
3
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
4 with Ada.Assertions, Ada.Text_IO;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
5 use Ada.Assertions, Ada.Text_IO;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
6
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
7 with Predicate3_Pkg;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
8 use Predicate3_Pkg;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
9
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
10 procedure Predicate3 is
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
11 Got_Assertion : Boolean := False;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
12 begin
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
13
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
14 begin
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
15 Put_Line (Good (C)'Image);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
16 exception
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
17 when Assertion_Error =>
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
18 Got_Assertion := True;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
19 end;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
20
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
21 if not Got_Assertion then
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
22 raise Program_Error;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
23 end if;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
24
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
25 Got_Assertion := False;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
26 declare
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
27 X: Priv;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
28 begin
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
29 X := Wrong;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
30 exception
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
31 when Assertion_Error =>
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
32 Got_Assertion := True;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
33 end;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
34
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
35 if not Got_Assertion then
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
36 raise Program_Error;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
37 end if;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
38
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
39 end Predicate3;