[Ada] Remove support for -gnatP and pragma Polling
authorArnaud Charlet <charlet@adacore.com>
Thu, 25 Jun 2020 08:02:29 +0000 (04:02 -0400)
committerPierre-Marie de Rodat <derodat@adacore.com>
Fri, 16 Oct 2020 07:31:23 +0000 (03:31 -0400)
gcc/ada/

* Makefile.rtl, gnat1drv.adb, expander.adb
doc/gnat_rm/implementation_defined_pragmas.rst,
doc/gnat_ugn/building_executable_programs_with_gnat.rst,
doc/gnat_ugn/the_gnat_compilation_model.rst, exp_ch5.ads,
exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb,
exp_util.ads, libgnarl/s-osinte__aix.adb,
libgnarl/s-osinte__android.adb, libgnarl/s-osinte__darwin.adb,
libgnarl/s-osinte__gnu.adb, libgnarl/s-osinte__hpux-dce.adb,
libgnarl/s-osinte__lynxos178.adb, libgnarl/s-osinte__posix.adb,
libgnarl/s-osinte__qnx.adb, libgnarl/s-osinte__rtems.adb,
libgnarl/s-osinte__solaris.adb, libgnarl/s-osinte__vxworks.adb,
libgnarl/s-osinte__x32.adb, libgnarl/s-solita.adb,
libgnarl/s-taasde.adb, libgnarl/s-taprob.adb,
libgnarl/s-taprop__dummy.adb, libgnarl/s-taprop__hpux-dce.adb,
libgnarl/s-taprop__linux.adb, libgnarl/s-taprop__mingw.adb,
libgnarl/s-taprop__posix.adb, libgnarl/s-taprop__qnx.adb,
libgnarl/s-taprop__solaris.adb, libgnarl/s-taprop__vxworks.adb,
libgnarl/s-tarest.adb, libgnarl/s-tasini.adb,
libgnarl/s-taskin.adb, libgnarl/s-taspri__dummy.ads,
libgnarl/s-taspri__hpux-dce.ads, libgnarl/s-taspri__lynxos.ads,
libgnarl/s-taspri__mingw.ads,
libgnarl/s-taspri__posix-noaltstack.ads,
libgnarl/s-taspri__posix.ads, libgnarl/s-taspri__solaris.ads,
libgnarl/s-taspri__vxworks.ads, libgnarl/s-tassta.adb,
libgnarl/s-tasuti.adb, libgnarl/s-tposen.adb,
libgnat/a-except.adb, libgnat/a-except.ads,
libgnat/s-dwalin.adb, libgnat/s-dwalin.ads,
libgnat/s-mastop.ads, libgnat/s-soflin.adb,
libgnat/s-stalib.adb, libgnat/s-stalib.ads,
libgnat/s-stchop.adb, libgnat/s-stchop.ads,
libgnat/s-stchop__limit.ads, libgnat/s-traceb.ads,
libgnat/s-traent.adb, libgnat/s-traent.ads,
libgnat/s-trasym.adb, libgnat/s-trasym.ads,
libgnat/s-trasym__dwarf.adb, opt.adb, opt.ads, par-prag.adb,
sem_prag.adb, snames.ads-tmpl, switch-c.adb, targparm.adb,
targparm.ads, usage.adb: Remove support for -gnatP and pragma
Polling.
* gnat_ugn.texi: Regenerate.
* libgnat/a-excpol.adb, libgnat/a-excpol__abort.adb: Removed.

78 files changed:
gcc/ada/Makefile.rtl
gcc/ada/doc/gnat_rm/implementation_defined_pragmas.rst
gcc/ada/doc/gnat_ugn/building_executable_programs_with_gnat.rst
gcc/ada/doc/gnat_ugn/the_gnat_compilation_model.rst
gcc/ada/exp_ch5.adb
gcc/ada/exp_ch5.ads
gcc/ada/exp_ch6.adb
gcc/ada/exp_ch7.adb
gcc/ada/exp_util.adb
gcc/ada/exp_util.ads
gcc/ada/expander.adb
gcc/ada/gnat1drv.adb
gcc/ada/gnat_ugn.texi
gcc/ada/libgnarl/s-osinte__aix.adb
gcc/ada/libgnarl/s-osinte__android.adb
gcc/ada/libgnarl/s-osinte__darwin.adb
gcc/ada/libgnarl/s-osinte__gnu.adb
gcc/ada/libgnarl/s-osinte__hpux-dce.adb
gcc/ada/libgnarl/s-osinte__lynxos178.adb
gcc/ada/libgnarl/s-osinte__posix.adb
gcc/ada/libgnarl/s-osinte__qnx.adb
gcc/ada/libgnarl/s-osinte__rtems.adb
gcc/ada/libgnarl/s-osinte__solaris.adb
gcc/ada/libgnarl/s-osinte__vxworks.adb
gcc/ada/libgnarl/s-osinte__x32.adb
gcc/ada/libgnarl/s-solita.adb
gcc/ada/libgnarl/s-taasde.adb
gcc/ada/libgnarl/s-taprob.adb
gcc/ada/libgnarl/s-taprop__dummy.adb
gcc/ada/libgnarl/s-taprop__hpux-dce.adb
gcc/ada/libgnarl/s-taprop__linux.adb
gcc/ada/libgnarl/s-taprop__mingw.adb
gcc/ada/libgnarl/s-taprop__posix.adb
gcc/ada/libgnarl/s-taprop__qnx.adb
gcc/ada/libgnarl/s-taprop__solaris.adb
gcc/ada/libgnarl/s-taprop__vxworks.adb
gcc/ada/libgnarl/s-tarest.adb
gcc/ada/libgnarl/s-tasini.adb
gcc/ada/libgnarl/s-taskin.adb
gcc/ada/libgnarl/s-taspri__dummy.ads
gcc/ada/libgnarl/s-taspri__hpux-dce.ads
gcc/ada/libgnarl/s-taspri__lynxos.ads
gcc/ada/libgnarl/s-taspri__mingw.ads
gcc/ada/libgnarl/s-taspri__posix-noaltstack.ads
gcc/ada/libgnarl/s-taspri__posix.ads
gcc/ada/libgnarl/s-taspri__solaris.ads
gcc/ada/libgnarl/s-taspri__vxworks.ads
gcc/ada/libgnarl/s-tassta.adb
gcc/ada/libgnarl/s-tasuti.adb
gcc/ada/libgnarl/s-tposen.adb
gcc/ada/libgnat/a-except.adb
gcc/ada/libgnat/a-except.ads
gcc/ada/libgnat/a-excpol.adb [deleted file]
gcc/ada/libgnat/a-excpol__abort.adb [deleted file]
gcc/ada/libgnat/s-dwalin.adb
gcc/ada/libgnat/s-dwalin.ads
gcc/ada/libgnat/s-mastop.ads
gcc/ada/libgnat/s-soflin.adb
gcc/ada/libgnat/s-stalib.adb
gcc/ada/libgnat/s-stalib.ads
gcc/ada/libgnat/s-stchop.adb
gcc/ada/libgnat/s-stchop.ads
gcc/ada/libgnat/s-stchop__limit.ads
gcc/ada/libgnat/s-traceb.ads
gcc/ada/libgnat/s-traent.adb
gcc/ada/libgnat/s-traent.ads
gcc/ada/libgnat/s-trasym.adb
gcc/ada/libgnat/s-trasym.ads
gcc/ada/libgnat/s-trasym__dwarf.adb
gcc/ada/opt.adb
gcc/ada/opt.ads
gcc/ada/par-prag.adb
gcc/ada/sem_prag.adb
gcc/ada/snames.ads-tmpl
gcc/ada/switch-c.adb
gcc/ada/targparm.adb
gcc/ada/targparm.ads
gcc/ada/usage.adb

