CVS difference for acats/new/c650b04.a
--- acats/new/c650b04.a 2016/01/22 05:05:33 1.1
+++ acats/new/c650b04.a 2016/01/22 05:43:02 1.2
@@ -125,11 +125,12 @@
end if;
end Spin;
- N_Obj : Nest_Windmill := Create;
+ N_Obj : aliased Nest_Windmill := Create;
N_Class_Obj : F650B00_2.Windmill'Class := N_Obj;
- function Nest_Test_Function (N : in Natural)
+ function Nest_Test_Function (N : in Natural;
+ ACW : access Nest_Windmill'Class)
return Nest_Windmill'Class is
type Inner_Windmill is new Nest_Windmill with null record;
overriding
@@ -152,13 +153,13 @@
null; -- for Test_Function
end return;
when 2 =>
- return Obj : Nest_Windmill'Class := -- OK here, but P_E
- Nest_Test_Function (N-1) do -- for Test_Func
+ return Obj : Nest_Windmill'Class := -- OK here, but P_E for
+ Nest_Test_Function (N-1, ACW) do -- Test_Func
null;
end return;
when 3 =>
- return Nest_Test_Function (N-2); -- OK here, but P_E
- -- for Test_Function
+ return Nest_Test_Function (N-2, ACW); -- OK here, but P_E
+ -- for Test_Function
when 4 =>
return Obj : Nest_Windmill'Class := -- P_E here.
Nest_Windmill'Class(IW_Obj) do
@@ -166,6 +167,14 @@
end return;
when 5 =>
return Nest_Windmill'Class(IW_Obj); -- P_E here.
+ when 6 =>
+ return Obj : Nest_Windmill'Class := -- OK here, but P_E
+ ACW.all do -- for Test_Function.
+ null;
+ end return;
+ when 7 =>
+ return ACW.all; -- OK here, but P_E
+ -- for Test_Function.
when others =>
raise Constraint_Error with "Incorrect parameter";
end case;
@@ -223,13 +232,15 @@
end return;
when 9 =>
return P_List.all; -- OK.
- when 10..14 =>
+ when 10..16 =>
return Obj : F650B00_2.Windmill'Class :=
- F650B00_2.Windmill'Class(Nest_Test_Function(Subtest-9)) do
+ F650B00_2.Windmill'Class(
+ Nest_Test_Function(Subtest-9, N_Obj'Access)) do
null;
end return;
- when 15..19 =>
- return F650B00_2.Windmill'Class(Nest_Test_Function(Subtest-14));
+ when 17..23 =>
+ return F650B00_2.Windmill'Class(
+ Nest_Test_Function(Subtest-16, N_Obj'Access));
when others =>
raise Constraint_Error with "Incorrect parameter";
end case;
@@ -311,10 +322,18 @@
Check_Result (Base_RPM + 16, Fails => True, Subtest => 16);
Check_Result (Base_RPM + 17, Fails => True, Subtest => 17);
+
+ Check_Result (Base_RPM + 18, Fails => True, Subtest => 18);
+
+ Check_Result (Base_RPM + 19, Fails => True, Subtest => 19);
+
+ Check_Result (Base_RPM + 4, Fails => True, Subtest => 20);
+
+ Check_Result (Base_RPM + 5, Fails => True, Subtest => 21);
- Check_Result (Base_RPM + 4, Fails => True, Subtest => 18);
+ Check_Result (Base_RPM + 22, Fails => True, Subtest => 22);
- Check_Result (Base_RPM + 5, Fails => True, Subtest => 19);
+ Check_Result (Base_RPM + 23, Fails => True, Subtest => 23);
Report.Result;
end C650B04;
Questions? Ask the ACAA Technical Agent