]>
Commit | Line | Data |
---|---|---|
70482933 RK |
1 | ------------------------------------------------------------------------------ |
2 | -- -- | |
3 | -- GNAT COMPILER COMPONENTS -- | |
4 | -- -- | |
5 | -- E X P _ V F P T -- | |
6 | -- -- | |
7 | -- S p e c -- | |
8 | -- -- | |
b5c84c3c | 9 | -- Copyright (C) 1992-2007, Free Software Foundation, Inc. -- |
70482933 RK |
10 | -- -- |
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- -- | |
b5c84c3c | 13 | -- ware Foundation; either version 3, or (at your option) any later ver- -- |
70482933 RK |
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 -- | |
b5c84c3c RD |
18 | -- Public License distributed with GNAT; see file COPYING3. If not, go to -- |
19 | -- http://www.gnu.org/licenses for a complete copy of the license. -- | |
70482933 RK |
20 | -- -- |
21 | -- GNAT was originally developed by the GNAT team at New York University. -- | |
71ff80dc | 22 | -- Extensive contributions were provided by Ada Core Technologies Inc. -- |
70482933 RK |
23 | -- -- |
24 | ------------------------------------------------------------------------------ | |
25 | ||
26 | -- This package contains specialized routines for handling the expansion | |
27 | -- of arithmetic and conversion operations involving Vax format floating- | |
0f716470 | 28 | -- point formats as used on the Vax and the Alpha and the ia64. |
70482933 RK |
29 | |
30 | with Types; use Types; | |
31 | ||
32 | package Exp_VFpt is | |
33 | ||
34 | procedure Expand_Vax_Arith (N : Node_Id); | |
35 | -- The node N is an arithmetic node (N_Op_Abs, N_Op_Add, N_Op_Sub, | |
0f716470 RD |
36 | -- N_Op_Div, N_Op_Mul, N_Op_Minus where the operands are in Vax float |
37 | -- format. This procedure expands the necessary call. | |
70482933 RK |
38 | |
39 | procedure Expand_Vax_Comparison (N : Node_Id); | |
0f716470 RD |
40 | -- The node N is an arithmetic comparison node where the types to be |
41 | -- compared are in Vax float format. This procedure expands the necessary | |
42 | -- call. | |
70482933 RK |
43 | |
44 | procedure Expand_Vax_Conversion (N : Node_Id); | |
0f716470 RD |
45 | -- The node N is a type conversion node where either the source or the |
46 | -- target type, or both, are Vax floating-point type. | |
70482933 RK |
47 | |
48 | procedure Expand_Vax_Real_Literal (N : Node_Id); | |
0f716470 RD |
49 | -- The node N is a real literal node where the type is a Vax floating-point |
50 | -- type. This procedure rewrites the node to eliminate the occurrence of | |
51 | -- such constants. | |
52 | ||
53 | procedure Expand_Vax_Valid (N : Node_Id); | |
54 | -- The node N is an attribute reference node for the Valid attribute where | |
55 | -- the prefix is of a Vax floating-point type. This procedure expands the | |
56 | -- necessary call for the validity test. | |
70482933 RK |
57 | |
58 | end Exp_VFpt; |