system-linux-ia64.ads, [...] (Functions_Return_By_DSP_On_Target): Removed
authorRobert Dewar <dewar@adacore.com>
Fri, 6 Apr 2007 09:14:20 +0000 (11:14 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Fri, 6 Apr 2007 09:14:20 +0000 (11:14 +0200)
2007-04-06  Robert Dewar  <dewar@adacore.com>

* system-linux-ia64.ads, system-freebsd-x86.ads, system-lynxos-ppc.ads,
system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
system-vxworks-sparcv9.ads, system-solaris-x86.ads, system-irix-o32.ads,
system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
system-linux-x86.ads, system-vxworks-mips.ads, system-interix.ads,
system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
system-vxworks-alpha.ads, system-vms_64.ads, system-darwin-ppc.ads,
system-vxworks-x86.ads, system-linux-ppc.ads, system-linux-hppa.ads,
        system-hpux-ia64.ads, targparm.adb,
targparm.ads (Functions_Return_By_DSP_On_Target): Removed

* system.ads: Move Functions_Return_By_DSP to obsolete section,
kept for bootstrap purposes only.

From-SVN: r123539

31 files changed:
gcc/ada/system-darwin-ppc.ads
gcc/ada/system-freebsd-x86.ads
gcc/ada/system-hpux-ia64.ads
gcc/ada/system-hpux.ads
gcc/ada/system-interix.ads
gcc/ada/system-irix-n32.ads
gcc/ada/system-irix-o32.ads
gcc/ada/system-linux-hppa.ads
gcc/ada/system-linux-ia64.ads
gcc/ada/system-linux-ppc.ads
gcc/ada/system-linux-x86.ads
gcc/ada/system-linux-x86_64.ads
gcc/ada/system-lynxos-ppc.ads
gcc/ada/system-lynxos-x86.ads
gcc/ada/system-mingw.ads
gcc/ada/system-solaris-sparc.ads
gcc/ada/system-solaris-sparcv9.ads
gcc/ada/system-solaris-x86.ads
gcc/ada/system-tru64.ads
gcc/ada/system-vms-zcx.ads
gcc/ada/system-vms.ads
gcc/ada/system-vms_64.ads
gcc/ada/system-vxworks-alpha.ads
gcc/ada/system-vxworks-m68k.ads
gcc/ada/system-vxworks-mips.ads
gcc/ada/system-vxworks-ppc.ads
gcc/ada/system-vxworks-sparcv9.ads
gcc/ada/system-vxworks-x86.ads
gcc/ada/system.ads
gcc/ada/targparm.adb
gcc/ada/targparm.ads

index a6de518c8af3d9bac56f517ab6c48622d6a0065a..7c2151b275582aefc71d0b18ff496b617bbbedda 100644 (file)
@@ -153,7 +153,6 @@ private
    Exit_Status_Supported     : constant Boolean := True;
    Fractional_Fixed_Ops      : constant Boolean := False;
    Frontend_Layout           : constant Boolean := False;
-   Functions_Return_By_DSP   : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    OpenVMS                   : constant Boolean := False;
index a92458067e3fa7a87e952c11b32edd939263cc0e..a4c3137da551bcd071d9e283e6774340cd0be04a 100644 (file)
@@ -127,7 +127,6 @@ private
    Exit_Status_Supported     : constant Boolean := True;
    Fractional_Fixed_Ops      : constant Boolean := False;
    Frontend_Layout           : constant Boolean := False;
-   Functions_Return_By_DSP   : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    OpenVMS                   : constant Boolean := False;
index 5cdd0007248a90811e78a937e234d02915cc17c5..48d5c86ea15aec51041d7d5cbf8ed5c7e325dda0 100644 (file)
@@ -127,14 +127,13 @@ private
    Exit_Status_Supported     : constant Boolean := True;
    Fractional_Fixed_Ops      : constant Boolean := False;
    Frontend_Layout           : constant Boolean := False;
-   Functions_Return_By_DSP   : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    OpenVMS                   : constant Boolean := False;
    Preallocated_Stacks       : constant Boolean := False;
    Signed_Zeros              : constant Boolean := True;
    Stack_Check_Default       : constant Boolean := False;
-   Stack_Check_Probes        : constant Boolean := False;
+   Stack_Check_Probes        : constant Boolean := True;
    Support_64_Bit_Divides    : constant Boolean := True;
    Support_Aggregates        : constant Boolean := True;
    Support_Composite_Assign  : constant Boolean := True;
index 34688860acd35317597f7f322e11eef7af78dfb5..6a60624e9e95a0bb392039943b4159fa6c984423 100644 (file)
@@ -127,7 +127,6 @@ private
    Exit_Status_Supported     : constant Boolean := True;
    Fractional_Fixed_Ops      : constant Boolean := False;
    Frontend_Layout           : constant Boolean := False;
-   Functions_Return_By_DSP   : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    OpenVMS                   : constant Boolean := False;
index b60736b4bfaea903e6ee38fa36e981ea32d24f29..8e579ae390adbcc66b101d98ee1ec25ed04cdf65 100644 (file)
@@ -127,7 +127,6 @@ private
    Exit_Status_Supported     : constant Boolean := True;
    Fractional_Fixed_Ops      : constant Boolean := False;
    Frontend_Layout           : constant Boolean := False;
-   Functions_Return_By_DSP   : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    OpenVMS                   : constant Boolean := False;
index 77ab89a4c9028d69e565a667766a33a5d0f4f745..0a45ef45118816abac5b921b10c7ab6a2e8fd728 100644 (file)
@@ -139,7 +139,6 @@ private
    Exit_Status_Supported     : constant Boolean := True;
    Fractional_Fixed_Ops      : constant Boolean := False;
    Frontend_Layout           : constant Boolean := False;
-   Functions_Return_By_DSP   : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    OpenVMS                   : constant Boolean := False;
index 83db77d58f236820495ea0ba3cdbe32ee389c7f7..5f77622f3a639d3810eb5c245cfc192ce72b2d0d 100644 (file)
@@ -127,7 +127,6 @@ private
    Exit_Status_Supported     : constant Boolean := True;
    Fractional_Fixed_Ops      : constant Boolean := False;
    Frontend_Layout           : constant Boolean := False;
-   Functions_Return_By_DSP   : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    OpenVMS                   : constant Boolean := False;
index c22e532765f406359331dc78c379fe7c3d664440..21151cc373ee38d43f8d731ae11188a51238a1e1 100644 (file)
@@ -126,7 +126,6 @@ private
    Exit_Status_Supported     : constant Boolean := True;
    Fractional_Fixed_Ops      : constant Boolean := False;
    Frontend_Layout           : constant Boolean := False;
-   Functions_Return_By_DSP   : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    OpenVMS                   : constant Boolean := False;
index 105264eb6e2a401282133a6a42fe8f60f488f641..b306f54ef1810d6088f0f725ec21000b7ff7be54 100644 (file)
@@ -127,7 +127,6 @@ private
    Exit_Status_Supported     : constant Boolean := True;
    Fractional_Fixed_Ops      : constant Boolean := False;
    Frontend_Layout           : constant Boolean := False;
-   Functions_Return_By_DSP   : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    OpenVMS                   : constant Boolean := False;
index d33c33555b52ec5cbc2872a6e15549ea695c5bd1..d2c5e19d3995201bbb9a69b1cbe7a426bd60cd3e 100644 (file)
@@ -127,7 +127,6 @@ private
    Exit_Status_Supported     : constant Boolean := True;
    Fractional_Fixed_Ops      : constant Boolean := False;
    Frontend_Layout           : constant Boolean := False;
-   Functions_Return_By_DSP   : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    OpenVMS                   : constant Boolean := False;
index 62b5441140f69e4cc785b7d63781d919d3737aa2..4ed89de29cb31720969b9909ae3769878b784f5b 100644 (file)
@@ -127,7 +127,6 @@ private
    Exit_Status_Supported     : constant Boolean := True;
    Fractional_Fixed_Ops      : constant Boolean := False;
    Frontend_Layout           : constant Boolean := False;
-   Functions_Return_By_DSP   : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    OpenVMS                   : constant Boolean := False;
index c4916eeaf182674fed51992904bdadc159ce84b9..6da89d2b15b2cb6d93f80122a3e01de3d883feb2 100644 (file)
@@ -127,7 +127,6 @@ private
    Exit_Status_Supported     : constant Boolean := True;
    Fractional_Fixed_Ops      : constant Boolean := False;
    Frontend_Layout           : constant Boolean := False;
-   Functions_Return_By_DSP   : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    OpenVMS                   : constant Boolean := False;
index d380eb1568aa26c1212811752af91e3140010a66..34070ec91a72816c896c361b7fb95dc01b430114 100644 (file)
@@ -141,7 +141,6 @@ private
    Exit_Status_Supported     : constant Boolean := True;
    Fractional_Fixed_Ops      : constant Boolean := False;
    Frontend_Layout           : constant Boolean := False;
-   Functions_Return_By_DSP   : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    OpenVMS                   : constant Boolean := False;
index 659163e72b0304ba8d6b2af12e1c9062b509b686..6bd28caf5b604c3878d33d8a9ac6570ecb46d7d0 100644 (file)
@@ -141,7 +141,6 @@ private
    Exit_Status_Supported     : constant Boolean := True;
    Fractional_Fixed_Ops      : constant Boolean := False;
    Frontend_Layout           : constant Boolean := False;
-   Functions_Return_By_DSP   : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    OpenVMS                   : constant Boolean := False;
index fa3991968e29e71302d5e4c1c28a11c5b06a72ff..ee701df07d60266d222b98295b8c51af934aad3a 100644 (file)
@@ -127,7 +127,6 @@ private
    Exit_Status_Supported     : constant Boolean := True;
    Fractional_Fixed_Ops      : constant Boolean := False;
    Frontend_Layout           : constant Boolean := False;
-   Functions_Return_By_DSP   : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    OpenVMS                   : constant Boolean := False;
index d5d4516a52b0bbb3af45a55251d2f212b4016477..1058bb997ff6953356a6dfc7a311fb8711ea8915 100644 (file)
@@ -127,7 +127,6 @@ private
    Exit_Status_Supported     : constant Boolean := True;
    Fractional_Fixed_Ops      : constant Boolean := False;
    Frontend_Layout           : constant Boolean := False;
-   Functions_Return_By_DSP   : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    OpenVMS                   : constant Boolean := False;
index 60ec78255c0172f99580f020d6f0657ab193e770..75c1acccd3dcbd5061e6d42f5ee45a8e49d5a240 100644 (file)
@@ -127,7 +127,6 @@ private
    Exit_Status_Supported     : constant Boolean := True;
    Fractional_Fixed_Ops      : constant Boolean := False;
    Frontend_Layout           : constant Boolean := False;
-   Functions_Return_By_DSP   : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    OpenVMS                   : constant Boolean := False;
index d4c71283fc20abc7e5bde73baf8f71cfdb5cfcb6..3dd0f6de316d13009d793190cdc58ab0d4d8deef 100644 (file)
@@ -127,7 +127,6 @@ private
    Exit_Status_Supported     : constant Boolean := True;
    Fractional_Fixed_Ops      : constant Boolean := False;
    Frontend_Layout           : constant Boolean := False;
-   Functions_Return_By_DSP   : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    OpenVMS                   : constant Boolean := False;
index 4db734c076639dfd83303d06aee8c4cdd44bfa47..bbd2a96d622052c821e4e824af4742375c4b765e 100644 (file)
@@ -127,7 +127,6 @@ private
    Exit_Status_Supported     : constant Boolean := True;
    Fractional_Fixed_Ops      : constant Boolean := False;
    Frontend_Layout           : constant Boolean := False;
-   Functions_Return_By_DSP   : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    OpenVMS                   : constant Boolean := False;
index 8e1c1048d281b78e7ced7399470eebf754d64c0e..e7315207ec5d67f6821cff5cb23331c5308d729d 100644 (file)
@@ -127,7 +127,6 @@ private
    Exit_Status_Supported     : constant Boolean := True;
    Fractional_Fixed_Ops      : constant Boolean := False;
    Frontend_Layout           : constant Boolean := False;
-   Functions_Return_By_DSP   : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    OpenVMS                   : constant Boolean := True;
index e922b321342d6afdf04253e557b9c880c77717ac..72e02ce280b78c2b6d40b43100662edfb98dca11 100644 (file)
@@ -127,7 +127,6 @@ private
    Exit_Status_Supported     : constant Boolean := True;
    Fractional_Fixed_Ops      : constant Boolean := False;
    Frontend_Layout           : constant Boolean := False;
-   Functions_Return_By_DSP   : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    OpenVMS                   : constant Boolean := True;
index e91e84223f9de61db23fe464f2762056a220aca2..5ea93c75b79a14b484c847beb47aae8d88f5274e 100644 (file)
@@ -146,7 +146,6 @@ private
    Exit_Status_Supported     : constant Boolean := True;
    Fractional_Fixed_Ops      : constant Boolean := False;
    Frontend_Layout           : constant Boolean := False;
-   Functions_Return_By_DSP   : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    OpenVMS                   : constant Boolean := True;
index bd9a25f66f81b605ede61d6c4ba7156666700cf4..b555ce2d0a7da02273f21f52d13f417780878e18 100644 (file)
@@ -135,7 +135,6 @@ private
    Exit_Status_Supported     : constant Boolean := True;
    Fractional_Fixed_Ops      : constant Boolean := False;
    Frontend_Layout           : constant Boolean := False;
-   Functions_Return_By_DSP   : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    OpenVMS                   : constant Boolean := False;
index 4f906ceffb136563ee7582adf7eaf87d8ffcea57..bd864f33e62b349eca6f8625203a4d1c3ee3c99f 100644 (file)
@@ -135,7 +135,6 @@ private
    Exit_Status_Supported     : constant Boolean := True;
    Fractional_Fixed_Ops      : constant Boolean := False;
    Frontend_Layout           : constant Boolean := False;
-   Functions_Return_By_DSP   : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    OpenVMS                   : constant Boolean := False;
index 40fe69a63572b75ae6c02b85e7d48898970964be..059acd7a443647e46910e9daaa6f524ba1896ae8 100644 (file)
@@ -135,7 +135,6 @@ private
    Exit_Status_Supported     : constant Boolean := True;
    Fractional_Fixed_Ops      : constant Boolean := False;
    Frontend_Layout           : constant Boolean := False;
-   Functions_Return_By_DSP   : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    OpenVMS                   : constant Boolean := False;
index 73b81865dfe0c6d56ded7f97a1729424e0efb0e8..6b89e6ba7c9447c0c4f621f9efde82c8d0360d1b 100644 (file)
@@ -135,7 +135,6 @@ private
    Exit_Status_Supported     : constant Boolean := True;
    Fractional_Fixed_Ops      : constant Boolean := False;
    Frontend_Layout           : constant Boolean := False;
-   Functions_Return_By_DSP   : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    OpenVMS                   : constant Boolean := False;
index e099bbadb7bdca040a5b0cdeb319c155b2c31293..70207409afe2a13b5d8621a497460ab709d272d9 100644 (file)
@@ -137,7 +137,6 @@ private
    Exit_Status_Supported     : constant Boolean := True;
    Fractional_Fixed_Ops      : constant Boolean := False;
    Frontend_Layout           : constant Boolean := False;
-   Functions_Return_By_DSP   : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    OpenVMS                   : constant Boolean := False;
index 5915b81468f3e7096204188f2aeeee8645b9447e..511212fedf35a98bb1e2531872aa67788740c17c 100644 (file)
@@ -135,7 +135,6 @@ private
    Exit_Status_Supported     : constant Boolean := True;
    Fractional_Fixed_Ops      : constant Boolean := False;
    Frontend_Layout           : constant Boolean := False;
-   Functions_Return_By_DSP   : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    OpenVMS                   : constant Boolean := False;
index fb4e0da166f767d9ecddbbeb33d67fec837bcb30..0272a04622f7a89e70680d4ba983c731d1bb5776 100644 (file)
@@ -139,7 +139,6 @@ private
    Exit_Status_Supported     : constant Boolean := True;
    Fractional_Fixed_Ops      : constant Boolean := False;
    Frontend_Layout           : constant Boolean := False;
-   Functions_Return_By_DSP   : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    OpenVMS                   : constant Boolean := False;
@@ -162,5 +161,6 @@ private
 
    High_Integrity_Mode       : constant Boolean := False;
    Long_Shifts_Inlined       : constant Boolean := True;
+   Functions_Return_By_DSP   : constant Boolean := False;
 
 end System;
index 3aa3cc3207e9fa54dd341f263463039cda4e0e4d..6f3ffe364e89a1731c6c347d39b7a5346956eba9 100644 (file)
@@ -48,7 +48,6 @@ package body Targparm is
       CSV,  --   Compiler_System_Version
       D32,  --   Duration_32_Bits
       DEN,  --   Denorm
-      DSP,  --   Functions_Return_By_DSP
       EXS,  --   Exit_Status_Supported
       FEL,  --   Frontend_Layout
       FFO,  --   Fractional_Fixed_Ops
@@ -85,7 +84,6 @@ package body Targparm is
    CSV_Str : aliased constant Source_Buffer := "Compiler_System_Version";
    D32_Str : aliased constant Source_Buffer := "Duration_32_Bits";
    DEN_Str : aliased constant Source_Buffer := "Denorm";
-   DSP_Str : aliased constant Source_Buffer := "Functions_Return_By_DSP";
    EXS_Str : aliased constant Source_Buffer := "Exit_Status_Supported";
    FEL_Str : aliased constant Source_Buffer := "Frontend_Layout";
    FFO_Str : aliased constant Source_Buffer := "Fractional_Fixed_Ops";
@@ -119,7 +117,6 @@ package body Targparm is
       CSV_Str'Access,
       D32_Str'Access,
       DEN_Str'Access,
-      DSP_Str'Access,
       EXS_Str'Access,
       FEL_Str'Access,
       FFO_Str'Access,
@@ -556,7 +553,6 @@ package body Targparm is
                      when CSV => Compiler_System_Version             := Result;
                      when D32 => Duration_32_Bits_On_Target          := Result;
                      when DEN => Denorm_On_Target                    := Result;
-                     when DSP => Functions_Return_By_DSP_On_Target   := Result;
                      when EXS => Exit_Status_Supported_On_Target     := Result;
                      when FEL => Frontend_Layout_On_Target           := Result;
                      when FFO => Fractional_Fixed_Ops_On_Target      := Result;
index f7406e8c352d81937aa1c07979ed07b9b954a761..465e6b7e098d584f59ec7d48656250a84ed1ce99 100644 (file)
@@ -553,46 +553,6 @@ package Targparm is
    --  2 ** (-(T'Object_Size - 1)) and whose values have an absolute
    --  value less than 1.0.
 
-   --------------------------------------------------------------
-   -- Handling of Unconstrained Values Returned from Functions --
-   --------------------------------------------------------------
-
-   --  Functions that return variable length objects, notably unconstrained
-   --  arrays are a special case, because there is no simple obvious way of
-   --  implementing this feature. Furthermore, this capability is not present
-   --  in C++ or C, so typically the system ABI does not handle this case.
-
-   --  GNAT uses two different approaches
-
-   --    The Secondary Stack
-
-   --      The secondary stack is a special storage pool that is used for
-   --      this purpose. The called function places the result on the
-   --      secondary stack, and the caller uses or copies the value from
-   --      the secondary stack, and pops the secondary stack after the
-   --      value is consumed. The secondary stack is outside the system
-   --      ABI, and the important point is that although generally it is
-   --      handled in a stack like manner corresponding to the subprogram
-   --      call structure, a return from a function does NOT pop the stack.
-
-   --    DSP (Depressed Stack Pointer)
-
-   --      Some targets permit the implementation of a function call/return
-   --      protocol in which the function does not pop the main stack pointer
-   --      on return, but rather returns with the stack pointer depressed.
-   --      This is not generally permitted by any ABI, but for at least some
-   --      targets, the implementation of alloca provides a model for this
-   --      approach. If return-with-DSP is implemented, then functions that
-   --      return variable length objects do it by returning with the stack
-   --      pointer depressed, and the returned object is a pointer to the
-   --      area within the stack frame of the called procedure that contains
-   --      the returned value. The caller must then pop the main stack when
-   --      this value is consumed.
-
-   Functions_Return_By_DSP_On_Target : Boolean := False;
-   --  Set to True if target permits functions to return with using the
-   --  DSP (depressed stack pointer) approach.
-
    -----------------
    -- Data Layout --
    -----------------