[Ada] Define versions of dimension system for Float and Long_Float

Programming / Compilers / GCC - pmderodat [138bc75d-0d04-0410-961f-82ee72b054a4] - 21 August 2018 14:46 EDT

The dimension system in System.Dim.Mks is based on Long_Long_Float, which may not be convenient to people who want to use Float or Long_Float as basis. These new files provide units that define the dimension system based on Float in System.Dim.Float_Mks and on Long_Float in System.Dim.Long_Mks.

Child packages Other_Prefixes and Mks_IO are also defined appropriately, with new instantiations for the various sizes of floating-point types.

2018-08-21 Yannick Moy

gcc/ada/

- doc/gnat_ugn/gnat_and_program_execution.rst: Update documentation of dimensionality analysis.
- gnat_ugn.texi: Regenerate.
- Makefile.rtl, impunit.adb: Consider the new units.
- libgnat/s-dfmkio.ads, libgnat/s-dfmopr.ads, libgnat/s-diflmk.ads: New units based on Float.
- libgnat/s-dilomk.ads, libgnat/s-dlmkio.ads, libgnat/s-dlmopr.ads: New units based on Long_Float.
- libgnat/s-dmotpr.ads: Rename to libgnat/s-dgmgop.ads and turn into an instance of System.Dim.Generic_Mks.Generic_Other_Prefixes.
- libgnat/s-dimmks.ads: Rename to libgnat/s-digemk.ads and turn into an instance of System.Dim.Generic_Mks.

1ae20fc442f [Ada] Define versions of dimension system for Float and Long_Float
gcc/ada/ChangeLog | 16 +
gcc/ada/Makefile.rtl | 9 +-
.../doc/gnat_ugn/gnat_and_program_execution.rst | 31 +-
gcc/ada/gnat_ugn.texi | 42 ++-
gcc/ada/impunit.adb | 8 +
gcc/ada/libgnat/s-dfmkio.ads | 38 ++
gcc/ada/libgnat/s-dfmopr.ads | 35 ++
gcc/ada/libgnat/s-dgmgop.ads | 174 +++++++++
gcc/ada/libgnat/s-diflmk.ads | 34 ++
gcc/ada/libgnat/s-digemk.ads | 396 +++++++++++++++++++++
gcc/ada/libgnat/s-dilomk.ads | 34 ++
gcc/ada/libgnat/s-dimmks.ads | 363 +------------------
gcc/ada/libgnat/s-dlmkio.ads | 38 ++
gcc/ada/libgnat/s-dlmopr.ads | 35 ++
gcc/ada/libgnat/s-dmotpr.ads | 141 +-------
15 files changed, 866 insertions(+), 528 deletions(-)

Upstream: gcc.gnu.org


  • Share