diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-10-22 09:28:24 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-10-22 09:28:24 +0000 |
commit | e8548746a5f859f185985d092e08839492f70f21 (patch) | |
tree | 7f0e836c6c46bdea870554de215d6ec19f206413 /gcc/ada/einfo.ads | |
parent | 701d57a469be1d9ec623d0896a939936df2a0593 (diff) | |
download | gcc-e8548746a5f859f185985d092e08839492f70f21.tar.gz |
2010-10-22 Geert Bosch <bosch@adacore.com>
* gcc-interface/Make-lang.in: Remove ttypef.ads
* checks.adb: Use Machine_Mantissa_Value and Machine_Radix_Value instead
of Machine_Mantissa and Machine_Radix.
* cstand.adb (P_Float_Range): Directly print the Type_Low_Bound and
Type_High_Bound of the type, instead of choosing constants from Ttypef.
(Set_Float_Bounds): Compute the bounds based on Machine_Radix_Value,
Machine_Emax_Value and Machine_Mantissa_Value instead of special-casing
each type.
* einfo.ads (Machine_Emax_Value, Machine_Emin_Value,
Machine_Mantissa_Value, Machine_Radix_Value, Model_Emin_Value,
Model_Epsilon_Value, Model_Mantissa_Value, Model_Small_Value,
Safe_Emax_Value, Safe_First_Value, Safe_Last_Value): Add new
synthesized floating point attributes.
* einfo.adb (Float_Rep): Determine the kind of floating point
representation used for a given type.
(Machine_Emax_Value, Machine_Emin_Value, Machine_Mantissa_Value,
Machine_Radix_Value): Implement based on Float_Rep_Kind of a type and
the number of digits in the type.
(Model_Emin_Value, Model_Epsilon_Value, Model_Mantissa_Value,
Model_Small_Value, Safe_Emax_Value, Safe_First_Value, Safe_Last_Value):
Implement new synthesized floating point attributes based on the various
machine attributes.
* eval_fat.ads: Remove Machine_Mantissa and Machine_Radix.
* eval_fat.adb (Machine_Mantissa, Machine_Radix): Remove. Use the
Machine_Mantissa_Value and Machine_Radix_Value functions instead.
* exp_vfpt.adb (VAXFF_Digits, VAXDF_Digits, VAXFG_Digits): Define local
constants, instead of using constants from Ttypef.
* gnat_rm.texi: Reword comments referencing Ttypef.
* sem_attr.ads: Reword comment referencing Ttypef.
* sem_attr.adb (Float_Attribute_Universal_Integer,
Float_Attribute_Universal_Real): Remove.
(Attribute_Machine_Emax, Attribute_Machine_Emin,
Attribute_Machine_Mantissa, Attribute_Model_Epsilon,
Attribute_Model_Mantissa, Attribute_Model_Small, Attribute_Safe_Emax,
Attribute_Safe_First, Attribute_Safe_Last, Model_Small_Value): Use
attributes in Einfo instead of Float_Attribute_Universal_Real and
Float_Attribute_Universal_Integer and all explicit constants.
* sem_util.ads, sem_util.adb (Real_Convert): Remove.
* sem_vfpt.adb (VAXDF_Digits, VAXFF_Digits, VAXGF_Digits, IEEEL_Digits,
IEEES_Digits): New local constants, in order to remove dependency on
Ttypef.
* tbuild.ads (Make_Float_Literal): New function.
* tbuild.adb (Make_Float_Literal): New function to create a new
N_Real_Literal, constructing it as simple as possible for best
output of constants in -gnatS.
* ttypef.ads: Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165808 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/einfo.ads')
-rw-r--r-- | gcc/ada/einfo.ads | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/ada/einfo.ads b/gcc/ada/einfo.ads index e45d3d7c2f6..f496a131a9c 100644 --- a/gcc/ada/einfo.ads +++ b/gcc/ada/einfo.ads @@ -5094,6 +5094,17 @@ package Einfo is -- E_Floating_Point_Type -- E_Floating_Point_Subtype -- Digits_Value (Uint17) + -- Machine_Emax_Value (synth) + -- Machine_Emin_Value (synth) + -- Machine_Mantissa_Value (synth) + -- Machine_Radix_Value (synth) + -- Model_Emin_Value (synth) + -- Model_Epsilon_Value (synth) + -- Model_Mantissa_Value (synth) + -- Model_Small_Value (synth) + -- Safe_Emax_Value (synth) + -- Safe_First_Value (synth) + -- Safe_Last_Value (synth) -- Scalar_Range (Node20) -- Type_Low_Bound (synth) -- Type_High_Bound (synth) @@ -6334,6 +6345,14 @@ package Einfo is function Is_Task_Record_Type (Id : E) return B; function Is_Wrapper_Package (Id : E) return B; function Last_Formal (Id : E) return E; + function Machine_Emax_Value (Id : E) return U; + function Machine_Emin_Value (Id : E) return U; + function Machine_Mantissa_Value (Id : E) return U; + function Machine_Radix_Value (Id : E) return U; + function Model_Emin_Value (Id : E) return U; + function Model_Epsilon_Value (Id : E) return R; + function Model_Mantissa_Value (Id : E) return U; + function Model_Small_Value (Id : E) return R; function Next_Component (Id : E) return E; function Next_Component_Or_Discriminant (Id : E) return E; function Next_Discriminant (Id : E) return E; @@ -6347,6 +6366,9 @@ package Einfo is function Parameter_Mode (Id : E) return Formal_Kind; function Primitive_Operations (Id : E) return L; function Root_Type (Id : E) return E; + function Safe_Emax_Value (Id : E) return U; + function Safe_First_Value (Id : E) return R; + function Safe_Last_Value (Id : E) return R; function Scope_Depth_Set (Id : E) return B; function Size_Clause (Id : E) return N; function Stream_Size_Clause (Id : E) return N; |