[Ada] Remove support for -gnatP and pragma Polling
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.
This commit is contained in:
parent
5540812a4d
commit
2341c8a96d
@ -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 \
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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`
|
||||
|
||||
@ -1445,7 +1445,6 @@ recognized by GNAT::
|
||||
Overriding_Renamings
|
||||
Partition_Elaboration_Policy
|
||||
Persistent_BSS
|
||||
Polling
|
||||
Prefix_Exception_Messages
|
||||
Priority_Specific_Dispatching
|
||||
Profile
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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);
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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 --
|
||||
---------------------------------
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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);
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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)
|
||||
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
------------------
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
-----------------
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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
|
||||
|
||||
--------------------
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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).
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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 ???
|
||||
|
||||
|
||||
@ -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 --
|
||||
--------------------------
|
||||
|
||||
@ -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 --
|
||||
--------------------------
|
||||
|
||||
@ -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;
|
||||
@ -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;
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -1449,7 +1449,6 @@ begin
|
||||
| Pragma_Partition_Elaboration_Policy
|
||||
| Pragma_Passive
|
||||
| Pragma_Persistent_BSS
|
||||
| Pragma_Polling
|
||||
| Pragma_Post
|
||||
| Pragma_Post_Class
|
||||
| Pragma_Postcondition
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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' =>
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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");
|
||||
|
||||
Loading…
Reference in New Issue
Block a user