index 62fbd55d1566f2be59cf99b844f12423ee4d849c..cd38184210074ea53897732ac820cef0863f7bf1 100644 (file)
@@ -1812,7 +1812,6 @@ endif
 # HP/PA HP-UX 10
 ifeq ($(strip $(filter-out hppa% hp hpux10%,$(target_cpu) $(target_vendor) $(target_os))),)
   LIBGNAT_TARGET_PAIRS = \
-  a-excpol.adb<libgnat/a-excpol__abort.adb \
   a-intnam.ads<libgnarl/a-intnam__hpux.ads \
   s-inmaop.adb<libgnarl/s-inmaop__posix.adb \
   s-interr.adb<libgnarl/s-interr__sigaction.adb \
@@ -1992,7 +1991,6 @@ ifeq ($(strip $(filter-out cygwin% mingw32% pe,$(target_os))),)
   endif
   LIBGNAT_TARGET_PAIRS += \
   a-dirval.adb<libgnat/a-dirval__mingw.adb \
-  a-excpol.adb<libgnat/a-excpol__abort.adb \
   s-gloloc.adb<libgnat/s-gloloc__mingw.adb \
   s-inmaop.adb<libgnarl/s-inmaop__dummy.adb \
   s-taspri.ads<libgnarl/s-taspri__mingw.ads \
index 737bc60230aaf7f8d9cb259321a962035083430d..af313c1f0bb630f34af9d1e27383e431f1bc85be 100644 (file)
@@ -4525,48 +4525,6 @@ type is potentially persistent.
 If this pragma is used on a target where this feature is not supported,
 then the pragma will be ignored. See also ``pragma Linker_Section``.
 
-Pragma Polling
-==============
-
-Syntax:
-
-
-.. code-block:: ada
-
-  pragma Polling (ON | OFF);
-
-
-This pragma controls the generation of polling code.  This is normally off.
-If ``pragma Polling (ON)`` is used then periodic calls are generated to
-the routine ``Ada.Exceptions.Poll``.  This routine is a separate unit in the
-runtime library, and can be found in file :file:`a-excpol.adb`.
-
-Pragma ``Polling`` can appear as a configuration pragma (for example it
-can be placed in the :file:`gnat.adc` file) to enable polling globally, or it
-can be used in the statement or declaration sequence to control polling
-more locally.
-
-A call to the polling routine is generated at the start of every loop and
-at the start of every subprogram call.  This guarantees that the ``Poll``
-routine is called frequently, and places an upper bound (determined by
-the complexity of the code) on the period between two ``Poll`` calls.
-
-The primary purpose of the polling interface is to enable asynchronous
-aborts on targets that cannot otherwise support it (for example Windows
-NT), but it may be used for any other purpose requiring periodic polling.
-The standard version is null, and can be replaced by a user program.  This
-will require re-compilation of the ``Ada.Exceptions`` package that can
-be found in files :file:`a-except.ads` and :file:`a-except.adb`.
-
-A standard alternative unit (in file :file:`4wexcpol.adb` in the standard GNAT
-distribution) is used to enable the asynchronous abort capability on
-targets that do not normally support the capability.  The version of
-``Poll`` in this file makes a call to the appropriate runtime routine
-to test for an abort condition.
-
-Note that polling can also be enabled by use of the *-gnatP* switch.
-See the section on switches for gcc in the :title:`GNAT User's Guide`.
-
 Pragma Post
 ===========
 .. index:: Post
index 1d44d70e45ce56a462cf872507817e0471e6d832..972d512ed4430f980409c164126ec822d2317d3a 100644 (file)
@@ -2058,15 +2058,6 @@ Alphabetical List of All Switches
   Cancel effect of previous :switch:`-gnatp` switch.
 
 
-.. index:: -gnatP  (gcc)
-
-:switch:`-gnatP`
-  Enable polling. This is required on some systems (notably Windows NT) to
-  obtain asynchronous abort and asynchronous transfer of control capability.
-  See ``Pragma_Polling`` in the :title:`GNAT_Reference_Manual` for full
-  details.
-
-
 .. index:: -gnatq  (gcc)
 
 :switch:`-gnatq`
index b8729d08a06c642808447a6fd583c3bf74acbdc6..2f0e10c2d0af9330966551197967629326abdd3f 100644 (file)
@@ -1445,7 +1445,6 @@ recognized by GNAT::
      Overriding_Renamings
      Partition_Elaboration_Policy
      Persistent_BSS
-     Polling
      Prefix_Exception_Messages
      Priority_Specific_Dispatching
      Profile
index 309297b59098b9cadf453dbeb7a3593a555be801..9a319886500ec7febbaea3c5752d63092344d2a1 100644 (file)
@@ -3510,17 +3510,6 @@ package body Exp_Ch5 is
       Analyze (N);
    end Expand_Formal_Container_Element_Loop;
 
-   -----------------------------
-   -- Expand_N_Goto_Statement --
-   -----------------------------
-
-   --  Add poll before goto if polling active
-
-   procedure Expand_N_Goto_Statement (N : Node_Id) is
-   begin
-      Generate_Poll_Call (N);
-   end Expand_N_Goto_Statement;
-
    ---------------------------
    -- Expand_N_If_Statement --
    ---------------------------
@@ -4608,7 +4597,6 @@ package body Exp_Ch5 is
    --  4. Deal with while loops where Condition_Actions is set
    --  5. Deal with loops over predicated subtypes
    --  6. Deal with loops with iterators over arrays and containers
-   --  7. Insert polling call if required
 
    procedure Expand_N_Loop_Statement (N : Node_Id) is
       Loc    : constant Source_Ptr := Sloc (N);
@@ -4629,12 +4617,6 @@ package body Exp_Ch5 is
          Adjust_Condition (Condition (Scheme));
       end if;
 
-      --  Generate polling call
-
-      if Is_Non_Empty_List (Statements (N)) then
-         Generate_Poll_Call (First (Statements (N)));
-      end if;
-
       --  Nothing more to do for plain loop with no iteration scheme
 
       if No (Scheme) then
index f4cb8688482a46d29b31e9696fa5ce647097df0c..4f5e9951df9f6d27d77f467801db873dfa5a8d3b 100644 (file)
@@ -32,7 +32,6 @@ package Exp_Ch5 is
    procedure Expand_N_Block_Statement           (N : Node_Id);
    procedure Expand_N_Case_Statement            (N : Node_Id);
    procedure Expand_N_Exit_Statement            (N : Node_Id);
-   procedure Expand_N_Goto_Statement            (N : Node_Id);
    procedure Expand_N_If_Statement              (N : Node_Id);
    procedure Expand_N_Loop_Statement            (N : Node_Id);
 
index 1885e89e9633567a044c5d45f690ff3de482b013..c78ff0beb33ad95134e73763ac3bc6c92c175c0c 100644 (file)
@@ -6389,9 +6389,6 @@ package body Exp_Ch6 is
    -- Expand_N_Subprogram_Body --
    ------------------------------
 
-   --  Add poll call if ATC polling is enabled, unless the body will be inlined
-   --  by the back-end.
-
    --  Add dummy push/pop label nodes at start and end to clear any local
    --  exception indications if local-exception-to-goto optimization is active.
 
@@ -6601,25 +6598,6 @@ package body Exp_Ch6 is
          end;
       end if;
 
