OSDN Git Service

* decl.c (gnat_to_gnu_entity): Issue a warning on suspiciously
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gnat.dg / nested_return_test.adb
1 -- { dg-do run }
2 -- { dg-options "-gnata" }
3
4 procedure Nested_Return_Test is
5    function H (X: integer) return access integer is
6       Local : aliased integer := (X+1);
7    begin 
8       case X is
9          when 3 =>
10             begin
11               return Result : access integer do
12                   Result := new integer '(27);
13                   begin
14                      for I in 1 .. 10 loop
15                        result.all := result.all + 10;
16                      end loop;
17                      return;
18                   end;
19               end return;
20             end;
21          when 5 =>
22             return Result: Access integer do
23                Result := New Integer'(X*X*X);
24             end return;
25          when others =>
26             return null;
27       end case;
28    end;
29 begin
30    pragma Assert (H (3).all = 127);
31    pragma Assert (H (5).all = 125);
32    null;
33 end Nested_Return_Test;