URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [ada/] [acats/] [tests/] [ca/] [ca11d010.a] - Rev 720
Compare with Previous | Blame | View Log
-- CA11D010.A---- Grant of Unlimited Rights---- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained-- unlimited rights in the software and documentation contained herein.-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making-- this public release, the Government intends to confer upon all-- recipients unlimited rights equal to those held by the Government.-- These rights include rights to use, duplicate, release or disclose the-- released technical data and computer software in whole or in part, in-- any manner and for any purpose whatsoever, and to have or permit others-- to do so.---- DISCLAIMER---- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A-- PARTICULAR PURPOSE OF SAID MATERIAL.--*---- OBJECTIVE:-- See CA11D013.AM---- TEST DESCRIPTION:-- See CA11D013.AM---- TEST FILES:-- The following files comprise this test:---- FA11D00.A-- => CA11D010.A-- CA11D011.A-- CA11D012.A-- CA11D013.AM---- CHANGE HISTORY:-- 06 Dec 94 SAIC ACVC 2.0-- 26 Apr 96 SAIC ACVC 2.1: Modified prologue.----!-- Child package of FA11D00.package FA11D00.CA11D010 is -- Add_Subtract_Complexprocedure Add (Left, Right : in Complex_Type; -- Add two complexC : out Complex_Type); -- numbers.function Subtract (Left, Right : Complex_Type) -- Subtract tworeturn Complex_Type; -- complex numbers.end FA11D00.CA11D010; -- Add_Subtract_Complex--=======================================================================--with Report;package body FA11D00.CA11D010 is -- Add_Subtract_Complexprocedure Add (Left, Right : in Complex_Type;C : out Complex_Type) isbegin-- Zero is declared in parent package.if Left.Real < Zero.Real or else Right.Real < Zero.Realor else Left.Imag < Zero.Imag or else Right.Imag < Zero.Imag thenraise Add_Error; -- Reference to exception in parent package.Report.Failed ("Program control not transferred by raise in " &"procedure Add");elseC.Real := (Left.Real + Right.Real);C.Imag := (Left.Imag + Right.Imag);end if;exceptionwhen Add_Error =>TC_Handled_In_Child_Pkg_Proc := true;C := Check_Value; -- Reference to object in parent package.raise; -- Reraise the Add_Error exception in the subtest.Report.Failed ("Exception not reraised in handler");when others =>Report.Failed ("Unexpected exception raised in Add");end Add;-----------------------------------------------------------function Subtract (Left, Right : Complex_Type)return Complex_Type isbegin-- Zero is declared in parent package.if Left.Real < Zero.Real or Right.Real < Zero.Realor Left.Imag < Zero.Imag or Right.Imag < Zero.Imag thenraise Subtract_Error; -- Reference to exception in parent package.Report.Failed ("Program control not transferred by raise in " &"function Subtract");elsereturn ( Real => (Left.Real - Right.Real),Imag => (Left.Imag - Right.Imag) );end if;exceptionwhen Subtract_Error =>Report.Comment ("Exception is properly handled in Subtract");TC_Handled_In_Child_Pkg_Func := true;return Check_Value;when others =>Report.Failed ("Unexpected exception raised in Subtract");end Subtract;end FA11D00.CA11D010; -- Add_Subtract_Complex