-      --  Need poll on entry to subprogram if polling enabled. We only do this
-      --  for non-empty subprograms, since it does not seem necessary to poll
-      --  for a dummy null subprogram.
-
-      if Is_Non_Empty_List (L) then
-
-         --  Do not add a polling call if the subprogram is to be inlined by
-         --  the back-end, to avoid repeated calls with multiple inlinings.
-
-         if Is_Inlined (Spec_Id)
-           and then Front_End_Inlining
-           and then Optimization_Level > 1
-         then
-            null;
-         else
-            Generate_Poll_Call (First (L));
-         end if;
-      end if;
-
       --  Initialize any scalar OUT args if Initialize/Normalize_Scalars
 
       if Init_Or_Norm_Scalars and then Is_Subprogram (Spec_Id) then
index 6e9266a2b562f35f6f7b3e99f5d6e1ae59151b61..0ff0a15a9dd24796afcca2b7f0013816e0011800 100644 (file)
@@ -4919,7 +4919,6 @@ package body Exp_Ch7 is
          Fin_Id    : Entity_Id;
          Mark      : Entity_Id := Empty;
          New_Decls : List_Id;
-         Old_Poll  : Boolean;
 
       begin
          --  If we are generating expanded code for debugging purposes, use the
@@ -4936,12 +4935,6 @@ package body Exp_Ch7 is
             Loc := No_Location;
          end if;
 
-         --  Set polling off. The finalization and cleanup code is executed
-         --  with aborts deferred.
-
-         Old_Poll := Polling_Required;
-         Polling_Required := False;
-
          --  A task activation call has already been built for a task
          --  allocation block.
 
@@ -5050,10 +5043,6 @@ package body Exp_Ch7 is
          if Present (Fin_Id) then
             Build_Finalizer_Call (N, Fin_Id);
          end if;
-
-         --  Restore saved polling mode
-
-         Polling_Required := Old_Poll;
       end;
    end Expand_Cleanup_Actions;
 
index b5edb2d5a5550de4330f9797a1b52da14e9248eb..8ef05d4d3722deef88dc1b93f52c49b9967b7376 100644 (file)
@@ -6198,26 +6198,6 @@ package body Exp_Util is
       return End_String;
    end Fully_Qualified_Name_String;
 
-   ------------------------
-   -- Generate_Poll_Call --
-   ------------------------
-
-   procedure Generate_Poll_Call (N : Node_Id) is
-   begin
-      --  No poll call if polling not active
-
-      if not Polling_Required then
-         return;
-
-      --  Otherwise generate require poll call
-
-      else
-         Insert_Before_And_Analyze (N,
-           Make_Procedure_Call_Statement (Sloc (N),
-             Name => New_Occurrence_Of (RTE (RE_Poll), Sloc (N))));
-      end if;
-   end Generate_Poll_Call;
-
    ---------------------------------
    -- Get_Current_Value_Condition --
    ---------------------------------
index 545e2dabf4e4a0e0b075e5e2a17f952b481ce705..bde640f5a4b14755dad086c18acdd6986aa99ba9 100644 (file)
@@ -687,10 +687,6 @@ package Exp_Util is
    --  of entity E, in all upper case, with an ASCII.NUL appended at the end
    --  of the name if Append_NUL is True.
 
