Harden SLP reduction support wrt STMT_VINFO_REDUC_IDX
[official-gcc.git] / gcc / testsuite / ada / acats / support / impdefg.a
blob6afc7cd3ca7c9c44231e691d0db4dfcc90a97176
1 -- IMPDEFG.A
2 --
3 -- Grant of Unlimited Rights
4 --
5 -- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
6 -- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
7 -- unlimited rights in the software and documentation contained herein.
8 -- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
9 -- this public release, the Government intends to confer upon all
10 -- recipients unlimited rights equal to those held by the Government.
11 -- These rights include rights to use, duplicate, release or disclose the
12 -- released technical data and computer software in whole or in part, in
13 -- any manner and for any purpose whatsoever, and to have or permit others
14 -- to do so.
16 -- DISCLAIMER
18 -- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
19 -- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
20 -- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
21 -- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
22 -- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
23 -- PARTICULAR PURPOSE OF SAID MATERIAL.
24 --*
26 -- DESCRIPTION:
27 -- This package provides tailorable entities for a particular
28 -- implementation. Each entity may be modified to suit the needs
29 -- of the implementation. Default values are provided to act as
30 -- a guide.
32 -- The entities in this package are those which are used exclusively
33 -- in tests for Annex G (Numerics).
34 --
35 -- APPLICABILITY CRITERIA:
36 -- This package is only required for implementations validating the
37 -- Numerics Annex.
38 --
39 -- CHANGE HISTORY:
40 -- 29 Jan 96 SAIC Initial version for ACVC 2.1.
42 --!
44 package ImpDef.Annex_G is
46 --=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====--
48 -- This function must return a "negative zero" value for implementations
49 -- for which Float'Signed_Zeros is True.
51 function Negative_Zero return Float;
53 --=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====--
55 end ImpDef.Annex_G;
58 --==================================================================--
61 package body ImpDef.Annex_G is
63 -- NOTE: These are example bodies. It is expected that implementors
64 -- will write their own versions of these routines.
66 --=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====--
68 -- This function must return a negative zero value for implementations
69 -- for which Float'Signed_Zeros is True.
71 -- The default body simply returns a negated literal 0.0. If the
72 -- default body does not return the value corresponding to a negatively
73 -- signed zero for the implementation under test, it must be replaced
74 -- by one which does. See RM A.5.3(13).
76 function Negative_Zero return Float is
77 begin
78 return -0.0; -- Note: If this value is not negative zero for the
79 -- implementation, use of this "default" value
80 -- could result in false failures in
81 -- implementations where Float'Signed_Zeros
82 -- is True.
84 -- ^^^^^^^^^^^^^^^^^^^^ MODIFY THIS BODY AS NEEDED ^^^^^^^^^^^^^^^^^^^^
86 end Negative_Zero;
88 --=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====--
90 end ImpDef.Annex_G;