aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ada/Makefile.rtl2
-rw-r--r--gcc/ada/doc/gnat_rm/implementation_defined_pragmas.rst42
-rw-r--r--gcc/ada/doc/gnat_ugn/building_executable_programs_with_gnat.rst9
-rw-r--r--gcc/ada/doc/gnat_ugn/the_gnat_compilation_model.rst1
-rw-r--r--gcc/ada/exp_ch5.adb18
-rw-r--r--gcc/ada/exp_ch5.ads1
-rw-r--r--gcc/ada/exp_ch6.adb22
-rw-r--r--gcc/ada/exp_ch7.adb11
-rw-r--r--gcc/ada/exp_util.adb20
-rw-r--r--gcc/ada/exp_util.ads4
-rw-r--r--gcc/ada/expander.adb3
-rw-r--r--gcc/ada/gnat1drv.adb8
-rw-r--r--gcc/ada/gnat_ugn.texi16
-rw-r--r--gcc/ada/libgnarl/s-osinte__aix.adb4
-rw-r--r--gcc/ada/libgnarl/s-osinte__android.adb4
-rw-r--r--gcc/ada/libgnarl/s-osinte__darwin.adb4
-rw-r--r--gcc/ada/libgnarl/s-osinte__gnu.adb4
-rw-r--r--gcc/ada/libgnarl/s-osinte__hpux-dce.adb4
-rw-r--r--gcc/ada/libgnarl/s-osinte__lynxos178.adb4
-rw-r--r--gcc/ada/libgnarl/s-osinte__posix.adb4
-rw-r--r--gcc/ada/libgnarl/s-osinte__qnx.adb4
-rw-r--r--gcc/ada/libgnarl/s-osinte__rtems.adb5
-rw-r--r--gcc/ada/libgnarl/s-osinte__solaris.adb4
-rw-r--r--gcc/ada/libgnarl/s-osinte__vxworks.adb4
-rw-r--r--gcc/ada/libgnarl/s-osinte__x32.adb5
-rw-r--r--gcc/ada/libgnarl/s-solita.adb5
-rw-r--r--gcc/ada/libgnarl/s-taasde.adb4
-rw-r--r--gcc/ada/libgnarl/s-taprob.adb4
-rw-r--r--gcc/ada/libgnarl/s-taprop__dummy.adb4
-rw-r--r--gcc/ada/libgnarl/s-taprop__hpux-dce.adb4
-rw-r--r--gcc/ada/libgnarl/s-taprop__linux.adb4
-rw-r--r--gcc/ada/libgnarl/s-taprop__mingw.adb4
-rw-r--r--gcc/ada/libgnarl/s-taprop__posix.adb4
-rw-r--r--gcc/ada/libgnarl/s-taprop__qnx.adb4
-rw-r--r--gcc/ada/libgnarl/s-taprop__solaris.adb4
-rw-r--r--gcc/ada/libgnarl/s-taprop__vxworks.adb4
-rw-r--r--gcc/ada/libgnarl/s-tarest.adb4
-rw-r--r--gcc/ada/libgnarl/s-tasini.adb5
-rw-r--r--gcc/ada/libgnarl/s-taskin.adb4
-rw-r--r--gcc/ada/libgnarl/s-taspri__dummy.ads4
-rw-r--r--gcc/ada/libgnarl/s-taspri__hpux-dce.ads4
-rw-r--r--gcc/ada/libgnarl/s-taspri__lynxos.ads4
-rw-r--r--gcc/ada/libgnarl/s-taspri__mingw.ads4
-rw-r--r--gcc/ada/libgnarl/s-taspri__posix-noaltstack.ads4
-rw-r--r--gcc/ada/libgnarl/s-taspri__posix.ads4
-rw-r--r--gcc/ada/libgnarl/s-taspri__solaris.ads4
-rw-r--r--gcc/ada/libgnarl/s-taspri__vxworks.ads4
-rw-r--r--gcc/ada/libgnarl/s-tassta.adb4
-rw-r--r--gcc/ada/libgnarl/s-tasuti.adb4
-rw-r--r--gcc/ada/libgnarl/s-tposen.adb4
-rw-r--r--gcc/ada/libgnat/a-except.adb19
-rw-r--r--gcc/ada/libgnat/a-except.ads29
-rw-r--r--gcc/ada/libgnat/a-excpol.adb42
-rw-r--r--gcc/ada/libgnat/a-excpol__abort.adb62
-rw-r--r--gcc/ada/libgnat/s-dwalin.adb4
-rw-r--r--gcc/ada/libgnat/s-dwalin.ads4
-rw-r--r--gcc/ada/libgnat/s-mastop.ads4
-rw-r--r--gcc/ada/libgnat/s-soflin.adb4
-rw-r--r--gcc/ada/libgnat/s-stalib.adb4
-rw-r--r--gcc/ada/libgnat/s-stalib.ads4
-rw-r--r--gcc/ada/libgnat/s-stchop.adb2
-rw-r--r--gcc/ada/libgnat/s-stchop.ads4
-rw-r--r--gcc/ada/libgnat/s-stchop__limit.ads4
-rw-r--r--gcc/ada/libgnat/s-traceb.ads4
-rw-r--r--gcc/ada/libgnat/s-traent.adb4
-rw-r--r--gcc/ada/libgnat/s-traent.ads4
-rw-r--r--gcc/ada/libgnat/s-trasym.adb4
-rw-r--r--gcc/ada/libgnat/s-trasym.ads4
-rw-r--r--gcc/ada/libgnat/s-trasym__dwarf.adb4
-rw-r--r--gcc/ada/opt.adb4
-rw-r--r--gcc/ada/opt.ads14
-rw-r--r--gcc/ada/par-prag.adb1
-rw-r--r--gcc/ada/sem_prag.adb14
-rw-r--r--gcc/ada/snames.ads-tmpl2
-rw-r--r--gcc/ada/switch-c.adb9
-rw-r--r--gcc/ada/targparm.adb6
-rw-r--r--gcc/ada/targparm.ads3
-rw-r--r--gcc/ada/usage.adb5
78 files changed, 5 insertions, 572 deletions
diff --git a/gcc/ada/Makefile.rtl b/gcc/ada/Makefile.rtl
index 62fbd55..cd38184 100644
--- a/gcc/ada/Makefile.rtl
+++ b/gcc/ada/Makefile.rtl
@@ -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 \
diff --git a/gcc/ada/doc/gnat_rm/implementation_defined_pragmas.rst b/gcc/ada/doc/gnat_rm/implementation_defined_pragmas.rst
index 737bc60..af313c1 100644
--- a/gcc/ada/doc/gnat_rm/implementation_defined_pragmas.rst
+++ b/gcc/ada/doc/gnat_rm/implementation_defined_pragmas.rst
@@ -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
diff --git a/gcc/ada/doc/gnat_ugn/building_executable_programs_with_gnat.rst b/gcc/ada/doc/gnat_ugn/building_executable_programs_with_gnat.rst
index 1d44d70..972d512 100644
--- a/gcc/ada/doc/gnat_ugn/building_executable_programs_with_gnat.rst
+++ b/gcc/ada/doc/gnat_ugn/building_executable_programs_with_gnat.rst
@@ -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`
diff --git a/gcc/ada/doc/gnat_ugn/the_gnat_compilation_model.rst b/gcc/ada/doc/gnat_ugn/the_gnat_compilation_model.rst
index b8729d0..2f0e10c 100644
--- a/gcc/ada/doc/gnat_ugn/the_gnat_compilation_model.rst
+++ b/gcc/ada/doc/gnat_ugn/the_gnat_compilation_model.rst
@@ -1445,7 +1445,6 @@ recognized by GNAT::
Overriding_Renamings
Partition_Elaboration_Policy
Persistent_BSS
- Polling
Prefix_Exception_Messages
Priority_Specific_Dispatching
Profile
diff --git a/gcc/ada/exp_ch5.adb b/gcc/ada/exp_ch5.adb
index 309297b..9a31988 100644
--- a/gcc/ada/exp_ch5.adb
+++ b/gcc/ada/exp_ch5.adb
@@ -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
diff --git a/gcc/ada/exp_ch5.ads b/gcc/ada/exp_ch5.ads
index f4cb868..4f5e995 100644
--- a/gcc/ada/exp_ch5.ads
+++ b/gcc/ada/exp_ch5.ads
@@ -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);
diff --git a/gcc/ada/exp_ch6.adb b/gcc/ada/exp_ch6.adb
index 1885e89..c78ff0b 100644
--- a/gcc/ada/exp_ch6.adb
+++ b/gcc/ada/exp_ch6.adb
@@ -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
diff --git a/gcc/ada/exp_ch7.adb b/gcc/ada/exp_ch7.adb
index 6e9266a..0ff0a15 100644
--- a/gcc/ada/exp_ch7.adb
+++ b/gcc/ada/exp_ch7.adb
@@ -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;
diff --git a/gcc/ada/exp_util.adb b/gcc/ada/exp_util.adb
index b5edb2d..8ef05d4 100644
--- a/gcc/ada/exp_util.adb
+++ b/gcc/ada/exp_util.adb
@@ -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 --
---------------------------------
diff --git a/gcc/ada/exp_util.ads b/gcc/ada/exp_util.ads
index 545e2da..bde640f 100644
--- a/gcc/ada/exp_util.ads
+++ b/gcc/ada/exp_util.ads
@@ -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;
diff --git a/gcc/ada/expander.adb b/gcc/ada/expander.adb
index b8e86b8..d6219f4 100644
--- a/gcc/ada/expander.adb
+++ b/gcc/ada/expander.adb
@@ -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);
diff --git a/gcc/ada/gnat1drv.adb b/gcc/ada/gnat1drv.adb
index a9f48ce..26a65fa 100644
--- a/gcc/ada/gnat1drv.adb
+++ b/gcc/ada/gnat1drv.adb
@@ -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.
diff --git a/gcc/ada/gnat_ugn.texi b/gcc/ada/gnat_ugn.texi
index ab47192..c98fe76 100644
--- a/gcc/ada/gnat_ugn.texi
+++ b/gcc/ada/gnat_ugn.texi
@@ -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)
diff --git a/gcc/ada/libgnarl/s-osinte__aix.adb b/gcc/ada/libgnarl/s-osinte__aix.adb
index 2370383..91c4494 100644
--- a/gcc/ada/libgnarl/s-osinte__aix.adb
+++ b/gcc/ada/libgnarl/s-osinte__aix.adb
@@ -31,10 +31,6 @@
-- 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;
diff --git a/gcc/ada/libgnarl/s-osinte__android.adb b/gcc/ada/libgnarl/s-osinte__android.adb
index 00f0d48..5895940 100644
--- a/gcc/ada/libgnarl/s-osinte__android.adb
+++ b/gcc/ada/libgnarl/s-osinte__android.adb
@@ -31,10 +31,6 @@
-- 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.
diff --git a/gcc/ada/libgnarl/s-osinte__darwin.adb b/gcc/ada/libgnarl/s-osinte__darwin.adb
index 877bcac..b57a31a 100644
--- a/gcc/ada/libgnarl/s-osinte__darwin.adb
+++ b/gcc/ada/libgnarl/s-osinte__darwin.adb
@@ -31,10 +31,6 @@
-- 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
diff --git a/gcc/ada/libgnarl/s-osinte__gnu.adb b/gcc/ada/libgnarl/s-osinte__gnu.adb
index 8da6ce3..dc0f4ec 100644
--- a/gcc/ada/libgnarl/s-osinte__gnu.adb
+++ b/gcc/ada/libgnarl/s-osinte__gnu.adb
@@ -31,10 +31,6 @@
-- 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.
diff --git a/gcc/ada/libgnarl/s-osinte__hpux-dce.adb b/gcc/ada/libgnarl/s-osinte__hpux-dce.adb
index 06ec5e6..bcfcf61 100644
--- a/gcc/ada/libgnarl/s-osinte__hpux-dce.adb
+++ b/gcc/ada/libgnarl/s-osinte__hpux-dce.adb
@@ -33,10 +33,6 @@
-- 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.
diff --git a/gcc/ada/libgnarl/s-osinte__lynxos178.adb b/gcc/ada/libgnarl/s-osinte__lynxos178.adb
index 08ed178..79099d7 100644
--- a/gcc/ada/libgnarl/s-osinte__lynxos178.adb
+++ b/gcc/ada/libgnarl/s-osinte__lynxos178.adb
@@ -31,10 +31,6 @@
-- 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
------------------
diff --git a/gcc/ada/libgnarl/s-osinte__posix.adb b/gcc/ada/libgnarl/s-osinte__posix.adb
index 5ff7ae7..4818162 100644
--- a/gcc/ada/libgnarl/s-osinte__posix.adb
+++ b/gcc/ada/libgnarl/s-osinte__posix.adb
@@ -32,10 +32,6 @@
-- 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.
diff --git a/gcc/ada/libgnarl/s-osinte__qnx.adb b/gcc/ada/libgnarl/s-osinte__qnx.adb
index b02bc83..45b7ea7 100644
--- a/gcc/ada/libgnarl/s-osinte__qnx.adb
+++ b/gcc/ada/libgnarl/s-osinte__qnx.adb
@@ -32,10 +32,6 @@
-- 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.
diff --git a/gcc/ada/libgnarl/s-osinte__rtems.adb b/gcc/ada/libgnarl/s-osinte__rtems.adb
index bfa5cc5..06cf1ab 100644
--- a/gcc/ada/libgnarl/s-osinte__rtems.adb
+++ b/gcc/ada/libgnarl/s-osinte__rtems.adb
@@ -40,11 +40,8 @@
-- 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
-----------------
diff --git a/gcc/ada/libgnarl/s-osinte__solaris.adb b/gcc/ada/libgnarl/s-osinte__solaris.adb
index e3bb41e..adfc386 100644
--- a/gcc/ada/libgnarl/s-osinte__solaris.adb
+++ b/gcc/ada/libgnarl/s-osinte__solaris.adb
@@ -35,10 +35,6 @@
-- 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
diff --git a/gcc/ada/libgnarl/s-osinte__vxworks.adb b/gcc/ada/libgnarl/s-osinte__vxworks.adb
index d9de575..e88a9af 100644
--- a/gcc/ada/libgnarl/s-osinte__vxworks.adb
+++ b/gcc/ada/libgnarl/s-osinte__vxworks.adb
@@ -34,10 +34,6 @@
-- 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;
diff --git a/gcc/ada/libgnarl/s-osinte__x32.adb b/gcc/ada/libgnarl/s-osinte__x32.adb
index 80f7825..8a7cb4c 100644
--- a/gcc/ada/libgnarl/s-osinte__x32.adb
+++ b/gcc/ada/libgnarl/s-osinte__x32.adb
@@ -32,14 +32,11 @@
-- 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
--------------------
diff --git a/gcc/ada/libgnarl/s-solita.adb b/gcc/ada/libgnarl/s-solita.adb
index bdd5f9c..ac35781 100644
--- a/gcc/ada/libgnarl/s-solita.adb
+++ b/gcc/ada/libgnarl/s-solita.adb
@@ -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;
diff --git a/gcc/ada/libgnarl/s-taasde.adb b/gcc/ada/libgnarl/s-taasde.adb
index dc7dac1..9c4340c 100644
--- a/gcc/ada/libgnarl/s-taasde.adb
+++ b/gcc/ada/libgnarl/s-taasde.adb
@@ -29,10 +29,6 @@
-- --
------------------------------------------------------------------------------
-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;
diff --git a/gcc/ada/libgnarl/s-taprob.adb b/gcc/ada/libgnarl/s-taprob.adb
index 3f8a457..6ce522a 100644
--- a/gcc/ada/libgnarl/s-taprob.adb
+++ b/gcc/ada/libgnarl/s-taprob.adb
@@ -30,10 +30,6 @@
-- --
------------------------------------------------------------------------------
-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;
diff --git a/gcc/ada/libgnarl/s-taprop__dummy.adb b/gcc/ada/libgnarl/s-taprop__dummy.adb
index b6fa63b..7e9093a 100644
--- a/gcc/ada/libgnarl/s-taprop__dummy.adb
+++ b/gcc/ada/libgnarl/s-taprop__dummy.adb
@@ -34,10 +34,6 @@
-- 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;
diff --git a/gcc/ada/libgnarl/s-taprop__hpux-dce.adb b/gcc/ada/libgnarl/s-taprop__hpux-dce.adb
index 99049f1..0e00511 100644
--- a/gcc/ada/libgnarl/s-taprop__hpux-dce.adb
+++ b/gcc/ada/libgnarl/s-taprop__hpux-dce.adb
@@ -34,10 +34,6 @@
-- 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;
diff --git a/gcc/ada/libgnarl/s-taprop__linux.adb b/gcc/ada/libgnarl/s-taprop__linux.adb
index fb11e02..757a6cd 100644
--- a/gcc/ada/libgnarl/s-taprop__linux.adb
+++ b/gcc/ada/libgnarl/s-taprop__linux.adb
@@ -34,10 +34,6 @@
-- 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;
diff --git a/gcc/ada/libgnarl/s-taprop__mingw.adb b/gcc/ada/libgnarl/s-taprop__mingw.adb
index 8fa5435..4405231 100644
--- a/gcc/ada/libgnarl/s-taprop__mingw.adb
+++ b/gcc/ada/libgnarl/s-taprop__mingw.adb
@@ -34,10 +34,6 @@
-- 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;
diff --git a/gcc/ada/libgnarl/s-taprop__posix.adb b/gcc/ada/libgnarl/s-taprop__posix.adb
index c983c77..8ecb293 100644
--- a/gcc/ada/libgnarl/s-taprop__posix.adb
+++ b/gcc/ada/libgnarl/s-taprop__posix.adb
@@ -40,10 +40,6 @@
-- 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;
diff --git a/gcc/ada/libgnarl/s-taprop__qnx.adb b/gcc/ada/libgnarl/s-taprop__qnx.adb
index 52d353c..e3ad521 100644
--- a/gcc/ada/libgnarl/s-taprop__qnx.adb
+++ b/gcc/ada/libgnarl/s-taprop__qnx.adb
@@ -40,10 +40,6 @@
-- 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;
diff --git a/gcc/ada/libgnarl/s-taprop__solaris.adb b/gcc/ada/libgnarl/s-taprop__solaris.adb
index 8b0183d..3084842 100644
--- a/gcc/ada/libgnarl/s-taprop__solaris.adb
+++ b/gcc/ada/libgnarl/s-taprop__solaris.adb
@@ -34,10 +34,6 @@
-- 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;
diff --git a/gcc/ada/libgnarl/s-taprop__vxworks.adb b/gcc/ada/libgnarl/s-taprop__vxworks.adb
index 32c301d..c9d019e 100644
--- a/gcc/ada/libgnarl/s-taprop__vxworks.adb
+++ b/gcc/ada/libgnarl/s-taprop__vxworks.adb
@@ -34,10 +34,6 @@
-- 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;
diff --git a/gcc/ada/libgnarl/s-tarest.adb b/gcc/ada/libgnarl/s-tarest.adb
index ddaa983..4555101 100644
--- a/gcc/ada/libgnarl/s-tarest.adb
+++ b/gcc/ada/libgnarl/s-tarest.adb
@@ -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;
diff --git a/gcc/ada/libgnarl/s-tasini.adb b/gcc/ada/libgnarl/s-tasini.adb
index cdcb0ba..2080ac2 100644
--- a/gcc/ada/libgnarl/s-tasini.adb
+++ b/gcc/ada/libgnarl/s-tasini.adb
@@ -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;
diff --git a/gcc/ada/libgnarl/s-taskin.adb b/gcc/ada/libgnarl/s-taskin.adb
index 1c6ab4a..16171c1 100644
--- a/gcc/ada/libgnarl/s-taskin.adb
+++ b/gcc/ada/libgnarl/s-taskin.adb
@@ -29,10 +29,6 @@
-- --
------------------------------------------------------------------------------
-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;
diff --git a/gcc/ada/libgnarl/s-taspri__dummy.ads b/gcc/ada/libgnarl/s-taspri__dummy.ads
index 6428ec9..7d87e22 100644
--- a/gcc/ada/libgnarl/s-taspri__dummy.ads
+++ b/gcc/ada/libgnarl/s-taspri__dummy.ads
@@ -31,10 +31,6 @@
-- 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;
diff --git a/gcc/ada/libgnarl/s-taspri__hpux-dce.ads b/gcc/ada/libgnarl/s-taspri__hpux-dce.ads
index 65eda3c..e5bb2eb 100644
--- a/gcc/ada/libgnarl/s-taspri__hpux-dce.ads
+++ b/gcc/ada/libgnarl/s-taspri__hpux-dce.ads
@@ -33,10 +33,6 @@
-- 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
diff --git a/gcc/ada/libgnarl/s-taspri__lynxos.ads b/gcc/ada/libgnarl/s-taspri__lynxos.ads
index 1e54e4c..36bb3a5 100644
--- a/gcc/ada/libgnarl/s-taspri__lynxos.ads
+++ b/gcc/ada/libgnarl/s-taspri__lynxos.ads
@@ -32,10 +32,6 @@
-- 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
diff --git a/gcc/ada/libgnarl/s-taspri__mingw.ads b/gcc/ada/libgnarl/s-taspri__mingw.ads
index ecf0958..8199a36 100644
--- a/gcc/ada/libgnarl/s-taspri__mingw.ads
+++ b/gcc/ada/libgnarl/s-taspri__mingw.ads
@@ -31,10 +31,6 @@
-- 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;
diff --git a/gcc/ada/libgnarl/s-taspri__posix-noaltstack.ads b/gcc/ada/libgnarl/s-taspri__posix-noaltstack.ads
index 30475c8..6b19345 100644
--- a/gcc/ada/libgnarl/s-taspri__posix-noaltstack.ads
+++ b/gcc/ada/libgnarl/s-taspri__posix-noaltstack.ads
@@ -35,10 +35,6 @@
-- 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
diff --git a/gcc/ada/libgnarl/s-taspri__posix.ads b/gcc/ada/libgnarl/s-taspri__posix.ads
index 89a35ad..5621754 100644
--- a/gcc/ada/libgnarl/s-taspri__posix.ads
+++ b/gcc/ada/libgnarl/s-taspri__posix.ads
@@ -34,10 +34,6 @@
-- 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
diff --git a/gcc/ada/libgnarl/s-taspri__solaris.ads b/gcc/ada/libgnarl/s-taspri__solaris.ads
index bc45168..6e963d5 100644
--- a/gcc/ada/libgnarl/s-taspri__solaris.ads
+++ b/gcc/ada/libgnarl/s-taspri__solaris.ads
@@ -33,10 +33,6 @@
-- 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;
diff --git a/gcc/ada/libgnarl/s-taspri__vxworks.ads b/gcc/ada/libgnarl/s-taspri__vxworks.ads
index 92cd88c..2c7aadd 100644
--- a/gcc/ada/libgnarl/s-taspri__vxworks.ads
+++ b/gcc/ada/libgnarl/s-taspri__vxworks.ads
@@ -31,10 +31,6 @@
-- 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
diff --git a/gcc/ada/libgnarl/s-tassta.adb b/gcc/ada/libgnarl/s-tassta.adb
index c594027..aada734 100644
--- a/gcc/ada/libgnarl/s-tassta.adb
+++ b/gcc/ada/libgnarl/s-tassta.adb
@@ -29,10 +29,6 @@
-- --
------------------------------------------------------------------------------
-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).
diff --git a/gcc/ada/libgnarl/s-tasuti.adb b/gcc/ada/libgnarl/s-tasuti.adb
index 90c5bd9..6dbd1f06 100644
--- a/gcc/ada/libgnarl/s-tasuti.adb
+++ b/gcc/ada/libgnarl/s-tasuti.adb
@@ -33,10 +33,6 @@
-- 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;
diff --git a/gcc/ada/libgnarl/s-tposen.adb b/gcc/ada/libgnarl/s-tposen.adb
index 3545435..eb01580 100644
--- a/gcc/ada/libgnarl/s-tposen.adb
+++ b/gcc/ada/libgnarl/s-tposen.adb
@@ -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 ???
diff --git a/gcc/ada/libgnat/a-except.adb b/gcc/ada/libgnat/a-except.adb
index 17f3db6..52e716f 100644
--- a/gcc/ada/libgnat/a-except.adb
+++ b/gcc/ada/libgnat/a-except.adb
@@ -32,10 +32,6 @@
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 --
--------------------------
diff --git a/gcc/ada/libgnat/a-except.ads b/gcc/ada/libgnat/a-except.ads
index 85bb5bd..22b7be9 100644
--- a/gcc/ada/libgnat/a-except.ads
+++ b/gcc/ada/libgnat/a-except.ads
@@ -36,10 +36,6 @@
-- 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
index 27893c3..0000000
--- a/gcc/ada/libgnat/a-excpol.adb
+++ /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
index 511f58c..0000000
--- a/gcc/ada/libgnat/a-excpol__abort.adb
+++ /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;
diff --git a/gcc/ada/libgnat/s-dwalin.adb b/gcc/ada/libgnat/s-dwalin.adb
index dbd4c53..abb499c 100644
--- a/gcc/ada/libgnat/s-dwalin.adb
+++ b/gcc/ada/libgnat/s-dwalin.adb
@@ -29,10 +29,6 @@
-- --
------------------------------------------------------------------------------
-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;
diff --git a/gcc/ada/libgnat/s-dwalin.ads b/gcc/ada/libgnat/s-dwalin.ads
index 2753be3..072f089 100644
--- a/gcc/ada/libgnat/s-dwalin.ads
+++ b/gcc/ada/libgnat/s-dwalin.ads
@@ -38,10 +38,6 @@
-- 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;
diff --git a/gcc/ada/libgnat/s-mastop.ads b/gcc/ada/libgnat/s-mastop.ads
index c2c23d3..ffe04be 100644
--- a/gcc/ada/libgnat/s-mastop.ads
+++ b/gcc/ada/libgnat/s-mastop.ads
@@ -31,10 +31,6 @@
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
diff --git a/gcc/ada/libgnat/s-soflin.adb b/gcc/ada/libgnat/s-soflin.adb
index 7e1a557..48d1338 100644
--- a/gcc/ada/libgnat/s-soflin.adb
+++ b/gcc/ada/libgnat/s-soflin.adb
@@ -31,10 +31,6 @@
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
diff --git a/gcc/ada/libgnat/s-stalib.adb b/gcc/ada/libgnat/s-stalib.adb
index 61636d1..7c60013 100644
--- a/gcc/ada/libgnat/s-stalib.adb
+++ b/gcc/ada/libgnat/s-stalib.adb
@@ -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.
diff --git a/gcc/ada/libgnat/s-stalib.ads b/gcc/ada/libgnat/s-stalib.ads
index 5fbedae..b6258ed 100644
--- a/gcc/ada/libgnat/s-stalib.ads
+++ b/gcc/ada/libgnat/s-stalib.ads
@@ -46,10 +46,6 @@
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
diff --git a/gcc/ada/libgnat/s-stchop.adb b/gcc/ada/libgnat/s-stchop.adb
index c5c3d35..340d27b 100644
--- a/gcc/ada/libgnat/s-stchop.adb
+++ b/gcc/ada/libgnat/s-stchop.adb
@@ -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.
diff --git a/gcc/ada/libgnat/s-stchop.ads b/gcc/ada/libgnat/s-stchop.ads
index d057ddb..185301c 100644
--- a/gcc/ada/libgnat/s-stchop.ads
+++ b/gcc/ada/libgnat/s-stchop.ads
@@ -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
diff --git a/gcc/ada/libgnat/s-stchop__limit.ads b/gcc/ada/libgnat/s-stchop__limit.ads
index c904606..7330676 100644
--- a/gcc/ada/libgnat/s-stchop__limit.ads
+++ b/gcc/ada/libgnat/s-stchop__limit.ads
@@ -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;
diff --git a/gcc/ada/libgnat/s-traceb.ads b/gcc/ada/libgnat/s-traceb.ads
index 1c3151c..094218c 100644
--- a/gcc/ada/libgnat/s-traceb.ads
+++ b/gcc/ada/libgnat/s-traceb.ads
@@ -35,10 +35,6 @@
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
diff --git a/gcc/ada/libgnat/s-traent.adb b/gcc/ada/libgnat/s-traent.adb
index 950b0e5..23d174f 100644
--- a/gcc/ada/libgnat/s-traent.adb
+++ b/gcc/ada/libgnat/s-traent.adb
@@ -29,10 +29,6 @@
-- --
------------------------------------------------------------------------------
-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
diff --git a/gcc/ada/libgnat/s-traent.ads b/gcc/ada/libgnat/s-traent.ads
index fa2db4e..83ef569 100644
--- a/gcc/ada/libgnat/s-traent.ads
+++ b/gcc/ada/libgnat/s-traent.ads
@@ -38,10 +38,6 @@
-- 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
diff --git a/gcc/ada/libgnat/s-trasym.adb b/gcc/ada/libgnat/s-trasym.adb
index 0d6639f..bfc3a98 100644
--- a/gcc/ada/libgnat/s-trasym.adb
+++ b/gcc/ada/libgnat/s-trasym.adb
@@ -33,10 +33,6 @@
-- 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;
diff --git a/gcc/ada/libgnat/s-trasym.ads b/gcc/ada/libgnat/s-trasym.ads
index f0240cd..e974ee9 100644
--- a/gcc/ada/libgnat/s-trasym.ads
+++ b/gcc/ada/libgnat/s-trasym.ads
@@ -71,10 +71,6 @@
-- 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
diff --git a/gcc/ada/libgnat/s-trasym__dwarf.adb b/gcc/ada/libgnat/s-trasym__dwarf.adb
index d8e3956..78cbcc2 100644
--- a/gcc/ada/libgnat/s-trasym__dwarf.adb
+++ b/gcc/ada/libgnat/s-trasym__dwarf.adb
@@ -31,10 +31,6 @@
-- 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;
diff --git a/gcc/ada/opt.adb b/gcc/ada/opt.adb
index 2d21b56..2bdccbd 100644
--- a/gcc/ada/opt.adb
+++ b/gcc/ada/opt.adb
@@ -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;
diff --git a/gcc/ada/opt.ads b/gcc/ada/opt.ads
index 885a6fb..88a1ef4 100644
--- a/gcc/ada/opt.ads
+++ b/gcc/ada/opt.ads
@@ -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;
diff --git a/gcc/ada/par-prag.adb b/gcc/ada/par-prag.adb
index 265f187..120aab5 100644
--- a/gcc/ada/par-prag.adb
+++ b/gcc/ada/par-prag.adb
@@ -1449,7 +1449,6 @@ begin
| Pragma_Partition_Elaboration_Policy
| Pragma_Passive
| Pragma_Persistent_BSS
- | Pragma_Polling
| Pragma_Post
| Pragma_Post_Class
| Pragma_Postcondition
diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb
index 7442da1..52e0e89 100644
--- a/gcc/ada/sem_prag.adb
+++ b/gcc/ada/sem_prag.adb
@@ -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,
diff --git a/gcc/ada/snames.ads-tmpl b/gcc/ada/snames.ads-tmpl
index b15d220..fa5134f 100644
--- a/gcc/ada/snames.ads-tmpl
+++ b/gcc/ada/snames.ads-tmpl
@@ -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,
diff --git a/gcc/ada/switch-c.adb b/gcc/ada/switch-c.adb
index c5f2e1c..1816808 100644
--- a/gcc/ada/switch-c.adb
+++ b/gcc/ada/switch-c.adb
@@ -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' =>
diff --git a/gcc/ada/targparm.adb b/gcc/ada/targparm.adb
index 9e15710..0be05ae 100644
--- a/gcc/ada/targparm.adb
+++ b/gcc/ada/targparm.adb
@@ -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
diff --git a/gcc/ada/targparm.ads b/gcc/ada/targparm.ads
index 7f98a1d..60b2367 100644
--- a/gcc/ada/targparm.ads
+++ b/gcc/ada/targparm.ads
@@ -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.
diff --git a/gcc/ada/usage.adb b/gcc/ada/usage.adb
index 2afd3fc..f986484 100644
--- a/gcc/ada/usage.adb
+++ b/gcc/ada/usage.adb
@@ -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");