-   procedure Generate_Poll_Call (N : Node_Id);
-   --  If polling is active, then a call to the Poll routine is built,
-   --  and then inserted before the given node N and analyzed.
-
    procedure Get_Current_Value_Condition
      (Var : Node_Id;
       Op  : out Node_Kind;
index b8e86b8b30e0d29652b725f02e83f024c5a8da6a..d6219f4a7010110591a2c7a532e773f063033c89 100644 (file)
@@ -273,9 +273,6 @@ package body Expander is
                when N_Generic_Instantiation =>
                   Expand_N_Generic_Instantiation (N);
 
-               when N_Goto_Statement =>
-                  Expand_N_Goto_Statement (N);
-
                when N_Handled_Sequence_Of_Statements =>
                   Expand_N_Handled_Sequence_Of_Statements (N);
 
index a9f48ce997e9f4db848b81c75e0074a9bf3046e7..26a65fa210d525821f792ea143b88e33bbf99f2b 100644 (file)
@@ -342,10 +342,6 @@ procedure Gnat1drv is
 
          Xref_Active := True;
 
-         --  Polling mode forced off, since it generates confusing junk
-
-         Polling_Required := False;
-
          --  Set operating mode to Generate_Code to benefit from full front-end
          --  expansion (e.g. generics).
 
@@ -531,10 +527,6 @@ procedure Gnat1drv is
 
          Xref_Active := True;
 
-         --  Polling mode forced off, since it generates confusing junk
-
-         Polling_Required := False;
-
          --  Set operating mode to Check_Semantics, but a light front-end
          --  expansion is still performed.
 
index ab4719298b1c2f9578be36147483d97567315687..c98fe761480ccb61b32a461b75ebd585d2d19561 100644 (file)
@@ -21,7 +21,7 @@
 
 @copying
 @quotation
-GNAT User's Guide for Native Platforms , Jul 01, 2020
+GNAT User's Guide for Native Platforms , Sep 29, 2020
 
 AdaCore
 
@@ -2850,7 +2850,6 @@ Overflow_Mode
 Overriding_Renamings
 Partition_Elaboration_Policy
 Persistent_BSS
-Polling
 Prefix_Exception_Messages
 Priority_Specific_Dispatching
 Profile
@@ -9721,19 +9720,6 @@ has no effect if cancelled by a subsequent @code{-gnat-p} switch.
 Cancel effect of previous @code{-gnatp} switch.
 @end table
 
-@geindex -gnatP (gcc)
-
-
-@table @asis
-
-@item @code{-gnatP}
-
-Enable polling. This is required on some systems (notably Windows NT) to
-obtain asynchronous abort and asynchronous transfer of control capability.
-See @code{Pragma_Polling} in the @cite{GNAT_Reference_Manual} for full
-details.
-@end table
-
 @geindex -gnatq (gcc)
 
 
index 2370383ec200c49eaf7d48ee662502701822183e..91c449401b9626df4801317115047d00bcb68d5c 100644 (file)
 
 --  This is a AIX (Native) version of this package
 
-pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during tasking
---  operations. It causes infinite loops and other problems.
-
 package body System.OS_Interface is
 
    use Interfaces.C;
index 00f0d48445c35115ffb2e0331918ccbc3ea4037a..5895940574e99b3fc780b2dbb30fd9938969f452 100644 (file)
 
 --  This is an Android version of this package.
 
-pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during
---  tasking operations. It causes infinite loops and other problems.
-
 --  This package encapsulates all direct interfaces to OS services
 --  that are needed by children of System.
 
index 877bcacd970f2e537a1d61d8d9a7173121b23b82..b57a31a8c9a3b38553558ddcfc6b76c281348f52 100644 (file)
 
 --  This is a Darwin Threads version of this package
 
-pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during
---  tasking operations. It causes infinite loops and other problems.
-
 with Interfaces.C.Extensions;
 
 package body System.OS_Interface is
index 8da6ce3f11e00021572fcbe6380301f12b859297..dc0f4ecdf885e90e5d210201bacbf07e51d12c90 100644 (file)
 
 --  This is the GNU/Hurd version of this package.
 
-pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during
---  tasking operations. It causes infinite loops and other problems.
-
 --  This package encapsulates all direct interfaces to OS services
 --  that are needed by children of System.
 
index 06ec5e67a1fc51e7c4c70b7a574cbfe6a54b70d7..bcfcf6160077dc4e977fc7eed9753d7992b12565 100644 (file)
 --  This is a DCE version of this package.
 --  Currently HP-UX and SNI use this file
 
-pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during
---  tasking operations. It causes infinite loops and other problems.
-
 --  This package encapsulates all direct interfaces to OS services
 --  that are needed by children of System.
 
index 08ed178412241caf5b6363b360546f2b1f1c37c6..79099d76a8dc164900a31db57ed1ac6b2601fb4a 100644 (file)
 
 --  Version of System.OS_Interface for LynxOS-178 (POSIX Threads)
 
-pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during tasking
---  operations. It may cause infinite loops and other problems.
-
 package body System.OS_Interface is
 
    ------------------
index 5ff7ae7a885cb93fa36fa5add880b747722029c4..48181627208312213c1dece24769253b1b7fa83b 100644 (file)
 
 --  This version is for POSIX-like operating systems
 
-pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during
---  tasking operations. It causes infinite loops and other problems.
-
 --  This package encapsulates all direct interfaces to OS services
 --  that are needed by children of System.
 
index b02bc8371ba5188e27b813f5a614680d8040179e..45b7ea796512a8cfbe4063e27144936746fbaa8f 100644 (file)
 
 --  This version is for QNX operating systems
 
-pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during
---  tasking operations. It causes infinite loops and other problems.
-
 --  This package encapsulates all direct interfaces to OS services
 --  that are needed by children of System.
 
index bfa5cc5d7eee5d9f1a2016540243e14a2d8aaec6..06cf1abe5d940354c54e0d50caa3f61c1a0ba89d 100644 (file)
 --  This package encapsulates all direct interfaces to OS services
 --  that are needed by children of System.
 
-pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during
---  tasking operations. It causes infinite loops and other problems.
-
 with Interfaces.C; use Interfaces.C;
+
 package body System.OS_Interface is
 
    -----------------
index e3bb41e2fdbe3917f75d70e041e6219f64b1065c..adfc3869cc1df589e952080a90e7756cf20f9889 100644 (file)
 --  This package encapsulates all direct interfaces to OS services
 --  that are needed by children of System.
 
-pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during
---  tasking operations. It causes infinite loops and other problems.
-
 with Interfaces.C; use Interfaces.C;
 
 package body System.OS_Interface is
index d9de57574278b678372aecbea8edec7504d560bd..e88a9af30ee64ea3c3a60703f44f509d13820cd3 100644 (file)
 --  This package encapsulates all direct interfaces to OS services that are
 --  needed by children of System.
 
-pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during tasking
---  operations. It causes infinite loops and other problems.
-
 package body System.OS_Interface is
 
    use type Interfaces.C.int;
index 80f78253a97ba6d89220346e7fb23ab2ebd447a6..8a7cb4ca8723f738c5596999afb7db276eb82888 100644 (file)
 
 --  This version is for Linux/x32
 
-pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during
---  tasking operations. It causes infinite loops and other problems.
-
 --  This package encapsulates all direct interfaces to OS services
 --  that are needed by children of System.
 
 with Interfaces.C; use Interfaces.C;
+
 package body System.OS_Interface is
 
    --------------------
index bdd5f9c0a7c6b21240af49850a3069dd5363ea71..ac3578146fad1e656655905e688811696093d0c7 100644 (file)
@@ -33,11 +33,6 @@ pragma Style_Checks (All_Checks);
 --  Turn off subprogram alpha ordering check, since we group soft link bodies
 --  and dummy soft link bodies together separately in this unit.
 
-pragma Polling (Off);
---  Turn polling off for this package. We don't need polling during any of the
---  routines in this package, and more to the point, if we try to poll it can
---  cause infinite loops.
-
 with Ada.Exceptions;
 with Ada.Exceptions.Is_Null_Occurrence;
 
index dc7dac16cca723218582be001760d8cf590a9c20..9c4340c62cf9916bc3f790da21b3c5c725b8481e 100644 (file)
 --                                                                          --
 ------------------------------------------------------------------------------
 
-pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during
---  tasking operations. It causes infinite loops and other problems.
-
 with Ada.Unchecked_Conversion;
 with Ada.Task_Identification;
 
index 3f8a4571298de4fe4d5a9356929fd8696ad637a7..6ce522a0321f712e0619d7ed585db4aa6cad4111 100644 (file)
 --                                                                          --
 ------------------------------------------------------------------------------
 
-pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during tasking
---  operations. It causes infinite loops and other problems.
-
 with System.Task_Primitives.Operations;
 with System.Soft_Links.Tasking;
 
index b6fa63bc5b8f3332e7c2aa96e7d69d3d507cddd1..7e9093a58fcd007ca29d6edb2515327879390010 100644 (file)
 --  This package contains all the GNULL primitives that interface directly with
 --  the underlying OS.
 
-pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during tasking
---  operations. It causes infinite loops and other problems.
-
 package body System.Task_Primitives.Operations is
 
    use System.Tasking;
index 99049f11b37a61b4f9cf946bc0168cc0ca3d5b4f..0e005118a4ede7d4ebd4b48a6f9a136130032cb8 100644 (file)
 --  This package contains all the GNULL primitives that interface directly with
 --  the underlying OS.
 
-pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during tasking
---  operations. It causes infinite loops and other problems.
-
 with Ada.Unchecked_Conversion;
 
 with Interfaces.C;
index fb11e0204a46726c30a512671bd2cd2193e7e44e..757a6cdfdadd6d25855b23f13392f05915620df3 100644 (file)
 --  This package contains all the GNULL primitives that interface directly with
 --  the underlying OS.
 
-pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during tasking
---  operations. It causes infinite loops and other problems.
-
 with Interfaces.C; use Interfaces; use type Interfaces.C.int;
 
 with System.Task_Info;
index 8fa5435a6003f2300b8227401dde227b0b4517ad..440523101a0e6e7308dc5395953383052cb21aab 100644 (file)
 --  This package contains all the GNULL primitives that interface directly with
 --  the underlying OS.
 
-pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during tasking
---  operations. It causes infinite loops and other problems.
-
 with Interfaces.C;
 with Interfaces.C.Strings;
 
index c983c77e37e45429b95056fcddacf9e34110cdb2..8ecb29338947d91031626748b6daeed7a7d39480 100644 (file)
 --  For configurations where SCHED_FIFO and priority ceiling are not a
 --  requirement, this file can also be used (e.g AiX threads)
 
-pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during tasking
---  operations. It causes infinite loops and other problems.
-
 with Ada.Unchecked_Conversion;
 
 with Interfaces.C;
index 52d353c5ca09fe019de11199af5816b092677481..e3ad521a441e664867b595166abc68958fb59ff0 100644 (file)
 --  For configurations where SCHED_FIFO and priority ceiling are not a
 --  requirement, this file can also be used (e.g AiX threads)
 
-pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during tasking
---  operations. It causes infinite loops and other problems.
-
 with Ada.Unchecked_Conversion;
 
 with Interfaces.C;
index 8b0183d7f7d3551774307af5a0951d6f37338555..3084842e91981f90d14328ac69036b2aeb0704cd 100644 (file)
 --  This package contains all the GNULL primitives that interface directly with
 --  the underlying OS.
 
-pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during tasking
---  operations. It causes infinite loops and other problems.
-
 with Interfaces.C;
 
 with System.Multiprocessors;
index 32c301dc8c0e6713cc9206edc46d3bd26a54194d..c9d019ef853a6094fabeee144dbfbbff9f3a6eb3 100644 (file)
 --  This package contains all the GNULL primitives that interface directly with
 --  the underlying OS.
 
-pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during tasking
---  operations. It causes infinite loops and other problems.
-
 with Ada.Unchecked_Conversion;
 
 with Interfaces.C;
index ddaa9839dbb0a0087fa9c0a00906bf8dd8b6e6f8..45551014bf833ab59f5a5825b865ab5d581fac17 100644 (file)
@@ -39,10 +39,6 @@ pragma Style_Checks (All_Checks);
 --  This package represents the high level tasking interface used by the
 --  compiler to expand Ada 95 tasking constructs into simpler run time calls.
 
-pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during
---  tasking operations. It causes infinite loops and other problems.
-
 with Ada.Exceptions;
 
 with System.Task_Primitives.Operations;
index cdcb0ba7534d24bd3dd2d7cde7c72e62cd2e8c41..2080ac28f93b817a939c15694a05966fe0f3459a 100644 (file)
@@ -33,11 +33,6 @@ pragma Style_Checks (All_Checks);
 --  Turn off subprogram alpha ordering check, since we group soft link bodies
 --  and dummy soft link bodies together separately in this unit.
 
-pragma Polling (Off);
---  Turn polling off for this package. We don't need polling during any of the
---  routines in this package, and more to the point, if we try to poll it can
---  cause infinite loops.
-
 with System.Task_Primitives;
 with System.Task_Primitives.Operations;
 with System.Soft_Links;
index 1c6ab4a2070fa22d5848a3ca8911853e5b29e814..16171c18f50d331d5e98e6649cf86d0df2135364 100644 (file)
 --                                                                          --
 ------------------------------------------------------------------------------
 
-pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during tasking
---  operations. It causes infinite loops and other problems.
-
 with System.Task_Primitives.Operations;
 with System.Storage_Elements;
 
index 6428ec93b8d04677c04f0e7f7130c8b3d2553971..7d87e22a44f9fab0619f82eee42e0cffd2e88fa4 100644 (file)
 
 --  This is a no tasking version of this package
 
-pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during tasking
---  operations. It causes infinite loops and other problems.
-
 package System.Task_Primitives is
    pragma Preelaborate;
 
index 65eda3c070e029de20ca372182c6a5f9a84606a5..e5bb2eb3c4eebad212266b4ba1d0a77abc392efd 100644 (file)
 
 --  This package provides low-level support for most tasking features
 
-pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during tasking
---  operations. It causes infinite loops and other problems.
-
 with System.OS_Interface;
 
 package System.Task_Primitives is
index 1e54e4cdb4227ce2e56e3d4760eea42384012f86..36bb3a5f45a0758f373f5c19cc295fa0e5cd020e 100644 (file)
 
 --  This is LynxOS Family version of this package.
 
-pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during tasking
---  operations. It causes infinite loops and other problems.
-
 with System.OS_Interface;
 
 package System.Task_Primitives is
index ecf0958b9a74480e8474c87cf278be3af36d8b2f..8199a3628c9796192d436291e0c676996933cf9f 100644 (file)
 
 --  This is a NT (native) version of this package
 
-pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during tasking
---  operations. It causes infinite loops and other problems.
-
 with System.OS_Interface;
 with System.Win32;
 
index 30475c8ef668097c1aeeccace1964ccc9180531a..6b1934595bfbddfe1f22ba301675eb92b217e79c 100644 (file)
 
 --  Note: this file can only be used for POSIX compliant systems
 
-pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during tasking
---  operations. It causes infinite loops and other problems.
-
 with System.OS_Interface;
 
 package System.Task_Primitives is
index 89a35adefc895ae24653364b5355b689ce205d73..562175473b49fa091f8ac09210b1622961448441 100644 (file)
 
 --  Note: this file can only be used for POSIX compliant systems
 
-pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during tasking
---  operations. It causes infinite loops and other problems.
-
 with System.OS_Interface;
 
 package System.Task_Primitives is
index bc45168734438f6817716e75c8439d75d694d161..6e963d548c72257685f4d7252915da883ef11757 100644 (file)
 
 --  This package provides low-level support for most tasking features
 
-pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during tasking
---  operations. It causes infinite loops and other problems.
-
 with Ada.Unchecked_Conversion;
 
 with System.OS_Interface;
index 92cd88c1c54ee1c304bc3d77b8d9ca22288fa515..2c7aadd9cd6a137b21b20b21ec33d580f5fc00bb 100644 (file)
 
 --  This is a VxWorks version of this package
 
-pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during tasking
---  operations. It causes infinite loops and other problems.
-
 with System.OS_Interface;
 
 package System.Task_Primitives is
index c5940270f6b2bdd3e8d9140d79373d27a0746f76..aada734777176c8e3d93d4dd37e2722d40ebb37b 100644 (file)
 --                                                                          --
 ------------------------------------------------------------------------------
 
-pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during tasking
---  operations. It causes infinite loops and other problems.
-
 pragma Partition_Elaboration_Policy (Concurrent);
 --  This package only implements the concurrent elaboration policy. This pragma
 --  will enforce it (and detect conflicts with user specified policy).
index 90c5bd9935a87ac103b651158cf61c8dafefe6b9..6dbd1f0640452232b65371e3190da7ba7bcfb84a 100644 (file)
 
 --  These declarations are not part of the GNARLI
 
-pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during tasking
---  operations. It causes infinite loops and other problems.
-
 with System.Tasking.Debug;
 with System.Task_Primitives.Operations;
 with System.Tasking.Initialization;
index 3545435f738eea6f8762fab0304f5aa6f7e39aa9..eb01580c5f4fe0fda21819e273363d6861797937 100644 (file)
@@ -52,10 +52,6 @@ pragma Style_Checks (All_Checks);
 --  performed at compile time, and is relatively cheap (see PO_Do_Or_Queue,
 --  Service_Entry).
 
-pragma Polling (Off);
---  Turn off polling, we do not want polling to take place during tasking
---  operations. It can cause infinite loops and other problems.
-
 pragma Suppress (All_Checks);
 --  Why is this required ???
 
index 17f3db6e8bcf47be36dff265bd76a3830244b6e9..52e716f2412ed1fce35947f994e5def27c2ee826 100644 (file)
 pragma Style_Checks (All_Checks);
 --  No subprogram ordering check, due to logical grouping
 
-pragma Polling (Off);
---  We must turn polling off for this unit, because otherwise we get
---  elaboration circularities with System.Exception_Tables.
-
 with System;                  use System;
 with System.Exceptions;       use System.Exceptions;
 with System.Exceptions_Debug; use System.Exceptions_Debug;
@@ -668,21 +664,6 @@ package body Ada.Exceptions is
    Rmsg_36 : constant String := "stream operation not allowed"     & NUL;
    Rmsg_37 : constant String := "build-in-place mismatch"          & NUL;
 
-   -----------------------
-   -- Polling Interface --
-   -----------------------
-
-   type Unsigned is mod 2 ** 32;
-
-   Counter : Unsigned := 0;
-   pragma Warnings (Off, Counter);
-   --  This counter is provided for convenience. It can be used in Poll to
-   --  perform periodic but not systematic operations.
-
-   procedure Poll is separate;
-   --  The actual polling routine is separate, so that it can easily be
-   --  replaced with a target dependent version.
-
    --------------------------
    -- Code_Address_For_AAA --
    --------------------------
index 85bb5bd9e88fe024fc94dd4914fa0bc3fafd1286..22b7be94effff6b61d1c7c32f2d4a4289ff54186 100644 (file)
 --  This is the default version of this package. We also have cert and zfp
 --  versions.
 
-pragma Polling (Off);
---  We must turn polling off for this unit, because otherwise we get
---  elaboration circularities with ourself.
-
 with System;
 with System.Parameters;
 with System.Standard_Library;
@@ -240,31 +236,6 @@ private
    --  Determine whether the current exception (if it exists) is an instance of
    --  Standard'Abort_Signal.
 
-   -----------------------
-   -- Polling Interface --
-   -----------------------
-
-   --  The GNAT compiler has an option to generate polling calls to the Poll
-   --  routine in this package. Specifying the -gnatP option for a compilation
-   --  causes a call to Ada.Exceptions.Poll to be generated on every subprogram
-   --  entry and on every iteration of a loop, thus avoiding the possibility of
-   --  a case of unbounded time between calls.
-
-   --  This polling interface may be used for instrumentation or debugging
-   --  purposes (e.g. implementing watchpoints in software or in the debugger).
-
-   --  In the GNAT technology itself, this interface is used to implement
-   --  immediate asynchronous transfer of control and immediate abort on
-   --  targets which do not provide for one thread interrupting another.
-
-   --  Note: this used to be in a separate unit called System.Poll, but that
-   --  caused horrible circular elaboration problems between System.Poll and
-   --  Ada.Exceptions.
-
-   procedure Poll;
-   --  Check for asynchronous abort. Note that we do not inline the body.
-   --  This makes the interface more useful for debugging purposes.
-
    --------------------------
    -- Exception_Occurrence --
    --------------------------
diff --git a/gcc/ada/libgnat/a-excpol.adb b/gcc/ada/libgnat/a-excpol.adb
deleted file mode 100644 (file)
index 27893c3..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-------------------------------------------------------------------------------
---                                                                          --
---                 GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                 --
---                                                                          --
---                   A D A . E X C E P T I O N S . P O L L                  --
---                                                                          --
---                                  B o d y                                 --
---                 (dummy version where polling is not used)                --
---                                                                          --
---          Copyright (C) 1992-2020, Free Software Foundation, Inc.         --
---                                                                          --
--- GNARL is free software; you can  redistribute it  and/or modify it under --
--- terms of the  GNU General Public License as published  by the Free Soft- --
--- ware  Foundation;  either version 3,  or (at your option) any later ver- --
--- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
--- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
--- or FITNESS FOR A PARTICULAR PURPOSE.                                     --
---                                                                          --
--- As a special exception under Section 7 of GPL version 3, you are granted --
--- additional permissions described in the GCC Runtime Library Exception,   --
--- version 3.1, as published by the Free Software Foundation.               --
---                                                                          --
--- You should have received a copy of the GNU General Public License and    --
--- a copy of the GCC Runtime Library Exception along with this program;     --
--- see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    --
--- <http://www.gnu.org/licenses/>.                                          --
---                                                                          --
--- GNARL was developed by the GNARL team at Florida State University.       --
--- Extensive contributions were provided by Ada Core Technologies, Inc.     --
---                                                                          --
-------------------------------------------------------------------------------
-
-separate (Ada.Exceptions)
-
-----------
--- Poll --
-----------
-
-procedure Poll is
-begin
-   null;
-end Poll;
diff --git a/gcc/ada/libgnat/a-excpol__abort.adb b/gcc/ada/libgnat/a-excpol__abort.adb
deleted file mode 100644 (file)
index 511f58c..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-------------------------------------------------------------------------------
---                                                                          --
---                 GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                 --
---                                                                          --
---                   A D A . E X C E P T I O N S . P O L L                  --
---                (version supporting asynchronous abort test)              --
---                                                                          --
---                                  B o d y                                 --
---                                                                          --
---          Copyright (C) 1992-2020, Free Software Foundation, Inc.         --
---                                                                          --
--- GNARL is free software; you can  redistribute it  and/or modify it under --
--- terms of the  GNU General Public License as published  by the Free Soft- --
--- ware  Foundation;  either version 3,  or (at your option) any later ver- --
--- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
--- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
--- or FITNESS FOR A PARTICULAR PURPOSE.                                     --
---                                                                          --
--- As a special exception under Section 7 of GPL version 3, you are granted --
--- additional permissions described in the GCC Runtime Library Exception,   --
--- version 3.1, as published by the Free Software Foundation.               --
---                                                                          --
--- You should have received a copy of the GNU General Public License and    --
--- a copy of the GCC Runtime Library Exception along with this program;     --
--- see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    --
--- <http://www.gnu.org/licenses/>.                                          --
---                                                                          --
--- GNARL was developed by the GNARL team at Florida State University.       --
--- Extensive contributions were provided by Ada Core Technologies, Inc.     --
---                                                                          --
-------------------------------------------------------------------------------
-
---  This version is for targets that do not support per-thread asynchronous
---  signals. On such targets, we require compilation with the -gnatP switch
---  that activates periodic polling. Then in the body of the polling routine
---  we test for asynchronous abort.
-
---  Windows and HPUX 10 currently use this file
-
-pragma Warnings (Off);
---  Allow withing of non-Preelaborated units in Ada 2005 mode where this
---  package will be categorized as Preelaborate. See AI-362 for details.
---  It is safe in the context of the run-time to violate the rules.
-
-with System.Soft_Links;
-
-pragma Warnings (On);
-
-separate (Ada.Exceptions)
-
-----------
--- Poll --
-----------
-
-procedure Poll is
-begin
-   --  Test for asynchronous abort on each poll
-
-   if System.Soft_Links.Check_Abort_Status.all /= 0 then
-      raise Standard'Abort_Signal;
-   end if;
-end Poll;
index dbd4c5365af563ae6315481924424e017a8d1f09..abb499c35cbe0e56282ca7892b1dce7ed5876849 100644 (file)
 --                                                                          --
 ------------------------------------------------------------------------------
 
-pragma Polling (Off);
---  We must turn polling off for this unit, because otherwise we can get
---  elaboration circularities when polling is turned on
-
 with Ada.Characters.Handling;
 with Ada.Exceptions.Traceback; use Ada.Exceptions.Traceback;
 with Ada.Unchecked_Deallocation;
index 2753be3ec007f4ceebfe9073129e100de9f01063..072f089509e5e37974f16ac3759b76785317c3ab 100644 (file)
 --  size is a consideration it's possible to strip all other .debug sections,
 --  which will decrease the size of the object significantly.
 
-pragma Polling (Off);
---  We must turn polling off for this unit, because otherwise we can get
---  elaboration circularities when polling is turned on
-
 with Ada.Exceptions.Traceback;
 
 with System.Object_Reader;
index c2c23d345be2a7deaf407a41ed339e843d04aed6..ffe04be7df79976822e8ae83a25d5517a4ec5f80 100644 (file)
 
 pragma Compiler_Unit_Warning;
 
-pragma Polling (Off);
---  We must turn polling off for this unit, because otherwise we get
---  elaboration circularities with System.Exception_Tables.
-
 with System.Storage_Elements;
 
 package System.Machine_State_Operations is
index 7e1a557bdc70d7b2a76aeae2a7dbee87850d3082..48d133878f3c4dcbde3b5c237796450eda5c5eb0 100644 (file)
 
 pragma Compiler_Unit_Warning;
 
-pragma Polling (Off);
---  We must turn polling off for this unit, because otherwise we get an
---  infinite loop from the code within the Poll routine itself.
-
 pragma Warnings (Off);
 --  Disable warnings as System.Soft_Links.Initialize is not Preelaborate. It is
 --  safe to with this unit as its elaboration routine will only be initializing
index 61636d10a9ffd1be2cdec2662d8fe9504ee27d04..7c6001384be6a3783dda81f8c0f4279cd28fb154 100644 (file)
@@ -36,10 +36,6 @@ pragma Compiler_Unit_Warning;
 --  of System.Standard_Library, since this would cause order of elaboration
 --  problems (Elaborate_Body would have the same problem).
 
-pragma Polling (Off);
---  We must turn polling off for this unit, because otherwise we get
---  elaboration circularities with Ada.Exceptions if polling is on.
-
 pragma Warnings (Off);
 --  Kill warnings from unused withs. These unused with's are here to make
 --  sure the relevant units are loaded and properly elaborated.
index 5fbedae2e36ef690ad3294c188e48910e7f89a8a..b6258ed6ae1b536b68c063e7cc5092f704118d2b 100644 (file)
 
 pragma Compiler_Unit_Warning;
 
-pragma Polling (Off);
---  We must turn polling off for this unit, because otherwise we get
---  elaboration circularities with Ada.Exceptions if polling is on.
-
 with Ada.Unchecked_Conversion;
 
 package System.Standard_Library is
index c5c3d3555e761c977e4cef2a54c6ffd8c6b17ba9..340d27bc6312a7762adffb88936c89ab89fba4a2 100644 (file)
@@ -61,8 +61,6 @@ package body System.Stack_Checking.Operations is
    --  cache is pending, that write should be followed by a Poll to prevent
    --  losing signals.
    --
-   --  Note: This function must be compiled with Polling turned off
-   --
    --  Note: on systems with real thread-local storage, Set_Stack_Info should
    --  return an access value for such local storage. In those cases the cache
    --  will always be up-to-date.
index d057ddb587317806eadd8baaa386fa0d35daa191..185301c3d25f4b975018f5e879d4be551bf49b1b 100644 (file)
@@ -36,10 +36,6 @@ pragma Restrictions (No_Elaboration_Code);
 --  We want to guarantee the absence of elaboration code because the binder
 --  does not handle references to this package.
 
-pragma Polling (Off);
---  Turn off polling, we do not want polling to take place during stack
---  checking operations. It causes infinite loops and other problems.
-
 with System.Storage_Elements;
 
 package System.Stack_Checking.Operations is
index c90460673ba9151669076e5b78742ff09f3d8e3c..73306765e471cef8cec354af7c3a9ca0984bf31c 100644 (file)
@@ -37,10 +37,6 @@ pragma Restrictions (No_Elaboration_Code);
 --  We want to guarantee the absence of elaboration code because the binder
 --  does not handle references to this package.
 
-pragma Polling (Off);
---  Turn off polling, we do not want polling to take place during stack
---  checking operations. It causes infinite loops and other problems.
-
 package System.Stack_Checking.Operations is
    pragma Preelaborate;
 
index 1c3151cf8de62cea224e019b1507279ceefa7567..094218cd6cb6bb6886fbf1746a81b30225b67442 100644 (file)
 
 pragma Compiler_Unit_Warning;
 
-pragma Polling (Off);
---  We must turn polling off for this unit, because otherwise we get
---  elaboration circularities with System.Exception_Tables.
-
 with System.Traceback_Entries;
 
 package System.Traceback is
index 950b0e59e2c8d2b01d2334c2346aea9d735871a1..23d174faf3ff8b17583308d78832297c53abb0bb 100644 (file)
 --                                                                          --
 ------------------------------------------------------------------------------
 
-pragma Polling (Off);
---  We must turn polling off for this unit, because otherwise we get
---  elaboration circularities with Ada.Exceptions.
-
 pragma Compiler_Unit_Warning;
 
 package body System.Traceback_Entries is
index fa2db4e37cf89f6cb29f595e3082dfd264a6388b..83ef5691ddaf550f7dae88bcbb1fb6962a77149e 100644 (file)
 --  version of the package, an entry is a mere code location representing the
 --  address of a call instruction part of the call-chain.
 
-pragma Polling (Off);
---  We must turn polling off for this unit, because otherwise we get
---  elaboration circularities with Ada.Exceptions.
-
 pragma Compiler_Unit_Warning;
 
 package System.Traceback_Entries is
index 0d6639fef16200390f6ebfa1c0c91dc2e487027b..bfc3a98c962634dfd987e5216a497d4502ef26de 100644 (file)
 --  is not supported. It returns tracebacks as lists of hexadecimal addresses
 --  of the form "0x...".
 
-pragma Polling (Off);
---  We must turn polling off for this unit, because otherwise we can get
---  elaboration circularities when polling is turned on.
-
 with Ada.Exceptions.Traceback; use Ada.Exceptions.Traceback;
 with System.Address_Image;
 
index f0240cd18a2993701be614cc789949313f5904cd..e974ee9c76bf27e784c9434b7363728bfffa1bdf 100644 (file)
 --  executable. You should consider using gdb to obtain symbolic traceback in
 --  such cases.
 
-pragma Polling (Off);
---  We must turn polling off for this unit, because otherwise we can get
---  elaboration circularities when polling is turned on.
-
 with Ada.Exceptions;
 
 package System.Traceback.Symbolic is
index d8e3956be239f6703185b8237b598d119ec944c5..78cbcc202c7613b1aecef6f6f34d84035912bfb8 100644 (file)
 
 --  Run-time symbolic traceback support for targets using DWARF debug data
 
-pragma Polling (Off);
---  We must turn polling off for this unit, because otherwise we can get
---  elaboration circularities when polling is turned on.
-
 with Ada.Unchecked_Deallocation;
 
 with Ada.Exceptions.Traceback; use Ada.Exceptions.Traceback;
index 2d21b56570dfd5c44410c8464c47cc78ac9046ee..2bdccbde56b09fad99705cda0e3baee779e407e8 100644 (file)
@@ -98,7 +98,6 @@ package body Opt is
       No_Component_Reordering_Config        := No_Component_Reordering;
       Optimize_Alignment_Config             := Optimize_Alignment;
       Persistent_BSS_Mode_Config            := Persistent_BSS_Mode;
-      Polling_Required_Config               := Polling_Required;
       Prefix_Exception_Messages_Config      := Prefix_Exception_Messages;
       SPARK_Mode_Config                     := SPARK_Mode;
       SPARK_Mode_Pragma_Config              := SPARK_Mode_Pragma;
@@ -139,7 +138,6 @@ package body Opt is
       Optimize_Alignment             := Save.Optimize_Alignment;
       Optimize_Alignment_Local       := Save.Optimize_Alignment_Local;
       Persistent_BSS_Mode            := Save.Persistent_BSS_Mode;
-      Polling_Required               := Save.Polling_Required;
       Prefix_Exception_Messages      := Save.Prefix_Exception_Messages;
       SPARK_Mode                     := Save.SPARK_Mode;
       SPARK_Mode_Pragma              := Save.SPARK_Mode_Pragma;
@@ -183,7 +181,6 @@ package body Opt is
          Optimize_Alignment             => Optimize_Alignment,
          Optimize_Alignment_Local       => Optimize_Alignment_Local,
          Persistent_BSS_Mode            => Persistent_BSS_Mode,
-         Polling_Required               => Polling_Required,
          Prefix_Exception_Messages      => Prefix_Exception_Messages,
          SPARK_Mode                     => SPARK_Mode,
          SPARK_Mode_Pragma              => SPARK_Mode_Pragma,
@@ -302,7 +299,6 @@ package body Opt is
       Default_Pool                   := Default_Pool_Config;
       Exception_Locations_Suppressed := Exception_Locations_Suppressed_Config;
       Fast_Math                      := Fast_Math_Config;
-      Polling_Required               := Polling_Required_Config;
    end Set_Config_Switches;
 
 end Opt;
index 885a6fb9497d4773a7d5bf55004a1c2a5f764c35..88a1ef412ad070685b9eb17b88d7bd9f35f3d9f8 100644 (file)
@@ -1306,11 +1306,6 @@ package Opt is
    --  GNATBIND
    --  True if pessimistic elaboration order is to be chosen (-p switch set)
 
-   Polling_Required : Boolean := False;
-   --  GNAT
-   --  Set to True if polling for asynchronous abort is enabled by using
-   --  the -gnatP option for GNAT.
-
    Prefix_Exception_Messages : Boolean := False;
    --  GNAT
    --  Set True to prefix exception messages with entity-name:
@@ -2103,14 +2098,6 @@ package Opt is
    --  at the start of each compilation unit, except that it is always
    --  set False for predefined units.
 
-   Polling_Required_Config : Boolean;
-   --  GNAT
-   --  This is the value of the configuration switch that controls polling
-   --  mode. It can be set True by the command line switch -gnatP, and then
-   --  further modified by the use of pragma Polling in the gnat.adc file. This
-   --  flag is used to set the initial value for Polling_Required at the start
-   --  of analyzing each unit.
-
    Prefix_Exception_Messages_Config : Boolean;
    --  The setting of Prefix_Exception_Messages from configuration pragmas
 
@@ -2338,7 +2325,6 @@ private
       Optimize_Alignment             : Character;
       Optimize_Alignment_Local       : Boolean;
       Persistent_BSS_Mode            : Boolean;
-      Polling_Required               : Boolean;
       Prefix_Exception_Messages      : Boolean;
       SPARK_Mode                     : SPARK_Mode_Type;
       SPARK_Mode_Pragma              : Node_Id;
index 265f187206abb089c4660140411639de70e71767..120aab5d7da24fa58426762fb000044ac7b06507 100644 (file)
@@ -1449,7 +1449,6 @@ begin
          | Pragma_Partition_Elaboration_Policy
          | Pragma_Passive
          | Pragma_Persistent_BSS
-         | Pragma_Polling
          | Pragma_Post
          | Pragma_Post_Class
          | Pragma_Postcondition
index 7442da1c3f2bca64058f9c7e1e8249c462ef9a4d..52e0e8971e0a6915c7d86815b7b9a4e1f8145d62 100644 (file)
@@ -21054,19 +21054,6 @@ package body Sem_Prag is
             Map_Pragma_Name (From => Chars (New_Name), To => Chars (Old_Name));
          end Rename_Pragma;
 
-         -------------
-         -- Polling --
-         -------------
-
-         --  pragma Polling (ON | OFF);
-
-         when Pragma_Polling =>
-            GNAT_Pragma;
-            Check_Arg_Count (1);
-            Check_No_Identifiers;
-            Check_Arg_Is_One_Of (Arg1, Name_On, Name_Off);
-            Polling_Required := (Chars (Get_Pragma_Arg (Arg1)) = Name_On);
-
          -----------------------------------
          -- Post/Post_Class/Postcondition --
          -----------------------------------
@@ -30942,7 +30929,6 @@ package body Sem_Prag is
       Pragma_Partition_Elaboration_Policy   =>  0,
       Pragma_Passive                        =>  0,
       Pragma_Persistent_BSS                 =>  0,
-      Pragma_Polling                        =>  0,
       Pragma_Post                           => -1,
       Pragma_Postcondition                  => -1,
       Pragma_Post_Class                     => -1,
index b15d2208e6f4d148b76abfce7b49f3681e626cab..fa5134f972fd3f10e4466b65be540e2094ea6f3a 100644 (file)
@@ -453,7 +453,6 @@ package Snames is
    Name_Overriding_Renamings           : constant Name_Id := N + $; -- GNAT
    Name_Partition_Elaboration_Policy   : constant Name_Id := N + $; -- Ada 05
    Name_Persistent_BSS                 : constant Name_Id := N + $; -- GNAT
-   Name_Polling                        : constant Name_Id := N + $; -- GNAT
    Name_Prefix_Exception_Messages      : constant Name_Id := N + $; -- GNAT
    Name_Priority_Specific_Dispatching  : constant Name_Id := N + $; -- Ada 05
    Name_Profile                        : constant Name_Id := N + $; -- Ada 05
@@ -1942,7 +1941,6 @@ package Snames is
       Pragma_Overriding_Renamings,
       Pragma_Partition_Elaboration_Policy,
       Pragma_Persistent_BSS,
-      Pragma_Polling,
       Pragma_Prefix_Exception_Messages,
       Pragma_Priority_Specific_Dispatching,
       Pragma_Profile,
index c5f2e1cc9595fc6ca8daa5050f6619bece0fe1ce..1816808c0cb545d9f26328e12825b73f38fc9b2f 100644 (file)
@@ -723,6 +723,7 @@ package body Switch.C is
 
                   when 'P' =>
                      Treat_Categorization_Errors_As_Warnings := True;
+                     Ptr := Ptr + 1;
 
                   --  -gnates=file (specify extra file switches for gnat2why)
 
@@ -808,8 +809,8 @@ package body Switch.C is
                   --  -gnateu (unrecognized y,V,w switches)
 
                   when 'u' =>
-                     Ptr := Ptr + 1;
                      Ignore_Unrecognized_VWY_Switches := True;
+                     Ptr := Ptr + 1;
 
                   --  -gnateV (validity checks on parameters)
 
@@ -1154,12 +1155,6 @@ package body Switch.C is
                   Suppress_Options.Overflow_Mode_Assertions := Strict;
                end if;
 
-            --  -gnatP (periodic poll)
-
-            when 'P' =>
-               Ptr := Ptr + 1;
-               Polling_Required := True;
-
             --  -gnatq (don't quit)
 
             when 'q' =>
index 9e1571091bf5c325e2a5ded57a54a7a485990af1..0be05aec9c900f15f5efd2de83fbe4bc34d04034 100644 (file)
@@ -655,12 +655,6 @@ package body Targparm is
             Opt.Partition_Elaboration_Policy_Sloc := System_Location;
             goto Line_Loop_Continue;
 
-         --  Polling (On)
-
-         elsif Looking_At_Skip ("pragma Polling (On);") then
-            Opt.Polling_Required := True;
-            goto Line_Loop_Continue;
-
          --  Queuing Policy
 
          elsif Looking_At_Skip ("pragma Queuing_Policy (") then
index 7f98a1d97da54347296eef906dd0d0cd3c83d353..60b23679d566483fa88a6f7d98665a0a99385035 100644 (file)
@@ -101,9 +101,6 @@ package Targparm is
    --  policy name, and Opt.Task_Dispatching_Policy_Sloc is set to
    --  System_Location.
 
-   --  If a pragma Polling (On) appears, then the flag Opt.Polling_Required
-   --  is set to True.
-
    --  If a pragma Detect_Blocking appears, then the flag Opt.Detect_Blocking
    --  is set to True.
 
index 2afd3fc54eae35b8cdeda0d2dd5aecdca64911b6..f9864842d527cbe8cea0ee60d8e1577db2906e49 100644 (file)
@@ -378,11 +378,6 @@ begin
    Write_Switch_Char ("p");
    Write_Line ("Suppress all checks");
 
-   --  Line for -gnatP switch
-
-   Write_Switch_Char ("P");
-   Write_Line ("Generate periodic calls to System.Polling.Poll");
-
    --  Line for -gnatq switch
 
    Write_Switch_Char ("q");