1 ------------------------------------------------------------------------------
3 -- GNAT COMPILER COMPONENTS --
9 -- Copyright (C) 1992-2005, Free Software Foundation, Inc. --
11 -- GNAT is free software; you can redistribute it and/or modify it under --
12 -- terms of the GNU General Public License as published by the Free Soft- --
13 -- ware Foundation; either version 2, or (at your option) any later ver- --
14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
15 -- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
16 -- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
17 -- for more details. You should have received a copy of the GNU General --
18 -- Public License distributed with GNAT; see file COPYING. If not, write --
19 -- to the Free Software Foundation, 51 Franklin Street, Fifth Floor, --
20 -- Boston, MA 02110-1301, USA. --
22 -- GNAT was originally developed by the GNAT team at New York University. --
23 -- Extensive contributions were provided by Ada Core Technologies Inc. --
25 ------------------------------------------------------------------------------
27 -- This package contains specialized routines for handling the expansion
28 -- of arithmetic and conversion operations involving Vax format floating-
29 -- point formats as used on the Vax and the Alpha and the ia64.
31 with Types
; use Types
;
35 procedure Expand_Vax_Arith
(N
: Node_Id
);
36 -- The node N is an arithmetic node (N_Op_Abs, N_Op_Add, N_Op_Sub,
37 -- N_Op_Div, N_Op_Mul, N_Op_Minus where the operands are in Vax float
38 -- format. This procedure expands the necessary call.
40 procedure Expand_Vax_Comparison
(N
: Node_Id
);
41 -- The node N is an arithmetic comparison node where the types to be
42 -- compared are in Vax float format. This procedure expands the necessary
45 procedure Expand_Vax_Conversion
(N
: Node_Id
);
46 -- The node N is a type conversion node where either the source or the
47 -- target type, or both, are Vax floating-point type.
49 procedure Expand_Vax_Real_Literal
(N
: Node_Id
);
50 -- The node N is a real literal node where the type is a Vax floating-point
51 -- type. This procedure rewrites the node to eliminate the occurrence of
54 procedure Expand_Vax_Valid
(N
: Node_Id
);
55 -- The node N is an attribute reference node for the Valid attribute where
56 -- the prefix is of a Vax floating-point type. This procedure expands the
57 -- necessary call for the validity test.