[Ada] Ada.Numerics.Aux.*: Mention more Intrinsic and less C Math Library

Message ID 20220518084301.GA3289604@adacore.com
State Committed
Commit bf7143f736d66051083a6f5d569dc85cfad7e7f6
Headers
Series [Ada] Ada.Numerics.Aux.*: Mention more Intrinsic and less C Math Library |

Commit Message

Pierre-Marie de Rodat May 18, 2022, 8:43 a.m. UTC
  Since we import the elemental math functions as intrinsics, it's not
accurate to state we're drawing them in from the C math library.

Tested on x86_64-pc-linux-gnu, committed on trunk

gcc/ada/

	* libgnat/a-nagefl.ads: Replace mentions of C/unix math library
	with intrinsics.
	* libgnat/a-nallfl.ads: Likewise.  State compatibility
	requirements.
	* libgnat/a-nalofl.ads: Likewise.
	* libgnat/a-nuaufl.ads: Likewise.
  

Patch

diff --git a/gcc/ada/libgnat/a-nagefl.ads b/gcc/ada/libgnat/a-nagefl.ads
--- a/gcc/ada/libgnat/a-nagefl.ads
+++ b/gcc/ada/libgnat/a-nagefl.ads
@@ -31,10 +31,10 @@ 
 ------------------------------------------------------------------------------
 
 --  This package provides the basic computational interface for the generic
---  elementary functions. The C library version interfaces with the routines
---  in the C mathematical library.
+--  elementary functions.
 
---  This version here is for use with normal Unix math functions.
+--  This version here delegates to interfaces that typically import as
+--  intrinsics the expected math functions.
 
 with Ada.Numerics.Aux_Long_Long_Float;
 with Ada.Numerics.Aux_Long_Float;


diff --git a/gcc/ada/libgnat/a-nallfl.ads b/gcc/ada/libgnat/a-nallfl.ads
--- a/gcc/ada/libgnat/a-nallfl.ads
+++ b/gcc/ada/libgnat/a-nallfl.ads
@@ -5,7 +5,7 @@ 
 --     A D A . N U M E R I C S . A U X . L O N G _ L O N G _ F L O A T      --
 --                                                                          --
 --                                 S p e c                                  --
---                  (C Math Library Version, Long Long Float)               --
+--                    (Instrinsic Version, Long Long Float)                 --
 --                                                                          --
 --          Copyright (C) 1992-2022, Free Software Foundation, Inc.         --
 --                                                                          --
@@ -30,9 +30,12 @@ 
 --                                                                          --
 ------------------------------------------------------------------------------
 
---  This package provides the basic computational interface for the generic
---  elementary functions. The C library version interfaces with the routines
---  in the C mathematical library, and is thus quite portable.
+--  This package provides the basic computational interface for the
+--  generic elementary functions. With the intrinsic version, the
+--  compiler can use its knowledge of the functions to select the most
+--  suitable implementation. It is thus quite portable. These
+--  interfaces are suitable for cases in which Long Long Float and C's
+--  long double share the same representation.
 
 with Ada.Numerics.Aux_Linker_Options;
 pragma Warnings (Off, Ada.Numerics.Aux_Linker_Options);
@@ -42,7 +45,7 @@  package Ada.Numerics.Aux_Long_Long_Float is
 
    subtype T is Long_Long_Float;
 
-   --  We import these functions directly from C. Note that we label them
+   --  We import these functions as intrinsics. Note that we label them
    --  all as pure functions, because indeed all of them are in fact pure.
 
    function Sin (X : T) return T with


diff --git a/gcc/ada/libgnat/a-nalofl.ads b/gcc/ada/libgnat/a-nalofl.ads
--- a/gcc/ada/libgnat/a-nalofl.ads
+++ b/gcc/ada/libgnat/a-nalofl.ads
@@ -5,7 +5,7 @@ 
 --          A D A . N U M E R I C S . A U X _ L O N G _ F L O A T           --
 --                                                                          --
 --                                 S p e c                                  --
---                     (C Math Library Version, Long Float)                 --
+--                       (Intrinsic Version, Long Float)                    --
 --                                                                          --
 --          Copyright (C) 1992-2022, Free Software Foundation, Inc.         --
 --                                                                          --
@@ -30,9 +30,12 @@ 
 --                                                                          --
 ------------------------------------------------------------------------------
 
---  This package provides the basic computational interface for the generic
---  elementary functions. The C library version interfaces with the routines
---  in the C mathematical library, and is thus quite portable.
+--  This package provides the basic computational interface for the
+--  generic elementary functions. With the intrinsic version, the
+--  compiler can use its knowledge of the functions to select the most
+--  suitable implementation. It is thus quite portable. These
+--  interfaces are suitable for cases in which Long Float and C's
+--  double share the same representation.
 
 with Ada.Numerics.Aux_Linker_Options;
 pragma Warnings (Off, Ada.Numerics.Aux_Linker_Options);
@@ -42,7 +45,7 @@  package Ada.Numerics.Aux_Long_Float is
 
    subtype T is Long_Float;
 
-   --  We import these functions directly from C. Note that we label them
+   --  We import these functions as intrinsics. Note that we label them
    --  all as pure functions, because indeed all of them are in fact pure.
 
    function Sin (X : T) return T with


diff --git a/gcc/ada/libgnat/a-nuaufl.ads b/gcc/ada/libgnat/a-nuaufl.ads
--- a/gcc/ada/libgnat/a-nuaufl.ads
+++ b/gcc/ada/libgnat/a-nuaufl.ads
@@ -5,7 +5,7 @@ 
 --               A D A . N U M E R I C S . A U X _ F L O A T                --
 --                                                                          --
 --                                 S p e c                                  --
---                      (C Math Library Version, Float)                     --
+--                        (Intrinsic Version, Float)                        --
 --                                                                          --
 --          Copyright (C) 1992-2022, Free Software Foundation, Inc.         --
 --                                                                          --
@@ -30,9 +30,12 @@ 
 --                                                                          --
 ------------------------------------------------------------------------------
 
---  This package provides the basic computational interface for the generic
---  elementary functions. The C library version interfaces with the routines
---  in the C mathematical library, and is thus quite portable.
+--  This package provides the basic computational interface for the
+--  generic elementary functions. With the intrinsic version, the
+--  compiler can use its knowledge of the functions to select the most
+--  suitable implementation. It is thus quite portable. These
+--  interfaces are suitable for cases in which Float and C's float
+--  share the same representation.
 
 with Ada.Numerics.Aux_Linker_Options;
 pragma Warnings (Off, Ada.Numerics.Aux_Linker_Options);
@@ -42,7 +45,7 @@  package Ada.Numerics.Aux_Float is
 
    subtype T is Float;
 
-   --  We import these functions directly from C. Note that we label them
+   --  We import these functions as intrinsics. Note that we label them
    --  all as pure functions, because indeed all of them are in fact pure.
 
    function Sin (X : T) return T with