aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gnat.dg/noreturn3.adb
blob: 4457373c308a9657976cd236814d2dc00e9e7d1f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
-- { dg-do compile }

with Ada.Exceptions;

package body Noreturn3 is

  procedure Raise_Error (E : Enum; ErrorMessage : String) is

    function Msg return String is
    begin
      return "Error :" & ErrorMessage;
    end;

  begin
    case E is
       when One =>
         Ada.Exceptions.Raise_Exception (Exc1'Identity, Msg);

       when Two =>
         Ada.Exceptions.Raise_Exception (Exc2'Identity, Msg);

       when others =>
         Ada.Exceptions.Raise_Exception (Exc3'Identity, Msg);
    end case;
  end;

end Noreturn3;