Commit 304b6b3e by Arnaud Charlet Committed by Arnaud Charlet

* gnat.dg/deep_old.adb, gnat.dg/old_errors.adb: Removed, obsolete.

From-SVN: r189042
parent e6fdc918
2012-06-28 Arnaud Charlet <charlet@adacore.com>
* gnat.dg/deep_old.adb, gnat.dg/old_errors.adb: Removed, obsolete.
2012-06-28 Alexandre Oliva <aoliva@redhat.com>
PR debug/53671
......
-- { dg-options "-gnatws" }
procedure Deep_Old (X : Integer) is
begin
begin
if X = X'Old then
null;
end if;
end;
end Deep_Old;
-- { dg-do compile }
package body Old_Errors is
A : Integer;
function F
(X : Integer := A'Old) -- { dg-error "can only appear within subprogram" }
return Integer is
begin
return X;
end F;
procedure P (I : in Integer; O : out Integer; IO : in out Integer) is
Y : Integer := 0;
function G
(X : Integer := Y'Old) -- { dg-error "cannot refer to local variable" }
return Integer is
begin
return X;
end G;
function H (X : Integer := A'Old) return Integer is -- OK
begin
return X;
end H;
begin
Y := Y'Old; -- { dg-error "cannot refer to local variable" }
declare
Z : Integer := 0;
procedure Inner is
IL : Integer := 0;
begin
IL := IL'Old; -- { dg-error "cannot refer to local variable" }
Z := Z'Old; -- OK
end Inner;
begin
Y := Z'Old; -- { dg-error "cannot refer to local variable" }
end;
Y := I'Old; -- { dg-warning "Old applied to constant has no effect" }
Y := O'Old; -- OK
Y := IO'Old; -- OK
Y := G; -- OK, error has been signalled at G declaration
pragma Assert (G (3)'Old = Y); -- { dg-error "cannot refer to local variable" }
end P;
end Old_Errors;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment