Index: c/src/ada-tests/support/float_io.ads
===================================================================
--- c/src/ada-tests/support/float_io.ads	(revision dc300dfc6776ab20b1ac708fec7e6cd02e1a097d)
+++ c/src/ada-tests/support/float_io.ads	(revision dc300dfc6776ab20b1ac708fec7e6cd02e1a097d)
@@ -0,0 +1,27 @@
+--
+--  Float_IO / Specification
+--
+--  Description:
+--
+--  This package instantiates the IO routines necessary to 
+--  perform IO on data of the type Float.
+--
+--  Dependencies: 
+--
+--  
+--
+--  COPYRIGHT (c) 1989-1997.
+--  On-Line Applications Research Corporation (OAR). 
+--  Copyright assigned to U.S. Government, 1994.
+--
+--  The license and distribution terms for this file may in
+--  the file LICENSE in this distribution or at
+--  http://www.OARcorp.com/rtems/license.html.
+--
+--  $Id$
+--
+
+with Text_IO;
+
+package Float_IO is new Text_IO.Float_IO( Float );
+
Index: c/src/ada-tests/support/fp.inc
===================================================================
--- c/src/ada-tests/support/fp.inc	(revision dc300dfc6776ab20b1ac708fec7e6cd02e1a097d)
+++ c/src/ada-tests/support/fp.inc	(revision dc300dfc6776ab20b1ac708fec7e6cd02e1a097d)
@@ -0,0 +1,154 @@
+--
+--  fp.inc
+--
+--  Macros to produce a large number of LOCAL floating point variables.  This
+--  preprocessing is necessary to insure that the variables are
+--  scoped properly and to avoid duplicating hundreds of lines
+--  of code.
+--
+--
+-- DEFICIENCIES:  
+--
+-- 1.  This currently does not address whether or not the CPU
+--     actually has hardware floating point.  It just does the work.
+--
+--  COPYRIGHT (c) 1989-1997.
+--  On-Line Applications Research Corporation (OAR). 
+--  Copyright assigned to U.S. Government, 1994.
+--
+--  The license and distribution terms for this file may in
+--  the file LICENSE in this distribution or at
+--  http://www.OARcorp.com/rtems/license.html.
+--
+--  $Id$
+
+--
+-- private definitions for macro use
+--
+
+-- macro usage EPSILON()
+define(`EPSILON',`0.0005')
+
+-- macro usage FP_CHECK_ONE( value, base, factor )
+define(`FP_CHECK_ONE',`
+  if ( $1 - ( $2 + $3 ) ) > EPSILON or else ( $1 - ( $2 + $3 ) ) < - EPSILON then
+     UNSIGNED32_IO.PUT( TASK_INDEX );
+     TEXT_IO.PUT( ": $1 wrong -- (" );
+     FLOAT_IO.PUT( $1 );
+     TEXT_IO.PUT( " not " );
+     FLOAT_IO.PUT( $2 + $3 );
+     TEXT_IO.PUT_LINE( ")" );
+  end if
+'
+)
+
+-- macro usage FP_DECLARE
+define(`FP_DECLARE', `
+  FP01 : FLOAT :=  1.0;
+  FP02 : FLOAT :=  2.0;
+  FP03 : FLOAT :=  3.0;
+  FP04 : FLOAT :=  4.0;
+  FP05 : FLOAT :=  5.0;
+  FP06 : FLOAT :=  6.0;
+  FP07 : FLOAT :=  7.0;
+  FP08 : FLOAT :=  8.0;
+  FP09 : FLOAT :=  9.0;
+  FP10 : FLOAT := 10.0;
+  FP11 : FLOAT := 11.0;
+  FP12 : FLOAT := 12.0;
+  FP13 : FLOAT := 13.0;
+  FP14 : FLOAT := 14.0;
+  FP15 : FLOAT := 15.0;
+  FP16 : FLOAT := 16.0;
+  FP17 : FLOAT := 17.0;
+  FP18 : FLOAT := 18.0;
+  FP19 : FLOAT := 19.0;
+  FP20 : FLOAT := 20.0;
+  FP21 : FLOAT := 21.0;
+  FP22 : FLOAT := 22.0;
+  FP23 : FLOAT := 23.0;
+  FP24 : FLOAT := 24.0;
+  FP25 : FLOAT := 25.0;
+  FP26 : FLOAT := 26.0;
+  FP27 : FLOAT := 27.0;
+  FP28 : FLOAT := 28.0;
+  FP29 : FLOAT := 29.0;
+  FP30 : FLOAT := 30.0;
+  FP31 : FLOAT := 31.0;
+  FP32 : FLOAT := 32.0
+'
+)
+
+
+-- macro usage FP_LOAD( factor )
+define(`FP_LOAD',`
+  FP01 := FP01 + $1;
+  FP02 := FP02 + $1;
+  FP03 := FP03 + $1;
+  FP04 := FP04 + $1;
+  FP05 := FP05 + $1;
+  FP06 := FP06 + $1;
+  FP07 := FP07 + $1;
+  FP08 := FP08 + $1;
+  FP09 := FP09 + $1;
+  FP10 := FP10 + $1;
+  FP11 := FP11 + $1;
+  FP12 := FP12 + $1;
+  FP13 := FP13 + $1;
+  FP14 := FP14 + $1;
+  FP15 := FP15 + $1;
+  FP16 := FP16 + $1;
+  FP17 := FP17 + $1;
+  FP18 := FP18 + $1;
+  FP19 := FP19 + $1;
+  FP20 := FP20 + $1;
+  FP21 := FP21 + $1;
+  FP22 := FP22 + $1;
+  FP23 := FP23 + $1;
+  FP24 := FP24 + $1;
+  FP25 := FP25 + $1;
+  FP26 := FP26 + $1;
+  FP27 := FP27 + $1;
+  FP28 := FP28 + $1;
+  FP29 := FP29 + $1;
+  FP30 := FP30 + $1;
+  FP31 := FP31 + $1;
+  FP32 := FP32 + $1
+')
+
+-- macro usage FP_CHECK( factor )
+define(`FP_CHECK',`
+  FP_CHECK_ONE( FP01,  1.0, $1 );
+  FP_CHECK_ONE( FP02,  2.0, $1 );
+  FP_CHECK_ONE( FP03,  3.0, $1 );
+  FP_CHECK_ONE( FP04,  4.0, $1 );
+  FP_CHECK_ONE( FP05,  5.0, $1 );
+  FP_CHECK_ONE( FP06,  6.0, $1 );
+  FP_CHECK_ONE( FP07,  7.0, $1 );
+  FP_CHECK_ONE( FP08,  8.0, $1 );
+  FP_CHECK_ONE( FP09,  9.0, $1 );
+  FP_CHECK_ONE( FP10, 10.0, $1 );
+  FP_CHECK_ONE( FP11, 11.0, $1 );
+  FP_CHECK_ONE( FP12, 12.0, $1 );
+  FP_CHECK_ONE( FP13, 13.0, $1 );
+  FP_CHECK_ONE( FP14, 14.0, $1 );
+  FP_CHECK_ONE( FP15, 15.0, $1 );
+  FP_CHECK_ONE( FP16, 16.0, $1 );
+  FP_CHECK_ONE( FP17, 17.0, $1 );
+  FP_CHECK_ONE( FP18, 18.0, $1 );
+  FP_CHECK_ONE( FP19, 19.0, $1 );
+  FP_CHECK_ONE( FP20, 20.0, $1 );
+  FP_CHECK_ONE( FP21, 21.0, $1 );
+  FP_CHECK_ONE( FP22, 22.0, $1 );
+  FP_CHECK_ONE( FP23, 23.0, $1 );
+  FP_CHECK_ONE( FP24, 24.0, $1 );
+  FP_CHECK_ONE( FP25, 25.0, $1 );
+  FP_CHECK_ONE( FP26, 26.0, $1 );
+  FP_CHECK_ONE( FP27, 27.0, $1 );
+  FP_CHECK_ONE( FP28, 28.0, $1 );
+  FP_CHECK_ONE( FP29, 29.0, $1 );
+  FP_CHECK_ONE( FP30, 30.0, $1 );
+  FP_CHECK_ONE( FP31, 31.0, $1 );
+  FP_CHECK_ONE( FP32, 32.0, $1 )
+'
+)
Index: c/src/ada-tests/support/integer.inc
===================================================================
--- c/src/ada-tests/support/integer.inc	(revision dc300dfc6776ab20b1ac708fec7e6cd02e1a097d)
+++ c/src/ada-tests/support/integer.inc	(revision dc300dfc6776ab20b1ac708fec7e6cd02e1a097d)
@@ -0,0 +1,145 @@
+--
+--  integer.inc
+--
+--  Macros to produce a large number of LOCAL integer variables.  This
+--  preprocessing is necessary to insure that the variables are
+--  scoped properly and to avoid duplicating hundreds of lines
+--  of code.
+--
+--  COPYRIGHT (c) 1989-1997.
+--  On-Line Applications Research Corporation (OAR). 
+--  Copyright assigned to U.S. Government, 1994.
+--
+--  The license and distribution terms for this file may in
+--  the file LICENSE in this distribution or at
+--  http://www.OARcorp.com/rtems/license.html.
+--
+--  $Id$
+
+--
+-- private definitions for macro use
+--
+
+-- macro usage INTEGER_CHECK_ONE( value, base, factor )
+define(`INTEGER_CHECK_ONE',`
+  if $1 /= ($2 + $3) then
+     UNSIGNED32_IO.PUT( TASK_INDEX );
+     TEXT_IO.PUT( ": $1 wrong -- (" );
+     UNSIGNED32_IO.PUT( $1, BASE => 16);
+     TEXT_IO.PUT( " not " );
+     UNSIGNED32_IO.PUT( $2, BASE => 16 );
+     TEXT_IO.PUT_LINE( ")" );
+  end if
+'
+)
+
+-- macro usage INTEGER_DECLARE
+define(`INTEGER_DECLARE', `
+  INT01 : RTEMS.UNSIGNED32 :=  1;
+  INT02 : RTEMS.UNSIGNED32 :=  2;
+  INT03 : RTEMS.UNSIGNED32 :=  3;
+  INT04 : RTEMS.UNSIGNED32 :=  4;
+  INT05 : RTEMS.UNSIGNED32 :=  5;
+  INT06 : RTEMS.UNSIGNED32 :=  6;
+  INT07 : RTEMS.UNSIGNED32 :=  7;
+  INT08 : RTEMS.UNSIGNED32 :=  8;
+  INT09 : RTEMS.UNSIGNED32 :=  9;
+  INT10 : RTEMS.UNSIGNED32 := 10;
+  INT11 : RTEMS.UNSIGNED32 := 11;
+  INT12 : RTEMS.UNSIGNED32 := 12;
+  INT13 : RTEMS.UNSIGNED32 := 13;
+  INT14 : RTEMS.UNSIGNED32 := 14;
+  INT15 : RTEMS.UNSIGNED32 := 15;
+  INT16 : RTEMS.UNSIGNED32 := 16;
+  INT17 : RTEMS.UNSIGNED32 := 17;
+  INT18 : RTEMS.UNSIGNED32 := 18;
+  INT19 : RTEMS.UNSIGNED32 := 19;
+  INT20 : RTEMS.UNSIGNED32 := 20;
+  INT21 : RTEMS.UNSIGNED32 := 21;
+  INT22 : RTEMS.UNSIGNED32 := 22;
+  INT23 : RTEMS.UNSIGNED32 := 23;
+  INT24 : RTEMS.UNSIGNED32 := 24;
+  INT25 : RTEMS.UNSIGNED32 := 25;
+  INT26 : RTEMS.UNSIGNED32 := 26;
+  INT27 : RTEMS.UNSIGNED32 := 27;
+  INT28 : RTEMS.UNSIGNED32 := 28;
+  INT29 : RTEMS.UNSIGNED32 := 29;
+  INT30 : RTEMS.UNSIGNED32 := 30;
+  INT31 : RTEMS.UNSIGNED32 := 31;
+  INT32 : RTEMS.UNSIGNED32 := 32
+'
+)
+
+
+-- macro usage INTEGER_LOAD( factor )
+define(`INTEGER_LOAD',`
+  INT01 := INT01 + $1;
+  INT02 := INT02 + $1;
+  INT03 := INT03 + $1;
+  INT04 := INT04 + $1;
+  INT05 := INT05 + $1;
+  INT06 := INT06 + $1;
+  INT07 := INT07 + $1;
+  INT08 := INT08 + $1;
+  INT09 := INT09 + $1;
+  INT10 := INT10 + $1;
+  INT11 := INT11 + $1;
+  INT12 := INT12 + $1;
+  INT13 := INT13 + $1;
+  INT14 := INT14 + $1;
+  INT15 := INT15 + $1;
+  INT16 := INT16 + $1;
+  INT17 := INT17 + $1;
+  INT18 := INT18 + $1;
+  INT19 := INT19 + $1;
+  INT20 := INT20 + $1;
+  INT21 := INT21 + $1;
+  INT22 := INT22 + $1;
+  INT23 := INT23 + $1;
+  INT24 := INT24 + $1;
+  INT25 := INT25 + $1;
+  INT26 := INT26 + $1;
+  INT27 := INT27 + $1;
+  INT28 := INT28 + $1;
+  INT29 := INT29 + $1;
+  INT30 := INT30 + $1;
+  INT31 := INT31 + $1;
+  INT32 := INT32 + $1
+')
+
+-- macro usage INTEGER_CHECK( factor )
+define(`INTEGER_CHECK',`
+  INTEGER_CHECK_ONE( INT01,  1, $1 );
+  INTEGER_CHECK_ONE( INT02,  2, $1 );
+  INTEGER_CHECK_ONE( INT03,  3, $1 );
+  INTEGER_CHECK_ONE( INT04,  4, $1 );
+  INTEGER_CHECK_ONE( INT05,  5, $1 );
+  INTEGER_CHECK_ONE( INT06,  6, $1 );
+  INTEGER_CHECK_ONE( INT07,  7, $1 );
+  INTEGER_CHECK_ONE( INT08,  8, $1 );
+  INTEGER_CHECK_ONE( INT09,  9, $1 );
+  INTEGER_CHECK_ONE( INT10, 10, $1 );
+  INTEGER_CHECK_ONE( INT11, 11, $1 );
+  INTEGER_CHECK_ONE( INT12, 12, $1 );
+  INTEGER_CHECK_ONE( INT13, 13, $1 );
+  INTEGER_CHECK_ONE( INT14, 14, $1 );
+  INTEGER_CHECK_ONE( INT15, 15, $1 );
+  INTEGER_CHECK_ONE( INT16, 16, $1 );
+  INTEGER_CHECK_ONE( INT17, 17, $1 );
+  INTEGER_CHECK_ONE( INT18, 18, $1 );
+  INTEGER_CHECK_ONE( INT19, 19, $1 );
+  INTEGER_CHECK_ONE( INT20, 20, $1 );
+  INTEGER_CHECK_ONE( INT21, 21, $1 );
+  INTEGER_CHECK_ONE( INT22, 22, $1 );
+  INTEGER_CHECK_ONE( INT23, 23, $1 );
+  INTEGER_CHECK_ONE( INT24, 24, $1 );
+  INTEGER_CHECK_ONE( INT25, 25, $1 );
+  INTEGER_CHECK_ONE( INT26, 26, $1 );
+  INTEGER_CHECK_ONE( INT27, 27, $1 );
+  INTEGER_CHECK_ONE( INT28, 28, $1 );
+  INTEGER_CHECK_ONE( INT29, 29, $1 );
+  INTEGER_CHECK_ONE( INT30, 30, $1 );
+  INTEGER_CHECK_ONE( INT31, 31, $1 );
+  INTEGER_CHECK_ONE( INT32, 32, $1 )
+'
+)
